mirror of
https://github.com/php/php-src.git
synced 2024-11-24 02:15:04 +08:00
196 lines
4.9 KiB
Plaintext
196 lines
4.9 KiB
Plaintext
dnl $Id$
|
|
dnl Process this file with autoconf to produce a configure script.
|
|
|
|
AC_INIT(zend.c)
|
|
AM_INIT_AUTOMAKE(zend, 0.80A)
|
|
AM_CONFIG_HEADER(zend_config.h)
|
|
AM_SANITY_CHECK
|
|
AM_MAINTAINER_MODE
|
|
ZEND_VERSION=$VERSION
|
|
|
|
dnl We want this one before the checks, so the checks can modify CFLAGS.
|
|
test -z "$CFLAGS" && auto_cflags=1
|
|
|
|
dnl Checks for programs.
|
|
AC_PROG_YACC
|
|
if test "$YACC" != "bison -y"; then
|
|
AC_MSG_WARN(You will need bison if you want to regenerate the Zend parser.)
|
|
else
|
|
AC_MSG_CHECKING(bison version)
|
|
set `bison --version| sed -e 's/^GNU Bison version //' -e 's/\./ /'`
|
|
if test "$1" = "1" -a "$2" -lt "25"; then
|
|
AC_MSG_WARN(You will need bison 1.25 if you want to regenerate the Zend parser (found $1.$2).)
|
|
fi
|
|
AC_MSG_RESULT($1.$2 (ok))
|
|
fi
|
|
AC_PROG_CC
|
|
if test "$enable_thread_safety" = "yes" ; then
|
|
AC_PROG_CXX
|
|
fi
|
|
AC_PROG_RANLIB
|
|
AC_PROG_CC_C_O
|
|
AM_PROG_LEX
|
|
|
|
AM_PROG_CC_STDC
|
|
AC_C_INLINE
|
|
|
|
dnl Hack to work around a Mac OS X cpp problem
|
|
dnl Known versions needing this workaround are 5.3 and 5.4
|
|
if test "$ac_cv_prog_gcc" = "yes" -a "`uname -s`" = "Rhapsody"; then
|
|
CPPFLAGS="$CPPFLAGS -traditional-cpp"
|
|
fi
|
|
|
|
dnl Ugly hack to get around a problem with gcc on AIX.
|
|
if test "$CC" = "gcc" -a "$ac_cv_prog_cc_g" = "yes" -a \
|
|
"`uname -sv`" = "AIX 4"; then
|
|
CFLAGS=`echo $CFLAGS | sed -e 's/-g//'`
|
|
fi
|
|
|
|
dnl
|
|
dnl Check for /usr/pkg/{lib,include} which is where NetBSD puts binary
|
|
dnl and source packages. This should be harmless on other OSs.
|
|
dnl
|
|
if test -d /usr/pkg/include -a -d /usr/pkg/lib ; then
|
|
CFLAGS="$CFLAGS -I/usr/pkg/include"
|
|
LDFLAGS="$LDFLAGS -L/usr/pkg/lib"
|
|
fi
|
|
|
|
AC_CHECK_LIB(c, dlopen, [
|
|
# fake it
|
|
AC_DEFINE(HAVE_LIBDL) ], [
|
|
AC_CHECK_LIB(dl, dlopen, [
|
|
LIBS="-ldl $LIBS"
|
|
AC_DEFINE(HAVE_LIBDL) ], []) ])
|
|
|
|
dnl Checks for header files.
|
|
AC_HEADER_STDC
|
|
|
|
dnl QNX requires unix.h to allow functions in libunix to work properly
|
|
AC_CHECK_HEADERS(limits.h malloc.h string.h unistd.h stdarg.h sys/types.h signal.h unix.h dlfcn.h)
|
|
|
|
if test "$enable_thread_safety" = "yes" ; then
|
|
dnl C++ specific header files
|
|
AC_LANG_CPLUSPLUS
|
|
AC_CHECK_HEADER(stdiostream.h, [ AC_DEFINE(HAVE_STDIOSTREAM_H) ])
|
|
AC_LANG_C
|
|
fi
|
|
|
|
dnl Checks for types
|
|
AC_TYPE_SIZE_T
|
|
AC_TYPE_SIGNAL
|
|
|
|
dnl This is required for QNX and may be some BSD derived systems
|
|
AC_CHECK_TYPE( uint, unsigned int )
|
|
AC_CHECK_TYPE( ulong, unsigned long )
|
|
|
|
dnl Checks for library functions.
|
|
AC_FUNC_VPRINTF
|
|
AC_FUNC_MEMCMP
|
|
AC_FUNC_ALLOCA
|
|
AC_CHECK_FUNCS(memcpy strdup getpid kill strtod strtol)
|
|
AC_ZEND_BROKEN_SPRINTF
|
|
|
|
AC_MSG_CHECKING(whether to include debugging symbols)
|
|
AC_ARG_ENABLE(debug,
|
|
[ --disable-debug Compile without debugging symbols],
|
|
[
|
|
if test "$enableval" = "yes"; then
|
|
AC_MSG_RESULT(yes)
|
|
AC_DEFINE(ZEND_DEBUG,1)
|
|
DEBUG_CFLAGS="-g"
|
|
test -n "$GCC" && DEBUG_CFLAGS="$DEBUG_CFLAGS -Wall"
|
|
test -n "$GCC" && test "$USE_MAINTAINER_MODE" = "yes" && \
|
|
DEBUG_CFLAGS="$DEBUG_CFLAGS -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations"
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
AC_DEFINE(ZEND_DEBUG,0)
|
|
DEBUG_CFLAGS=""
|
|
fi
|
|
],[
|
|
AC_MSG_RESULT(yes)
|
|
AC_DEFINE(ZEND_DEBUG,1)
|
|
DEBUG_CFLAGS="-g"
|
|
])
|
|
AC_SUBST(DEBUG_CFLAGS)
|
|
CFLAGS="$CFLAGS $DEBUG_CFLAGS"
|
|
|
|
AC_MSG_CHECKING(whether to enable a memory limit)
|
|
AC_ARG_ENABLE(memory-limit,
|
|
[ --enable-memory-limit Compile with memory limit support. ],
|
|
[
|
|
if test "$enableval" = "yes"; then
|
|
AC_DEFINE(MEMORY_LIMIT, 1)
|
|
AC_MSG_RESULT(yes)
|
|
else
|
|
AC_DEFINE(MEMORY_LIMIT, 0)
|
|
AC_MSG_RESULT(no)
|
|
fi
|
|
],[
|
|
AC_DEFINE(MEMORY_LIMIT, 0)
|
|
AC_MSG_RESULT(no)
|
|
])
|
|
|
|
|
|
dnl Sigh. This will probably break automake's automatic dependencies..
|
|
AC_MSG_CHECKING(whether to build Zend thread-safe)
|
|
AC_ARG_ENABLE(thread-safety,
|
|
[ --enable-thread-safety Whether to build Zend thread-safe.],[
|
|
if test "$enableval" = "yes"; then
|
|
AC_DEFINE(ZTS)
|
|
ZEND_SCANNER_SRC=zend-scanner.cc
|
|
ZEND_SCANNER_COMPILE='$(CXXCOMPILE) -c $< -o $@'
|
|
CPPFLAGS="$CPPFLAGS -I../TSRM"
|
|
AC_MSG_RESULT(yes)
|
|
else
|
|
ZEND_SCANNER_SRC=zend-scanner.c
|
|
ZEND_SCANNER_COMPILE='$(COMPILE) -c $<'
|
|
AC_MSG_RESULT(no)
|
|
fi
|
|
],[
|
|
ZEND_SCANNER_SRC=zend-scanner.c
|
|
ZEND_SCANNER_COMPILE='$(COMPILE) -c $<'
|
|
AC_MSG_RESULT(no)
|
|
])
|
|
AC_SUBST(TSRM_DIR)
|
|
AC_SUBST(TSRM_LIB)
|
|
AC_SUBST(ZEND_SCANNER_SRC)
|
|
AC_SUBST(ZEND_SCANNER_COMPILE)
|
|
|
|
if test "$enable_thread_safety" = "yes" ; then
|
|
AC_CHECK_LIB(C, cin)
|
|
AC_CHECK_LIB(g++, cin)
|
|
AC_CHECK_LIB(stdc++, cin)
|
|
|
|
AC_LANG_SAVE
|
|
AC_LANG_CPLUSPLUS
|
|
AC_MSG_CHECKING(for class istdiostream)
|
|
AC_TRY_COMPILE([
|
|
#include <sys/types.h>
|
|
#include <unistd.h>
|
|
#include <fstream.h>
|
|
#include <stdiostream.h>
|
|
],[
|
|
istdiostream *foo = new istdiostream((FILE *) 0);
|
|
],[
|
|
AC_DEFINE(HAVE_CLASS_ISTDIOSTREAM, 1)
|
|
AC_MSG_RESULT(yes)
|
|
],[
|
|
AC_MSG_RESULT(no)
|
|
])
|
|
AC_LANG_RESTORE
|
|
|
|
fi
|
|
|
|
AC_SUBST(CXXFLAGS)
|
|
|
|
AC_SUBST(CFLAGS_SHLIB)
|
|
AC_SUBST(LDFLAGS_SHLIB)
|
|
AC_SUBST(LDFLAGS_SHLIB_EXPORT)
|
|
|
|
AC_OUTPUT(Makefile zend_config)
|
|
AC_OUTPUT_COMMANDS([chmod +x zend_config])
|
|
|
|
# Local Variables:
|
|
# tab-width: 4
|
|
# End:
|