fixed a compile problem with glibc<=2.1.1 (#7327, #7892)

# zlib.c still produces a warning, perhaps i should move
# the fopen wrapper to a seperate file to get things right
# but i think i will wait for the autoconf book to arrive
This commit is contained in:
Hartmut Holzgraefe 2000-11-20 21:36:38 +00:00
parent b2c957d4b1
commit 67bb9d1ae2
2 changed files with 41 additions and 2 deletions

View File

@ -42,5 +42,43 @@ if test "$PHP_ZLIB" != "no"; then
AC_ADD_INCLUDE($ZLIB_INCDIR)
AC_CHECK_FUNC(fopencookie, [AC_DEFINE(HAVE_FOPENCOOKIE,1,[ ])])
dnl check for fopencookie() from glibc
AC_CHECK_FUNC(fopencookie, [ have_glibc_fopencookie=yes ])
if test "$have_glibc_fopencookie" = "yes" ; then
dnl this comes in two flavors:
dnl newer glibcs (since 2.1.2 ? )
dnl have a type called cookie_io_functions_t
AC_TRY_COMPILE([ #define _GNU_SOURCE
#include <stdio.h>
],
[ cookie_io_functions_t cookie; ],
[ have_cookie_io_functions_t=yes ],
[ ] )
if test "$have_cookie_io_functions_t" = "yes" ; then
cookie_io_functions_t=cookie_io_functions_t
have_fopen_cookie=yes
else
dnl older glibc versions (up to 2.1.2 ?)
dnl call it _IO_cookie_io_functions_t
AC_TRY_COMPILE([ #define _GNU_SOURCE
#include <stdio.h>
],
[ _IO_cookie_io_functions_t cookie; ],
[ have_IO_cookie_io_functions_t=yes ],
[] )
if test "$have_cookie_io_functions_t" = "yes" ; then
cookie_io_functions_t=_IO_cookie_io_functions_t
have_fopen_cookie=yes
fi
fi
if test "$have_fopen_cookie" = "yes" ; then
AC_DEFINE(HAVE_FOPENCOOKIE, 1, [ ])
AC_DEFINE_UNQUOTED(COOKIE_IO_FUNCTIONS_T, $cookie_io_functions_t, [ ])
fi
fi
fi

View File

@ -967,7 +967,8 @@ static int gz_closer(void *cookie) {
}
static cookie_io_functions_t gz_cookie_functions =
static COOKIE_IO_FUNCTIONS_T gz_cookie_functions =
{ gz_reader
, gz_writer
, gz_seeker