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_CC_C_O AM_PROG_LEX AM_PROG_LIBTOOL if test "$enable_debug" != "yes"; then AM_SET_LIBTOOL_VARIABLE([--silent]) fi 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" RESULT=yes AC_MSG_CHECKING(whether to enable inline) AC_ARG_ENABLE(inline, [ --disable-inline Disable the inline specifier], [ if test "$enableval" = "no"; then RESULT=no fi ]) AC_MSG_RESULT($RESULT) if test "$RESULT" = "yes"; then AC_C_INLINE else AC_DEFINE(inline, []) fi 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) ]) ZEND_SCANNER_TYPE=c 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_TYPE=cc CPPFLAGS="$CPPFLAGS -I../TSRM" AC_MSG_RESULT(yes) else AC_MSG_RESULT(no) fi ],[ AC_MSG_RESULT(no) ]) AC_SUBST(TSRM_DIR) AC_SUBST(TSRM_LIB) ZEND_SCANNER="libzend_${ZEND_SCANNER_TYPE}.la" AC_SUBST(ZEND_SCANNER) if test "$enable_thread_safety" = "yes" ; then AC_CHECK_LIB(C, cin) AC_CHECK_LIB(g++, cin) AC_CHECK_LIB(stdc++, cin) dnl Digital Unix 4.0 AC_CHECK_LIB(cxx, cin) AC_CHECK_LIB(cxxstd, __array_delete) AC_LANG_SAVE AC_LANG_CPLUSPLUS AC_MSG_CHECKING(for class istdiostream) AC_TRY_COMPILE([ #include #include #include #include ],[ istdiostream *foo = new istdiostream((FILE *) 0); ],[ AC_DEFINE(HAVE_CLASS_ISTDIOSTREAM, 1) AC_MSG_RESULT(yes) ],[ AC_MSG_RESULT(no) ]) AC_LANG_RESTORE fi EXTRA_LIBS="$LIBS" LIBS="" AC_SUBST(EXTRA_LIBS) AC_OUTPUT(Makefile) # Local Variables: # tab-width: 4 # End: