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 e72c9fec17
commit b1dd3535d5
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-*-
## Copyright (C) 1996-1999 Free Software Foundation, Inc.
## 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'
else
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
for ac_func in memcpy memmove
do
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
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 1682 "configure"
#line 1746 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
@ -1701,7 +1765,7 @@ $ac_func();
; return 0; }
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*
eval "ac_cv_func_$ac_func=yes"
else
@ -1798,7 +1862,7 @@ fi
# Extract the first word of "ranlib", so it can be a program name with args.
set dummy ranlib; ac_word=$2
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
echo $ac_n "(cached) $ac_c" 1>&6
else
@ -1837,7 +1901,7 @@ ac_prog=ld
if test "$ac_cv_prog_gcc" = yes; then
# Check if gcc -print-prog-name=ld gives a path.
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`
case "$ac_prog" in
# Accept absolute paths.
@ -1861,10 +1925,10 @@ echo "configure:1841: checking for ld used by GCC" >&5
esac
elif test "$with_gnu_ld" = yes; then
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
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
if eval "test \"`echo '$''{'ac_cv_path_LD'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@ -1899,7 +1963,7 @@ else
fi
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 "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
echo $ac_n "(cached) $ac_c" 1>&6
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 "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
echo $ac_n "(cached) $ac_c" 1>&6
else
@ -1951,7 +2015,7 @@ NM="$ac_cv_path_NM"
echo "$ac_t""$NM" 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
echo $ac_n "(cached) $ac_c" 1>&6
else
@ -2000,8 +2064,8 @@ test x"$silent" = xyes && libtool_flags="$libtool_flags --silent"
case "$lt_target" in
*-*-irix6*)
# Find out which ABI we are using.
echo '#line 2004 "configure"' > conftest.$ac_ext
if { (eval echo configure:2005: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
echo '#line 2068 "configure"' > conftest.$ac_ext
if { (eval echo configure:2069: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
case "`/usr/bin/file conftest.o`" in
*32-bit*)
LD="${LD-ld} -32"
@ -2022,19 +2086,19 @@ case "$lt_target" in
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -belf"
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
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 2031 "configure"
#line 2095 "configure"
#include "confdefs.h"
int main() {
; return 0; }
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*
lt_cv_cc_needs_belf=yes
else

View File

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

View File

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

View File

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

View File

@ -126,7 +126,8 @@
else
{
/* 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 */
(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 */
error = t2_new_cff_index( &font->name_index, stream, 0 ) ||

View File

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

View File

@ -434,7 +434,9 @@
size = *length;
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:
return error;
@ -941,7 +943,8 @@
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 );
if ( upper > storageSize )

View File

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

View File

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

View File

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