]> granicus.if.org Git - php/commitdiff
Move config code into separate file
authorSascha Schumann <sas@php.net>
Fri, 17 Dec 1999 13:36:15 +0000 (13:36 +0000)
committerSascha Schumann <sas@php.net>
Fri, 17 Dec 1999 13:36:15 +0000 (13:36 +0000)
TSRM/configure.in
TSRM/tsrm.m4 [new file with mode: 0644]
Zend/Makefile.am
Zend/acinclude.m4
Zend/configure.in
Zend/libzend.m4 [new file with mode: 0644]

index ded8166948c101670119fd09ad900f4692325058..43171d8f5d5d7c90c9bf36a832a847b7ce59955b 100644 (file)
@@ -7,27 +7,15 @@ AC_INIT(TSRM.c)
 AM_INIT_AUTOMAKE(TSRM, 1.0)
 AM_CONFIG_HEADER(tsrm_config.h)
 
-AC_PROG_CC
-AM_PROG_CC_STDC
-AC_PROG_CC_C_O
-AC_PROG_RANLIB
-
+sinclude(tsrm.m4)
+       
+TSRM_BASIC_CHECKS
+       
 AM_PROG_LIBTOOL
 if test "$enable_debug" != "yes"; then
   AM_SET_LIBTOOL_VARIABLE([--silent])
 fi
 
-AC_CHECK_LIB(c_r, pthread_kill)
-AC_CHECK_LIB(pthread, pthread_kill)
-
-AC_CHECK_FUNCS(pthread_kill)
-
-if test "$ac_cv_func_pthread_kill" != "yes"; then
-  AC_MSG_ERROR(You need pthreads to build TSRM.)
-fi
-
-AC_DEFINE(PTHREADS)
-
-AC_CHECK_HEADERS(stdarg.h)
+TSRM_PTHREAD
 
 AC_OUTPUT(Makefile)
diff --git a/TSRM/tsrm.m4 b/TSRM/tsrm.m4
new file mode 100644 (file)
index 0000000..352b465
--- /dev/null
@@ -0,0 +1,25 @@
+
+AC_DEFUN(TSRM_BASIC_CHECKS,[
+
+AC_REQUIRE([AC_PROG_CC])dnl
+dnl AC_REQUIRE([AM_PROG_CC_STDC])dnl
+AC_REQUIRE([AC_PROG_CC_C_O])dnl
+AC_REQUIRE([AC_PROG_RANLIB])dnl
+
+AC_CHECK_HEADERS(stdarg.h)
+
+])
+
+AC_DEFUN(TSRM_PTHREAD,[
+
+AC_CHECK_LIB(c_r, pthread_kill)
+AC_CHECK_LIB(pthread, pthread_kill)
+
+AC_CHECK_FUNCS(pthread_kill)
+
+if test "$ac_cv_func_pthread_kill" != "yes"; then
+  AC_MSG_ERROR(You need pthreads to build TSRM.)
+fi
+
+AC_DEFINE(PTHREADS, [], Whether to use Pthreads)
+])
index 3a0c97071470a2c0171950c319ebe6cbb8e97b81..0db31fe826f87a81a17d16c98fa5cbb556ca3a61 100644 (file)
@@ -2,7 +2,7 @@
 
 #CLEANFILES = zend-parser.c zend-parser.h zend-scanner.c zend-parser.output 
 
-ZEND_SCANNER = @ZEND_SCANNER@
+ZEND_SCANNER = libzend_$(ZEND_SCANNER_TYPE).la
 
 AUTOMAKE_OPTIONS=foreign
 EXTRA_LTLIBRARIES=libzend_cc.la libzend_c.la
index 3202fc7207b293a6c7e222e7227e2df82de262b2..558f1605afd902f8239d418d961fd997c74b58ec 100644 (file)
@@ -8,15 +8,16 @@ dnl
 AC_DEFUN(AC_ZEND_BROKEN_SPRINTF,[
   AC_MSG_CHECKING([for broken sprintf])
   AC_TRY_RUN([main() { char buf[20]; exit (sprintf(buf,"testing 123")!=11); }],[
-    AC_DEFINE(ZEND_BROKEN_SPRINTF,0)
+    broken=0
     AC_MSG_RESULT(ok)
   ],[
-    AC_DEFINE(ZEND_BROKEN_SPRINTF,1)
+    broken=1
     AC_MSG_RESULT(broken)
   ],[
-    AC_DEFINE(ZEND_BROKEN_SPRINTF,0)
+    broken=0
     AC_MSG_RESULT(cannot check, guessing ok)
   ])
+  AC_DEFINE(ZEND_BROKEN_SPRINTF, $broken, [Whether sprintf is broken])
 ])
 
 AC_DEFUN(AM_SET_LIBTOOL_VARIABLE,[
index ad8b78a3707b3fd680caeb7adafb29e1181868d4..411659dfbdca98309128d25782acd6c523f4ea36 100644 (file)
@@ -6,48 +6,22 @@ AM_INIT_AUTOMAKE(zend, 0.80A)
 AM_CONFIG_HEADER(zend_config.h)
 AM_SANITY_CHECK
 AM_MAINTAINER_MODE
+AC_PROG_CC
+AM_PROG_LEX
+AM_PROG_CC_STDC
 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
+sinclude(libzend.m4)
+
+LIBZEND_BASIC_CHECKS
 
 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
@@ -58,147 +32,8 @@ if test -d /usr/pkg/include -a -d /usr/pkg/lib ; then
        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 <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
+LIBZEND_ENABLE_DEBUG
+LIBZEND_OTHER_CHECKS
 
 EXTRA_LIBS="$LIBS"
 LIBS=""
diff --git a/Zend/libzend.m4 b/Zend/libzend.m4
new file mode 100644 (file)
index 0000000..916f7e2
--- /dev/null
@@ -0,0 +1,210 @@
+
+AC_DEFUN(LIBZEND_BISON_CHECK,[
+
+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_DEFUN(LIBZEND_BASIC_CHECKS,[
+
+AC_REQUIRE([AC_PROG_YACC])
+AC_REQUIRE([AC_PROG_CC])
+AC_REQUIRE([AC_PROG_CC_C_O])
+AC_REQUIRE([AM_PROG_LEX])
+AC_REQUIRE([AC_C_INLINE])
+AC_REQUIRE([AC_HEADER_STDC])
+
+LIBZEND_BISON_CHECK
+
+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 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
+
+AC_CHECK_HEADERS(
+limits.h \
+malloc.h \
+string.h \
+unistd.h \
+stdarg.h \
+sys/types.h \
+signal.h \
+unix.h \
+dlfcn.h)
+
+AC_TYPE_SIZE_T
+AC_TYPE_SIGNAL
+
+AC_CHECK_LIB(c, dlopen, [
+ # fake it
+ AC_DEFINE(HAVE_LIBDL) ], [
+ AC_CHECK_LIB(dl, dlopen, [
+  LIBS="-ldl $LIBS"
+  AC_DEFINE(HAVE_LIBDL) ], []) ])
+
+
+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_SUBST(ZEND_SCANNER_TYPE)
+
+])
+
+
+
+
+
+AC_DEFUN(LIBZEND_ENABLE_DEBUG,[
+
+AC_ARG_ENABLE(debug,
+[  --disable-debug         Compile without debugging symbols],[
+  ZEND_DEBUG=$enableval
+],[
+  ZEND_DEBUG=yes
+])  
+
+])
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+AC_DEFUN(LIBZEND_OTHER_CHECKS,[
+
+AC_ARG_ENABLE(experimental-zts,
+[  --enable-experimental-zts   This will most likely break your build],[
+  ZEND_EXPERIMENTAL_ZTS=$enableval
+],[
+  ZEND_EXPERIMENTAL_ZTS=no
+])  
+               
+AC_ARG_ENABLE(inline,
+[  --disable-inline        Disable the inline specifier],[
+  ZEND_INLINE=$enableval
+],[
+  ZEND_INLINE=yes
+])
+
+AC_ARG_ENABLE(memory-limit,
+[  --enable-memory-limit   Compile with memory limit support. ], [
+  ZEND_MEMORY_LIMIT=$enableval
+],[
+  ZEND_MEMORY_LIMIT=no
+])
+
+AC_MSG_CHECKING(whether to enable experimental ZTS)
+AC_MSG_RESULT($ZEND_EXPERIMENTAL_ZTS)
+
+AC_MSG_CHECKING(whether to enable inline)
+AC_MSG_RESULT($ZEND_INLINE)
+
+AC_MSG_CHECKING(whether to enable a memory limit)
+AC_MSG_RESULT($ZEND_MEMORY_LIMIT)
+
+AC_MSG_CHECKING(whether to enable Zend debugging)
+AC_MSG_RESULT($ZEND_DEBUG)
+       
+if test "$ZEND_DEBUG" = "yes"; then
+  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_DEFINE(ZEND_DEBUG,0)
+fi
+
+test -n "$DEBUG_CFLAGS" && CFLAGS="$CFLAGS $DEBUG_CFLAGS"
+
+if test "$ZEND_EXPERIMENTAL_ZTS" = "yes"; then
+  AC_DEFINE(ZTS)
+  ZEND_SCANNER_TYPE=cc
+  CPPFLAGS="$CPPFLAGS -I../TSRM"
+  LIBZEND_CPLUSPLUS_CHECKS
+else
+  ZEND_SCANNER_TYPE=c
+fi  
+
+if test "$ZEND_MEMORY_LIMIT" = "yes"; then
+  AC_DEFINE(MEMORY_LIMIT, 1, [Memory limit])
+else
+  AC_DEFINE(MEMORY_LIMIT, 0, [Memory limit])
+fi
+
+if test "$ZEND_INLINE" != "yes"; then
+  AC_DEFINE(inline, [])
+fi
+
+
+])
+
+
+AC_DEFUN(LIBZEND_CPLUSPLUS_CHECKS,[
+
+dnl extra check to avoid C++ preprocessor testing if in non-ZTS mode
+               
+if test "$ZEND_EXPERIMENTAL_ZTS" = "yes"; then
+AC_PROG_CXX            
+AC_LANG_CPLUSPLUS
+AC_CHECK_HEADER(stdiostream.h, [ AC_DEFINE(HAVE_STDIOSTREAM_H, [], Whether you have stdiostream.h) ])
+
+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_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, [Whether you have class istdiostream])
+  AC_MSG_RESULT(yes)
+],[
+  AC_MSG_RESULT(no)
+])
+AC_LANG_C
+fi
+])
+