Added autoconf tests FT_MUNMAP_DECL and FT_MUNMAP_PARAM to fix some devils.

Updating unix/ftsystem.c accordingly.

More warning fixes.
This commit is contained in:
Werner Lemberg 2000-07-31 22:51:00 +00:00
parent ff0cedbb2f
commit 4ddddb4482
11 changed files with 166 additions and 59 deletions

View File

@ -1,3 +1,31 @@
## FreeType specific autoconf tests
AC_DEFUN(FT_MUNMAP_DECL,
[AC_MSG_CHECKING([whether munmap must be declared])
AC_CACHE_VAL(ft_cv_munmap_decl,
[AC_TRY_COMPILE([
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#include <sys/mman.h>],
[char *(*pfn) = (char *(*))munmap],
ft_cv_munmap_decl=no,
ft_cv_munmap_decl=yes)])
AC_MSG_RESULT($ft_cv_munmap_decl)
if test $ft_cv_munmap_decl = yes; then
AC_DEFINE(NEED_MUNMAP_DECL)
fi])
AC_DEFUN(FT_MUNMAP_PARAM,
[AC_MSG_CHECKING([for munmap's first parameter type])
AC_TRY_COMPILE([
#include <unistd.h>
#include <sys/mman.h>
int munmap(void *, size_t);],,
AC_MSG_RESULT([void *]);AC_DEFINE(MUNMAP_USES_VOIDP),
AC_MSG_RESULT([char *]))
])
## libtool.m4 - Configure libtool for the target system. -*-Shell-script-*- ## libtool.m4 - Configure libtool for the target system. -*-Shell-script-*-
## Copyright (C) 1996-1999 Free Software Foundation, Inc. ## Copyright (C) 1996-1999 Free Software Foundation, Inc.
## Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996 ## Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996

94
builds/unix/configure vendored
View File

@ -1667,18 +1667,82 @@ if test "$ac_cv_func_mmap_fixed_mapped" != yes; then
FTSYS_SRC='$(BASE_)ftsystem.c' FTSYS_SRC='$(BASE_)ftsystem.c'
else else
FTSYS_SRC='$(BUILD)/ftsystem.c' FTSYS_SRC='$(BUILD)/ftsystem.c'
echo $ac_n "checking whether munmap must be declared""... $ac_c" 1>&6
echo "configure:1673: checking whether munmap must be declared" >&5
if eval "test \"`echo '$''{'ft_cv_munmap_decl'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 1678 "configure"
#include "confdefs.h"
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#include <sys/mman.h>
int main() {
char *(*pfn) = (char *(*))munmap
; return 0; }
EOF
if { (eval echo configure:1689: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
ft_cv_munmap_decl=no
else
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
ft_cv_munmap_decl=yes
fi
rm -f conftest*
fi
echo "$ac_t""$ft_cv_munmap_decl" 1>&6
if test $ft_cv_munmap_decl = yes; then
cat >> confdefs.h <<\EOF
#define NEED_MUNMAP_DECL 1
EOF
fi
echo $ac_n "checking for munmap's first parameter type""... $ac_c" 1>&6
echo "configure:1709: checking for munmap's first parameter type" >&5
cat > conftest.$ac_ext <<EOF
#line 1711 "configure"
#include "confdefs.h"
#include <unistd.h>
#include <sys/mman.h>
int munmap(void *, size_t);
int main() {
; return 0; }
EOF
if { (eval echo configure:1721: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
rm -rf conftest*
echo "$ac_t""void *" 1>&6;cat >> confdefs.h <<\EOF
#define MUNMAP_USES_VOIDP 1
EOF
else
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
echo "$ac_t""char *" 1>&6
fi
rm -f conftest*
fi fi
for ac_func in memcpy memmove for ac_func in memcpy memmove
do do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
echo "configure:1677: checking for $ac_func" >&5 echo "configure:1741: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 1682 "configure" #line 1746 "configure"
#include "confdefs.h" #include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes, /* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */ which can conflict with char $ac_func(); below. */
@ -1701,7 +1765,7 @@ $ac_func();
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:1705: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then if { (eval echo configure:1769: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest* rm -rf conftest*
eval "ac_cv_func_$ac_func=yes" eval "ac_cv_func_$ac_func=yes"
else else
@ -1798,7 +1862,7 @@ fi
# Extract the first word of "ranlib", so it can be a program name with args. # Extract the first word of "ranlib", so it can be a program name with args.
set dummy ranlib; ac_word=$2 set dummy ranlib; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:1802: checking for $ac_word" >&5 echo "configure:1866: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
@ -1837,7 +1901,7 @@ ac_prog=ld
if test "$ac_cv_prog_gcc" = yes; then if test "$ac_cv_prog_gcc" = yes; then
# Check if gcc -print-prog-name=ld gives a path. # Check if gcc -print-prog-name=ld gives a path.
echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6 echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6
echo "configure:1841: checking for ld used by GCC" >&5 echo "configure:1905: checking for ld used by GCC" >&5
ac_prog=`($CC -print-prog-name=ld) 2>&5` ac_prog=`($CC -print-prog-name=ld) 2>&5`
case "$ac_prog" in case "$ac_prog" in
# Accept absolute paths. # Accept absolute paths.
@ -1861,10 +1925,10 @@ echo "configure:1841: checking for ld used by GCC" >&5
esac esac
elif test "$with_gnu_ld" = yes; then elif test "$with_gnu_ld" = yes; then
echo $ac_n "checking for GNU ld""... $ac_c" 1>&6 echo $ac_n "checking for GNU ld""... $ac_c" 1>&6
echo "configure:1865: checking for GNU ld" >&5 echo "configure:1929: checking for GNU ld" >&5
else else
echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6 echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6
echo "configure:1868: checking for non-GNU ld" >&5 echo "configure:1932: checking for non-GNU ld" >&5
fi fi
if eval "test \"`echo '$''{'ac_cv_path_LD'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_path_LD'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
@ -1899,7 +1963,7 @@ else
fi fi
test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; } test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; }
echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6 echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6
echo "configure:1903: checking if the linker ($LD) is GNU ld" >&5 echo "configure:1967: checking if the linker ($LD) is GNU ld" >&5
if eval "test \"`echo '$''{'ac_cv_prog_gnu_ld'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_prog_gnu_ld'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
@ -1915,7 +1979,7 @@ echo "$ac_t""$ac_cv_prog_gnu_ld" 1>&6
echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6 echo $ac_n "checking for BSD-compatible nm""... $ac_c" 1>&6
echo "configure:1919: checking for BSD-compatible nm" >&5 echo "configure:1983: checking for BSD-compatible nm" >&5
if eval "test \"`echo '$''{'ac_cv_path_NM'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_path_NM'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
@ -1951,7 +2015,7 @@ NM="$ac_cv_path_NM"
echo "$ac_t""$NM" 1>&6 echo "$ac_t""$NM" 1>&6
echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6
echo "configure:1955: checking whether ln -s works" >&5 echo "configure:2019: checking whether ln -s works" >&5
if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
@ -2000,8 +2064,8 @@ test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"
case "$lt_target" in case "$lt_target" in
*-*-irix6*) *-*-irix6*)
# Find out which ABI we are using. # Find out which ABI we are using.
echo '#line 2004 "configure"' > conftest.$ac_ext echo '#line 2068 "configure"' > conftest.$ac_ext
if { (eval echo configure:2005: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then if { (eval echo configure:2069: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
case "`/usr/bin/file conftest.o`" in case "`/usr/bin/file conftest.o`" in
*32-bit*) *32-bit*)
LD="${LD-ld} -32" LD="${LD-ld} -32"
@ -2022,19 +2086,19 @@ case "$lt_target" in
SAVE_CFLAGS="$CFLAGS" SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -belf" CFLAGS="$CFLAGS -belf"
echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6 echo $ac_n "checking whether the C compiler needs -belf""... $ac_c" 1>&6
echo "configure:2026: checking whether the C compiler needs -belf" >&5 echo "configure:2090: checking whether the C compiler needs -belf" >&5
if eval "test \"`echo '$''{'lt_cv_cc_needs_belf'+set}'`\" = set"; then if eval "test \"`echo '$''{'lt_cv_cc_needs_belf'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 2031 "configure" #line 2095 "configure"
#include "confdefs.h" #include "confdefs.h"
int main() { int main() {
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:2038: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then if { (eval echo configure:2102: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest* rm -rf conftest*
lt_cv_cc_needs_belf=yes lt_cv_cc_needs_belf=yes
else else

View File

@ -68,6 +68,9 @@ if test "$ac_cv_func_mmap_fixed_mapped" != yes; then
FTSYS_SRC='$(BASE_)ftsystem.c' FTSYS_SRC='$(BASE_)ftsystem.c'
else else
FTSYS_SRC='$(BUILD)/ftsystem.c' FTSYS_SRC='$(BUILD)/ftsystem.c'
FT_MUNMAP_DECL
FT_MUNMAP_PARAM
fi fi
AC_SUBST(FTSYS_SRC) AC_SUBST(FTSYS_SRC)

View File

@ -27,7 +27,7 @@
#include <string.h> #include <string.h>
/* memory-mapping includes and definitions */ /* memory-mapping includes and definitions */
#ifdef HAVE_UNISTD_H #ifdef HAVE_UNISTD_H
#include <unistd.h> #include <unistd.h>
#endif #endif
@ -37,17 +37,27 @@
#define MAP_FILE 0x00 #define MAP_FILE 0x00
#endif #endif
/*************************************************************************/ #ifdef MUNMAP_USES_VOIDP
/* */ #define MUNMAP_ARG_CAST void *
/* The prototype for munmap() is not provided on SunOS. This needs to */ #else
/* have a check added later to see if the GNU C library is being used. */ #define MUNMAP_ARG_CAST char *
/* If so, then this prototype is not needed. */
/* */
#if defined( __sun__ ) && !defined( SVR4 ) && !defined( __SVR4 )
extern int munmap( caddr_t addr,
int len );
#endif #endif
#ifdef NEED_MUNMAP_DECL
#ifdef __cplusplus
extern "C"
#else
extern
#endif
int munmap( char* addr,
int len );
#define MUNMAP_ARG_CAST char *
#endif /* NEED_DECLARATION_MUNMAP */
#include <sys/stat.h> #include <sys/stat.h>
#ifdef HAVE_FCNTL_H #ifdef HAVE_FCNTL_H
@ -182,7 +192,7 @@
static static
void ft_close_stream( FT_Stream stream ) void ft_close_stream( FT_Stream stream )
{ {
munmap ( stream->descriptor.pointer, stream->size ); munmap( (MUNMAP_ARG_CAST)stream->descriptor.pointer, stream->size );
stream->descriptor.pointer = NULL; stream->descriptor.pointer = NULL;
stream->size = 0; stream->size = 0;
@ -235,12 +245,12 @@
stream->size = stat_buf.st_size; stream->size = stat_buf.st_size;
stream->pos = 0; stream->pos = 0;
stream->base = (unsigned char*)mmap( NULL, stream->base = (unsigned char *)mmap( NULL,
stream->size, stream->size,
PROT_READ, PROT_READ,
MAP_FILE | MAP_PRIVATE, MAP_FILE | MAP_PRIVATE,
file, file,
0 ); 0 );
if ( (long)stream->base == -1 ) if ( (long)stream->base == -1 )
{ {

View File

@ -597,7 +597,6 @@
{ {
T2_Operator op; T2_Operator op;
FT_Byte v; FT_Byte v;
FT_Byte count;
/********************************************************************/ /********************************************************************/
@ -841,7 +840,7 @@
goto Syntax_Error; goto Syntax_Error;
/* check arguments */ /* check arguments */
req_args = count = t2_argument_counts[op]; req_args = t2_argument_counts[op];
if ( req_args & T2_COUNT_CHECK_WIDTH ) if ( req_args & T2_COUNT_CHECK_WIDTH )
{ {
args = stack; args = stack;
@ -1534,8 +1533,8 @@
case t2_op_roll: case t2_op_roll:
{ {
FT_Int count = (FT_Int)( args[0] >> 16 ); FT_Int count = (FT_Int)( args[0] >> 16 );
FT_Int index = (FT_Int)( args[1] >> 16 ); FT_Int index = (FT_Int)( args[1] >> 16 );
FT_TRACE4(( " roll" )); FT_TRACE4(( " roll" ));
@ -1551,8 +1550,8 @@
{ {
while ( index > 0 ) while ( index > 0 )
{ {
FT_Fixed tmp = args[count - 1]; FT_Fixed tmp = args[count - 1];
FT_Int i; FT_Int i;
for ( i = count - 2; i >= 0; i-- ) for ( i = count - 2; i >= 0; i-- )

View File

@ -126,7 +126,8 @@
else else
{ {
/* skip the data */ /* skip the data */
(void)FILE_Skip( data_size ); if ( FILE_Skip( data_size ) )
goto Exit;
} }
} }
@ -609,7 +610,8 @@
} }
/* skip the rest of the header */ /* skip the rest of the header */
(void)FILE_Skip( font->header_size - 4 ); if ( FILE_Skip( font->header_size - 4 ) )
goto Exit;
/* read the name, top dict, string and global subrs index */ /* read the name, top dict, string and global subrs index */
error = t2_new_cff_index( &font->name_index, stream, 0 ) || error = t2_new_cff_index( &font->name_index, stream, 0 ) ||

View File

@ -563,7 +563,6 @@
FT_Byte* qcount = (FT_Byte*)parser->object + FT_Byte* qcount = (FT_Byte*)parser->object +
field->count_offset; field->count_offset;
FT_Long val;
FT_Byte** data = parser->stack; FT_Byte** data = parser->stack;

View File

@ -434,7 +434,9 @@
size = *length; size = *length;
stream = face->root.stream; stream = face->root.stream;
(void)FILE_Read_At( offset, buffer, size ); /* the `if' is syntactic sugar for picky compilers */
if ( FILE_Read_At( offset, buffer, size ) )
;
Exit: Exit:
return error; return error;
@ -941,7 +943,8 @@
FT_ULong upper; FT_ULong upper;
(void)READ_Fields( name_record_fields, cur ); if ( READ_Fields( name_record_fields, cur ) )
break;
upper = (FT_ULong)( cur->stringOffset + cur->stringLength ); upper = (FT_ULong)( cur->stringOffset + cur->stringLength );
if ( upper > storageSize ) if ( upper > storageSize )

View File

@ -503,12 +503,11 @@
while ( count > 0 ) while ( count > 0 )
{ {
(void)READ_Fields( strike_start_fields, strike ); if ( READ_Fields( strike_start_fields, strike ) ||
READ_Fields( sbit_line_metrics_fields, &strike->hori ) ||
(void)READ_Fields( sbit_line_metrics_fields, &strike->hori ); READ_Fields( sbit_line_metrics_fields, &strike->vert ) ||
(void)READ_Fields( sbit_line_metrics_fields, &strike->vert ); READ_Fields( strike_end_fields, strike ) )
break;
(void)READ_Fields( strike_end_fields, strike );
count--; count--;
strike++; strike++;
@ -884,7 +883,8 @@
case 7: case 7:
case 9: case 9:
/* variable big metrics */ /* variable big metrics */
(void)READ_Fields( sbit_metrics_fields, metrics ); if ( READ_Fields( sbit_metrics_fields, metrics ) )
goto Exit;
break; break;
case 5: case 5:

View File

@ -576,13 +576,13 @@
/* count the number of map points */ /* count the number of map points */
{ {
FT_Byte* p = token->start; FT_Byte* ptr = token->start;
FT_Byte* limit = token->limit; FT_Byte* limit = token->limit;
num_points = 0; num_points = 0;
for ( ; p < limit; p++ ) for ( ; ptr < limit; ptr++ )
if ( p[0] == '[' ) if ( ptr[0] == '[' )
num_points++; num_points++;
} }
if ( num_points <= 0 || num_points > T1_MAX_MM_MAP_POINTS ) if ( num_points <= 0 || num_points > T1_MAX_MM_MAP_POINTS )
@ -1692,7 +1692,7 @@
for ( ; charcode < loader.encoding_table.num_elems; charcode++ ) for ( ; charcode < loader.encoding_table.num_elems; charcode++ )
{ {
type1->encoding.char_index[charcode] = 0; type1->encoding.char_index[charcode] = 0;
type1->encoding.char_name [charcode] = ".notdef"; type1->encoding.char_name [charcode] = (char *)".notdef";
char_name = loader.encoding_table.elements[charcode]; char_name = loader.encoding_table.elements[charcode];
if ( char_name ) if ( char_name )

View File

@ -347,7 +347,6 @@
if ( error ) if ( error )
{ {
/* this didn't work, now try to load a single FNT font */ /* this didn't work, now try to load a single FNT font */
FT_Memory memory = FT_FACE_MEMORY( face );
FNT_Font* font; FNT_Font* font;
if ( ALLOC( face->fonts, sizeof ( *face->fonts ) ) ) if ( ALLOC( face->fonts, sizeof ( *face->fonts ) ) )
@ -423,17 +422,17 @@
root->family_name = (FT_String*)fonts->fnt_frame + root->family_name = (FT_String*)fonts->fnt_frame +
fonts->header.face_name_offset; fonts->header.face_name_offset;
root->style_name = "Regular"; root->style_name = (char *)"Regular";
if ( root->style_flags & FT_STYLE_FLAG_BOLD ) if ( root->style_flags & FT_STYLE_FLAG_BOLD )
{ {
if ( root->style_flags & FT_STYLE_FLAG_ITALIC ) if ( root->style_flags & FT_STYLE_FLAG_ITALIC )
root->style_name = "Bold Italic"; root->style_name = (char *)"Bold Italic";
else else
root->style_name = "Bold"; root->style_name = (char *)"Bold";
} }
else if ( root->style_flags & FT_STYLE_FLAG_ITALIC ) else if ( root->style_flags & FT_STYLE_FLAG_ITALIC )
root->style_name = "Italic"; root->style_name = (char *)"Italic";
} }
Fail: Fail: