summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac1650
1 files changed, 1650 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
new file mode 100644
index 0000000000..5584a4f43a
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,1650 @@
+## $Id$ -*- autoconf -*-
+dnl ## Process this file with autoconf to produce a configure script.
+
+dnl include Zend specific macro definitions first
+dnl -------------------------------------------------------------------------
+sinclude(Zend/acinclude.m4)
+
+dnl Basic autoconf + automake initialization, generation of config.nice.
+dnl -------------------------------------------------------------------------
+
+AC_PREREQ(2.59)
+AC_INIT(README.GIT-RULES)
+ifdef([AC_PRESERVE_HELP_ORDER], [AC_PRESERVE_HELP_ORDER], [])
+
+PHP_CONFIG_NICE(config.nice)
+
+PHP_CANONICAL_HOST_TARGET
+
+AC_CONFIG_HEADER(main/php_config.h)
+AH_TOP([
+#if defined(__GNUC__) && __GNUC__ >= 4
+# define ZEND_API __attribute__ ((visibility("default")))
+# define ZEND_DLEXPORT __attribute__ ((visibility("default")))
+#else
+# define ZEND_API
+# define ZEND_DLEXPORT
+#endif
+
+#define ZEND_DLIMPORT
+
+#undef uint
+#undef ulong
+
+/* Define if you want to enable memory limit support */
+#define MEMORY_LIMIT 0
+])
+AH_BOTTOM([
+#ifndef ZEND_ACCONFIG_H_NO_C_PROTOS
+
+#ifdef HAVE_STDLIB_H
+# include <stdlib.h>
+#endif
+
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+
+#ifdef HAVE_SYS_SELECT_H
+#include <sys/select.h>
+#endif
+
+#ifdef HAVE_IEEEFP_H
+# include <ieeefp.h>
+#endif
+
+#ifdef HAVE_STRING_H
+# include <string.h>
+#else
+# include <strings.h>
+#endif
+
+#if ZEND_BROKEN_SPRINTF
+int zend_sprintf(char *buffer, const char *format, ...);
+#else
+# define zend_sprintf sprintf
+#endif
+
+#include <math.h>
+
+#ifndef zend_isnan
+#ifdef HAVE_ISNAN
+#define zend_isnan(a) isnan(a)
+#elif defined(HAVE_FPCLASS)
+#define zend_isnan(a) ((fpclass(a) == FP_SNAN) || (fpclass(a) == FP_QNAN))
+#else
+#define zend_isnan(a) ((a) != (a))
+#endif
+#endif
+
+#ifdef HAVE_ISINF
+#define zend_isinf(a) isinf(a)
+#elif defined(INFINITY)
+/* Might not work, but is required by ISO C99 */
+#define zend_isinf(a) (((a)==INFINITY)?1:0)
+#elif defined(HAVE_FPCLASS)
+#define zend_isinf(a) ((fpclass(a) == FP_PINF) || (fpclass(a) == FP_NINF))
+#else
+#define zend_isinf(a) 0
+#endif
+
+#if defined(HAVE_ISFINITE) || defined(isfinite)
+#define zend_finite(a) isfinite(a)
+#elif defined(HAVE_FINITE)
+#define zend_finite(a) finite(a)
+#elif defined(fpclassify)
+#define zend_finite(a) ((fpclassify((a))!=FP_INFINITE&&fpclassify((a))!=FP_NAN)?1:0)
+#else
+#define zend_finite(a) (zend_isnan(a) ? 0 : zend_isinf(a) ? 0 : 1)
+#endif
+
+#endif /* ifndef ZEND_ACCONFIG_H_NO_C_PROTOS */
+
+#undef PTHREADS
+])
+
+PHP_MAJOR_VERSION=7
+PHP_MINOR_VERSION=2
+PHP_RELEASE_VERSION=0
+PHP_EXTRA_VERSION="-dev"
+PHP_VERSION="$PHP_MAJOR_VERSION.$PHP_MINOR_VERSION.$PHP_RELEASE_VERSION$PHP_EXTRA_VERSION"
+PHP_VERSION_ID=`expr [$]PHP_MAJOR_VERSION \* 10000 + [$]PHP_MINOR_VERSION \* 100 + [$]PHP_RELEASE_VERSION`
+
+dnl Allow version values to be used in Makefile
+PHP_SUBST(PHP_MAJOR_VERSION)
+PHP_SUBST(PHP_MINOR_VERSION)
+PHP_SUBST(PHP_RELEASE_VERSION)
+PHP_SUBST(PHP_EXTRA_VERSION)
+
+dnl Define where extension directories are located in the configure context
+AC_DEFUN([PHP_EXT_BUILDDIR],[$config_m4_dir])dnl
+AC_DEFUN([PHP_EXT_DIR],[$config_m4_dir])dnl
+AC_DEFUN([PHP_EXT_SRCDIR],[$abs_srcdir/$config_m4_dir])dnl
+AC_DEFUN([PHP_ALWAYS_SHARED],[])dnl
+
+dnl Setting up the PHP version based on the information above.
+dnl -------------------------------------------------------------------------
+
+echo "/* automatically generated by configure */" > php_version.h.new
+echo "/* edit configure.ac to change version number */" >> php_version.h.new
+echo "#define PHP_MAJOR_VERSION $PHP_MAJOR_VERSION" >> php_version.h.new
+echo "#define PHP_MINOR_VERSION $PHP_MINOR_VERSION" >> php_version.h.new
+echo "#define PHP_RELEASE_VERSION $PHP_RELEASE_VERSION" >> php_version.h.new
+echo "#define PHP_EXTRA_VERSION \"$PHP_EXTRA_VERSION\"" >> php_version.h.new
+echo "#define PHP_VERSION \"$PHP_VERSION\"" >> php_version.h.new
+echo "#define PHP_VERSION_ID $PHP_VERSION_ID" >> php_version.h.new
+cmp php_version.h.new $srcdir/main/php_version.h >/dev/null 2>&1
+if test $? -ne 0 ; then
+ rm -f $srcdir/main/php_version.h && mv php_version.h.new $srcdir/main/php_version.h && \
+ echo 'Updated main/php_version.h'
+else
+ rm -f php_version.h.new
+fi
+
+
+dnl Catch common errors here to save a few seconds of our users' time
+dnl -------------------------------------------------------------------------
+
+if test "$with_shared_apache" != "no" && test -n "$with_shared_apache" ; then
+ AC_MSG_ERROR([--with-shared-apache is not supported. Please refer to the documentation for using APXS])
+fi
+
+if test -n "$with_apache" && test -n "$with_apxs"; then
+ AC_MSG_ERROR([--with-apache and --with-apxs cannot be used together])
+fi
+
+if test -n "$with_apxs2filter" && test -n "$with_apxs2"; then
+ AC_MSG_ERROR([--with-apxs2filter and --with-apxs2 cannot be used together])
+fi
+
+
+dnl Settings we want to make before the checks.
+dnl -------------------------------------------------------------------------
+
+cwd=`pwd`
+
+php_shtool=$srcdir/build/shtool
+T_MD=`$php_shtool echo -n -e %B`
+T_ME=`$php_shtool echo -n -e %b`
+
+PHP_INIT_BUILD_SYSTEM
+
+dnl We want this one before the checks, so the checks can modify CFLAGS.
+test -z "$CFLAGS" && auto_cflags=1
+
+abs_srcdir=`(cd $srcdir; pwd)`
+abs_builddir=`pwd`
+
+php_abs_top_srcdir=$abs_srcdir
+php_abs_top_builddir=$abs_builddir
+
+dnl Because ``make install'' is often performed by the superuser,
+dnl we create the libs subdirectory as the user who configures PHP.
+dnl Otherwise, the current user will not be able to delete libs
+dnl or the contents of libs.
+
+$php_shtool mkdir -p libs
+rm -f libs/*
+
+dnl Checks for programs.
+dnl -------------------------------------------------------------------------
+
+AC_PROG_CC([cc gcc])
+PHP_DETECT_ICC
+PHP_DETECT_SUNCC
+AC_PROG_CC_C_O
+dnl Change to AC_PROG_CC_STDC when we start requiring a post-2.13 autoconf
+dnl AC_PROG_CC_STDC
+AC_PROG_CPP
+AC_AIX
+AC_PROG_LN_S
+
+dnl Support systems with system libraries in e.g. /usr/lib64
+PHP_ARG_WITH(libdir, for system library directory,
+[ --with-libdir=NAME Look for libraries in .../NAME rather than .../lib],lib,no)
+
+PHP_ARG_ENABLE(rpath, whether to enable runpaths,
+[ --disable-rpath Disable passing additional runtime library
+ search paths], yes, no)
+
+dnl check for -R, etc. switch
+PHP_RUNPATH_SWITCH
+
+dnl Checks for some support/generator progs
+PHP_PROG_AWK
+PHP_PROG_BISON
+PHP_PROG_RE2C
+
+dnl Check if bison generated files exist when bison does not..
+case $php_cv_bison_version in
+ ""|invalid[)]
+ if ! test -f "$abs_srcdir/Zend/zend_language_parser.h" || ! test -f "$abs_srcdir/Zend/zend_language_parser.c" ; then
+ AC_MSG_ERROR([bison is required to build PHP/Zend when building a GIT checkout!])
+ fi
+ ;;
+esac
+
+PHP_ARG_ENABLE(re2c-cgoto, whether to enable computed goto gcc extension with re2c,
+[ --enable-re2c-cgoto Enable -g flag to re2c to use computed goto gcc extension], no, no)
+
+if test "$PHP_RE2C_CGOTO" = "no"; then
+ RE2C_FLAGS=""
+else
+ AC_MSG_CHECKING([whether re2c -g works])
+ AC_TRY_COMPILE([],[
+int main(int argc, const char **argv)
+{
+ argc = argc;
+ argv = argv;
+label1:
+label2:
+ static void *adr[] = { &&label1, &&label2};
+ goto *adr[0];
+ return 0;
+}
+ ],[
+ RE2C_FLAGS=""
+ AC_MSG_RESULT([no])
+ ],[
+ RE2C_FLAGS="-g"
+ AC_MSG_RESULT([yes])
+ ])
+fi
+PHP_SUBST(RE2C_FLAGS)
+
+dnl Platform-specific compile settings.
+dnl -------------------------------------------------------------------------
+
+dnl See bug #28605
+case $host_cpu in
+ alpha*)
+ if test "$GCC" = "yes"; then
+ CFLAGS="$CFLAGS -mieee"
+ else
+ CFLAGS="$CFLAGS -ieee"
+ fi
+ ;;
+ sparc*)
+ if test "$SUNCC" = "yes"; then
+ CFLAGS="$CFLAGS -xmemalign=8s"
+ fi
+ ;;
+esac
+
+dnl Mark symbols hidden by default if the compiler (for example, gcc >= 4)
+dnl supports it. This can help reduce the binary size and startup time.
+AX_CHECK_COMPILE_FLAG([-fvisibility=hidden],
+ [CFLAGS="$CFLAGS -fvisibility=hidden"])
+
+case $host_alias in
+ *solaris*)
+ CPPFLAGS="$CPPFLAGS -D_POSIX_PTHREAD_SEMANTICS"
+ if test "${enable_libgcc+set}" != "set" && test "$GCC" = "yes"; then
+ enable_libgcc=yes
+ fi
+ ;;
+ *dgux*)
+ CPPFLAGS="$CPPFLAGS -D_BSD_TIMEOFDAY_FLAVOR"
+ ;;
+ *darwin*|*rhapsody*)
+ if test -n "$GCC"; then
+ PHP_CHECK_GCC_ARG(-no-cpp-precomp, gcc_no_cpp_precomp=yes)
+ if test "$gcc_no_cpp_precomp" = "yes"; then
+ CPPFLAGS="$CPPFLAGS -no-cpp-precomp"
+ fi
+ fi
+ php_multiple_shlib_versions_ok=yes
+ ;;
+ *beos*)
+ beos_threads=1
+ LIBS="$LIBS -lbe -lroot"
+ ;;
+ *mips*)
+ CPPFLAGS="$CPPFLAGS -D_XPG_IV"
+ ;;
+ *hpux*)
+ if test "$GCC" = "yes"; then
+ CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED"
+ fi
+ ;;
+esac
+
+# Disable PIC mode by default where it is known to be safe to do so,
+# to avoid the performance hit from the lost register
+AC_MSG_CHECKING([whether to force non-PIC code in shared modules])
+case $host_alias in
+ i?86-*-linux*|i?86-*-freebsd*)
+ if test "${with_pic+set}" != "set" || test "$with_pic" = "no"; then
+ with_pic=no
+ AC_MSG_RESULT(yes)
+ else
+ AC_MSG_RESULT(no)
+ fi
+ ;;
+ *)
+ AC_MSG_RESULT(no)
+ ;;
+esac
+
+
+dnl Include Zend and TSRM configurations.
+dnl -------------------------------------------------------------------------
+
+sinclude(Zend/Zend.m4)
+sinclude(TSRM/threads.m4)
+sinclude(TSRM/tsrm.m4)
+
+dnl .
+dnl -------------------------------------------------------------------------
+
+PTHREADS_CHECK
+PHP_HELP_SEPARATOR([SAPI modules:])
+PHP_SHLIB_SUFFIX_NAMES
+PHP_BUILD_PROGRAM
+PHP_SAPI=none
+
+
+dnl SAPI configuration.
+dnl -------------------------------------------------------------------------
+
+dnl paths to the targets are relative to the build directory
+SAPI_SHARED=libs/libphp[]$PHP_MAJOR_VERSION[.]$SHLIB_DL_SUFFIX_NAME
+SAPI_STATIC=libs/libphp[]$PHP_MAJOR_VERSION[.a]
+SAPI_LIBTOOL=libphp[]$PHP_MAJOR_VERSION[.la]
+
+PHP_CONFIGURE_PART(Configuring SAPI modules)
+
+esyscmd(./build/config-stubs sapi)
+
+dnl Show which main SAPI was selected
+AC_MSG_CHECKING([for chosen SAPI module])
+AC_MSG_RESULT([$PHP_SAPI])
+
+dnl Show which binaries were selected
+AC_MSG_CHECKING([for executable SAPI binaries])
+if test "$PHP_BINARIES"; then
+ AC_MSG_RESULT([$PHP_BINARIES])
+else
+ AC_MSG_RESULT([none])
+fi
+
+dnl Exit early
+if test -z "$PHP_INSTALLED_SAPIS"; then
+ AC_MSG_ERROR([Nothing to build.])
+fi
+
+dnl force ZTS
+if test "$enable_maintainer_zts" = "yes"; then
+ PTHREADS_ASSIGN_VARS
+ PTHREADS_FLAGS
+fi
+
+dnl Starting system checks.
+dnl -------------------------------------------------------------------------
+
+PHP_CONFIGURE_PART(Running system checks)
+
+dnl Find sendmail binary
+PHP_PROG_SENDMAIL
+
+dnl Check whether the system uses EBCDIC (not ASCII) as its native codeset
+PHP_EBCDIC
+
+dnl Check whether the system byte ordering is bigendian
+PHP_C_BIGENDIAN
+
+dnl Check whether writing to stdout works
+PHP_TEST_WRITE_STDOUT
+
+dnl Check for /usr/pkg/{lib,include} which is where NetBSD puts binary
+dnl and source packages. This should be harmless on other OSs.
+if test -d /usr/pkg/include -a -d /usr/pkg/lib ; then
+ CPPFLAGS="$CPPFLAGS -I/usr/pkg/include"
+ LDFLAGS="$LDFLAGS -L/usr/pkg/lib"
+fi
+test -d /usr/ucblib && PHP_ADD_LIBPATH(/usr/ucblib)
+
+
+dnl First, library checks.
+dnl -------------------------------------------------------------------------
+
+dnl Some systems (OpenServer 5) dislike -lsocket -lnsl, so we try
+dnl to avoid -lnsl checks, if we already have the functions which
+dnl are usually in libnsl
+dnl Also, uClibc will bark at linking with glibc's libnsl.
+
+PHP_CHECK_FUNC(socket, socket)
+PHP_CHECK_FUNC(socketpair, socket)
+PHP_CHECK_FUNC(htonl, socket)
+PHP_CHECK_FUNC(gethostname, nsl)
+PHP_CHECK_FUNC(gethostbyaddr, nsl)
+PHP_CHECK_FUNC(yp_get_default_domain, nsl)
+
+PHP_CHECK_FUNC(dlopen, dl)
+if test "$ac_cv_func_dlopen" = "yes"; then
+ AC_DEFINE(HAVE_LIBDL, 1, [ ])
+fi
+AC_CHECK_LIB(m, sin)
+
+dnl Check for inet_aton
+dnl in -lc, -lbind and -lresolv
+PHP_CHECK_FUNC(inet_aton, resolv, bind)
+
+dnl Then headers.
+dnl -------------------------------------------------------------------------
+
+dnl Checks for header files.
+AC_HEADER_STDC
+AC_HEADER_DIRENT
+
+dnl QNX requires unix.h to allow functions in libunix to work properly
+AC_CHECK_HEADERS([ \
+inttypes.h \
+stdint.h \
+dirent.h \
+ApplicationServices/ApplicationServices.h \
+sys/param.h \
+sys/types.h \
+sys/time.h \
+netinet/in.h \
+alloca.h \
+arpa/inet.h \
+arpa/nameser.h \
+assert.h \
+crypt.h \
+dns.h \
+fcntl.h \
+grp.h \
+ieeefp.h \
+langinfo.h \
+limits.h \
+locale.h \
+monetary.h \
+netdb.h \
+pwd.h \
+resolv.h \
+signal.h \
+stdarg.h \
+stdlib.h \
+string.h \
+syslog.h \
+sysexits.h \
+sys/ioctl.h \
+sys/file.h \
+sys/mman.h \
+sys/mount.h \
+sys/poll.h \
+sys/resource.h \
+sys/select.h \
+sys/socket.h \
+sys/stat.h \
+sys/statfs.h \
+sys/statvfs.h \
+sys/vfs.h \
+sys/sysexits.h \
+sys/varargs.h \
+sys/wait.h \
+sys/loadavg.h \
+termios.h \
+unistd.h \
+unix.h \
+utime.h \
+sys/utsname.h \
+sys/ipc.h \
+dlfcn.h \
+assert.h
+],[],[],[
+#ifdef HAVE_SYS_PARAM_H
+#include <sys/param.h>
+#endif
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+#ifdef HAVE_NETINET_IN_H
+#include <netinet/in.h>
+#endif
+#ifdef HAVE_ARPA_NAMESER_H
+#include <arpa/nameser.h>
+#endif
+])
+
+PHP_FOPENCOOKIE
+PHP_BROKEN_GETCWD
+PHP_BROKEN_GLIBC_FOPEN_APPEND
+
+dnl Checks for typedefs, structures, and compiler characteristics.
+dnl -------------------------------------------------------------------------
+
+AC_STRUCT_TM
+AC_STRUCT_TIMEZONE
+
+PHP_MISSING_TIME_R_DECL
+PHP_MISSING_FCLOSE_DECL
+
+PHP_TM_GMTOFF
+PHP_STRUCT_FLOCK
+PHP_SOCKLEN_T
+
+AC_CHECK_SIZEOF(size_t, 8)
+AC_CHECK_SIZEOF(long long, 8)
+AC_CHECK_SIZEOF(long long int, 8)
+AC_CHECK_SIZEOF(long, 8)
+AC_CHECK_SIZEOF(int, 4)
+
+dnl These are defined elsewhere than stdio.h
+PHP_CHECK_SIZEOF(intmax_t, 0)
+PHP_CHECK_SIZEOF(ssize_t, 8)
+PHP_CHECK_SIZEOF(ptrdiff_t, 8)
+
+dnl Check stdint types (must be after header check)
+PHP_CHECK_STDINT_TYPES
+
+dnl Check __builtin_expect
+PHP_CHECK_BUILTIN_EXPECT
+dnl Check __builtin_clz
+PHP_CHECK_BUILTIN_CLZ
+dnl Check __builtin_ctzl
+PHP_CHECK_BUILTIN_CTZL
+dnl Check __builtin_ctzll
+PHP_CHECK_BUILTIN_CTZLL
+dnl Check __builtin_smull_overflow
+PHP_CHECK_BUILTIN_SMULL_OVERFLOW
+dnl Check __builtin_smulll_overflow
+PHP_CHECK_BUILTIN_SMULLL_OVERFLOW
+dnl Check __builtin_saddl_overflow
+PHP_CHECK_BUILTIN_SADDL_OVERFLOW
+dnl Check __builtin_saddll_overflow
+PHP_CHECK_BUILTIN_SADDLL_OVERFLOW
+dnl Check __builtin_ssubl_overflow
+PHP_CHECK_BUILTIN_SSUBL_OVERFLOW
+dnl Check __builtin_ssubll_overflow
+PHP_CHECK_BUILTIN_SSUBLL_OVERFLOW
+
+dnl Check for members of the stat structure
+AC_STRUCT_ST_BLKSIZE
+dnl AC_STRUCT_ST_BLOCKS will screw QNX because fileblocks.o does not exists
+dnl The WARNING_LEVEL required because cc in QNX hates -w option without an argument
+if test "`uname -s 2>/dev/null`" != "QNX"; then
+ AC_STRUCT_ST_BLOCKS
+else
+ AC_MSG_WARN([warnings level for cc set to 0])
+ WARNING_LEVEL=0
+fi
+AC_STRUCT_ST_RDEV
+
+dnl Checks for types
+AC_TYPE_SIZE_T
+AC_TYPE_UID_T
+
+dnl Checks for sockaddr_storage and sockaddr.sa_len
+PHP_SOCKADDR_CHECKS
+
+dnl Check for IPv6 support
+AC_CACHE_CHECK([for IPv6 support], ac_cv_ipv6_support,
+[AC_TRY_LINK([ #include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>], [struct sockaddr_in6 s; struct in6_addr t=in6addr_any; int i=AF_INET6; s; t.s6_addr[0] = 0;],
+ [ac_cv_ipv6_support=yes], [ac_cv_ipv6_support=no])])
+
+dnl Checks for library functions.
+dnl -------------------------------------------------------------------------
+
+AC_FUNC_VPRINTF
+AC_CHECK_FUNCS(
+alphasort \
+asctime_r \
+chroot \
+ctime_r \
+cuserid \
+crypt \
+flock \
+ftok \
+funopen \
+gai_strerror \
+gcvt \
+getloadavg \
+getlogin \
+getprotobyname \
+getprotobynumber \
+getservbyname \
+getservbyport \
+gethostname \
+getrusage \
+gettimeofday \
+gmtime_r \
+getpwnam_r \
+getgrnam_r \
+getpwuid_r \
+grantpt \
+inet_ntoa \
+inet_ntop \
+inet_pton \
+isascii \
+link \
+localtime_r \
+lockf \
+lchown \
+lrand48 \
+memcpy \
+memmove \
+mkstemp \
+mmap \
+nl_langinfo \
+perror \
+poll \
+ptsname \
+putenv \
+realpath \
+random \
+rand_r \
+scandir \
+setitimer \
+setlocale \
+localeconv \
+setenv \
+setpgid \
+setsockopt \
+setvbuf \
+shutdown \
+sin \
+snprintf \
+srand48 \
+srandom \
+statfs \
+statvfs \
+std_syslog \
+strcasecmp \
+strcoll \
+strdup \
+strerror \
+strftime \
+strnlen \
+strptime \
+strstr \
+strtok_r \
+symlink \
+tempnam \
+tzset \
+unlockpt \
+unsetenv \
+usleep \
+utime \
+vsnprintf \
+vasprintf \
+asprintf \
+nanosleep \
+)
+
+dnl Some systems (like OpenSolaris) do not have nanosleep in libc
+PHP_CHECK_FUNC_LIB(nanosleep, rt)
+
+dnl Check for getaddrinfo, should be a better way, but...
+dnl Also check for working getaddrinfo
+AC_CACHE_CHECK([for getaddrinfo], ac_cv_func_getaddrinfo,
+[AC_TRY_LINK([#include <netdb.h>],
+ [struct addrinfo *g,h;g=&h;getaddrinfo("","",g,&g);],
+ AC_TRY_RUN([
+#include <netdb.h>
+#include <sys/types.h>
+#ifndef AF_INET
+# include <sys/socket.h>
+#endif
+int main(void) {
+ struct addrinfo *ai, *pai, hints;
+
+ memset(&hints, 0, sizeof(hints));
+ hints.ai_flags = AI_NUMERICHOST;
+
+ if (getaddrinfo("127.0.0.1", 0, &hints, &ai) < 0) {
+ exit(1);
+ }
+
+ if (ai == 0) {
+ exit(1);
+ }
+
+ pai = ai;
+
+ while (pai) {
+ if (pai->ai_family != AF_INET) {
+ /* 127.0.0.1/NUMERICHOST should only resolve ONE way */
+ exit(1);
+ }
+ if (pai->ai_addr->sa_family != AF_INET) {
+ /* 127.0.0.1/NUMERICHOST should only resolve ONE way */
+ exit(1);
+ }
+ pai = pai->ai_next;
+ }
+ freeaddrinfo(ai);
+ exit(0);
+}
+ ],ac_cv_func_getaddrinfo=yes, ac_cv_func_getaddrinfo=no, ac_cv_func_getaddrinfo=no),
+ac_cv_func_getaddrinfo=no)])
+if test "$ac_cv_func_getaddrinfo" = yes; then
+ AC_DEFINE(HAVE_GETADDRINFO,1,[Define if you have the getaddrinfo function])
+fi
+
+dnl Check for the __sync_fetch_and_add builtin
+AC_CACHE_CHECK([for __sync_fetch_and_add], ac_cv_func_sync_fetch_and_add,
+[AC_TRY_LINK([],[int x;__sync_fetch_and_add(&x,1);],ac_cv_func_sync_fetch_and_add=yes,ac_cv_func_sync_fetch_and_add=no)])
+if test "$ac_cv_func_sync_fetch_and_add" = yes; then
+ AC_DEFINE(HAVE_SYNC_FETCH_AND_ADD,1,[Define if you have the __sync_fetch_and_add function])
+fi
+
+AC_REPLACE_FUNCS(strlcat strlcpy explicit_bzero getopt)
+AC_FUNC_UTIME_NULL
+AC_FUNC_ALLOCA
+dnl PHP_AC_BROKEN_SPRINTF
+dnl PHP_AC_BROKEN_SNPRINTF
+PHP_DECLARED_TIMEZONE
+PHP_TIME_R_TYPE
+PHP_READDIR_R_TYPE
+PHP_CHECK_IN_ADDR_T
+
+AC_CHECK_FUNCS(crypt_r, [ php_crypt_r="1" ], [ php_crypt_r="0" ])
+if test "x$php_crypt_r" = "x1"; then
+ PHP_CRYPT_R_STYLE
+fi
+
+dnl General settings.
+dnl -------------------------------------------------------------------------
+PHP_CONFIGURE_PART(General settings)
+
+PHP_HELP_SEPARATOR([General settings:])
+
+PHP_ARG_ENABLE(gcov, whether to include gcov symbols,
+[ --enable-gcov Enable GCOV code coverage (requires LTP) - FOR DEVELOPERS ONLY!!], no, no)
+
+if test "$PHP_GCOV" = "yes"; then
+
+ if test "$GCC" != "yes"; then
+ AC_MSG_ERROR([GCC is required for --enable-gcov])
+ fi
+
+ dnl Check if ccache is being used
+ case `$php_shtool path $CC` in
+ *ccache*[)] gcc_ccache=yes;;
+ *[)] gcc_ccache=no;;
+ esac
+
+ if test "$gcc_ccache" = "yes" && (test -z "$CCACHE_DISABLE" || test "$CCACHE_DISABLE" != "1"); then
+ AC_MSG_ERROR([ccache must be disabled when --enable-gcov option is used. You can disable ccache by setting environment variable CCACHE_DISABLE=1.])
+ fi
+
+ dnl min: 1.5 (i.e. 105, major * 100 + minor for easier comparison)
+ ltp_version_min="105"
+ dnl non-working versions, e.g. "1.8 1.18";
+ dnl remove "none" when introducing the first incompatible LTP version and
+ dnl separate any following additions by spaces
+ ltp_version_exclude="1.8"
+
+ AC_CHECK_PROG(LTP, lcov, lcov)
+ AC_CHECK_PROG(LTP_GENHTML, genhtml, genhtml)
+ PHP_SUBST(LTP)
+ PHP_SUBST(LTP_GENHTML)
+
+ if test "$LTP"; then
+ AC_CACHE_CHECK([for ltp version], php_cv_ltp_version, [
+ php_cv_ltp_version=invalid
+ ltp_version_vars=`$LTP -v 2>/dev/null | $SED -e 's/^.* //' -e 's/\./ /g' | tr -d a-z`
+ if test -n "$ltp_version_vars"; then
+ set $ltp_version_vars
+ ltp_version="${1}.${2}"
+ ltp_version_num="`expr ${1} \* 100 + ${2}`"
+ if test $ltp_version_num -ge $ltp_version_min; then
+ php_cv_ltp_version="$ltp_version (ok)"
+ for ltp_check_version in $ltp_version_exclude; do
+ if test "$ltp_version" = "$ltp_check_version"; then
+ php_cv_ltp_version=invalid
+ break
+ fi
+ done
+ fi
+ fi
+ ])
+ else
+ ltp_msg="To enable code coverage reporting you must have LTP installed"
+ AC_MSG_ERROR([$ltp_msg])
+ fi
+
+ case $php_cv_ltp_version in
+ ""|invalid[)]
+ ltp_msg="This LTP version is not supported (found: $ltp_version, min: $ltp_version_min, excluded: $ltp_version_exclude)."
+ AC_MSG_ERROR([$ltp_msg])
+ LTP="exit 0;"
+ ;;
+ esac
+
+ if test -z "$LTP_GENHTML"; then
+ AC_MSG_ERROR([Could not find genhtml from the LTP package])
+ fi
+
+ AC_DEFINE(HAVE_GCOV, 1, [Whether you have gcov])
+ PHP_ADD_MAKEFILE_FRAGMENT($abs_srcdir/Makefile.gcov, $abs_srcdir)
+
+ dnl Remove all optimization flags from CFLAGS
+ changequote({,})
+ CFLAGS=`echo "$CFLAGS" | $SED -e 's/-O[0-9s]*//g'`
+ CXXFLAGS=`echo "$CXXFLAGS" | $SED -e 's/-O[0-9s]*//g'`
+ changequote([,])
+
+ dnl Add the special gcc flags
+ CFLAGS="$CFLAGS -O0 -fprofile-arcs -ftest-coverage"
+ CXXFLAGS="$CXXFLAGS -O0 -fprofile-arcs -ftest-coverage"
+fi
+
+PHP_ARG_ENABLE(debug, whether to include debugging symbols,
+[ --enable-debug Compile with debugging symbols], no, no)
+
+if test "$PHP_DEBUG" = "yes"; then
+ PHP_DEBUG=1
+ ZEND_DEBUG=yes
+ changequote({,})
+ CFLAGS=`echo "$CFLAGS" | $SED -e 's/-O[0-9s]*//g'`
+ CXXFLAGS=`echo "$CXXFLAGS" | $SED -e 's/-O[0-9s]*//g'`
+ changequote([,])
+ dnl add -O0 only if GCC or ICC is used
+ if test "$GCC" = "yes" || test "$ICC" = "yes"; then
+ CFLAGS="$CFLAGS -O0"
+ CXXFLAGS="$CXXFLAGS -g -O0"
+ fi
+ if test "$SUNCC" = "yes"; then
+ if test -n "$auto_cflags"; then
+ CFLAGS="-g"
+ CXXFLAGS="-g"
+ else
+ CFLAGS="$CFLAGS -g"
+ CXXFLAGS="$CFLAGS -g"
+ fi
+ fi
+else
+ PHP_DEBUG=0
+ ZEND_DEBUG=no
+fi
+
+PHP_ARG_WITH(layout, layout of installed files,
+[ --with-layout=TYPE Set how installed files will be laid out. Type can
+ be either PHP or GNU @<:@PHP@:>@], PHP, no)
+
+case $PHP_LAYOUT in
+ GNU)
+ oldstyleextdir=no
+ ;;
+ *)
+ oldstyleextdir=yes
+ ;;
+esac
+
+PHP_ARG_WITH(config-file-path, path to configuration file,
+[ --with-config-file-path=PATH
+ Set the path in which to look for php.ini @<:@PREFIX/lib@:>@], DEFAULT, no)
+
+if test "$PHP_CONFIG_FILE_PATH" = "DEFAULT"; then
+ case $PHP_LAYOUT in
+ GNU)
+ PHP_CONFIG_FILE_PATH=$sysconfdir
+ ;;
+ *)
+ PHP_CONFIG_FILE_PATH=$libdir
+ ;;
+ esac
+fi
+
+AC_MSG_CHECKING([where to scan for configuration files])
+PHP_ARG_WITH(config-file-scan-dir,,
+[ --with-config-file-scan-dir=PATH
+ Set the path where to scan for configuration files], DEFAULT, no)
+if test "$PHP_CONFIG_FILE_SCAN_DIR" = "DEFAULT"; then
+ PHP_CONFIG_FILE_SCAN_DIR=
+fi
+AC_MSG_RESULT([$PHP_CONFIG_FILE_SCAN_DIR])
+
+test -n "$DEBUG_CFLAGS" && CFLAGS="$CFLAGS $DEBUG_CFLAGS"
+
+PHP_ARG_ENABLE(sigchild, whether to enable PHP's own SIGCHLD handler,
+[ --enable-sigchild Enable PHP's own SIGCHLD handler], no, no)
+
+if test "$PHP_SIGCHILD" = "yes"; then
+ AC_DEFINE(PHP_SIGCHILD, 1, [ ])
+else
+ AC_DEFINE(PHP_SIGCHILD, 0, [ ])
+fi
+
+PHP_ARG_ENABLE(libgcc, whether to explicitly link against libgcc,
+[ --enable-libgcc Enable explicitly linking against libgcc], no, no)
+
+if test "$PHP_LIBGCC" = "yes"; then
+ PHP_LIBGCC_LIBPATH(gcc)
+ if test -z "$libgcc_libpath"; then
+ AC_MSG_ERROR([Cannot locate libgcc. Make sure that gcc is in your path])
+ fi
+ PHP_ADD_LIBPATH($libgcc_libpath)
+ PHP_ADD_LIBRARY(gcc, yes)
+fi
+
+PHP_ARG_ENABLE(short-tags, whether to enable short tags by default,
+[ --disable-short-tags Disable the short-form <? start tag by default], yes, no)
+
+if test "$PHP_SHORT_TAGS" = "yes"; then
+ AC_DEFINE(DEFAULT_SHORT_OPEN_TAG, "1", [ ])
+else
+ AC_DEFINE(DEFAULT_SHORT_OPEN_TAG, "0", [ ])
+fi
+
+PHP_ARG_ENABLE(dmalloc, whether to enable dmalloc,
+[ --enable-dmalloc Enable dmalloc], no, no)
+
+if test "$PHP_DMALLOC" = "yes"; then
+ AC_CHECK_LIB(dmalloc, dmalloc_error, [
+ PHP_ADD_LIBRARY(dmalloc)
+ AC_DEFINE(HAVE_DMALLOC,1,[Whether you have dmalloc])
+ CPPFLAGS="$CPPFLAGS -DDMALLOC_FUNC_CHECK"
+ ], [
+ AC_MSG_ERROR([Problem with enabling dmalloc. Please check config.log for details.])
+ ])
+fi
+
+PHP_ARG_ENABLE(ipv6, whether to enable IPv6 support,
+[ --disable-ipv6 Disable IPv6 support], yes, no)
+
+if test "$PHP_IPV6" != "no" && test "$ac_cv_ipv6_support" = yes; then
+ AC_DEFINE(HAVE_IPV6, 1, [Whether to enable IPv6 support])
+fi
+
+dnl ##
+dnl ## DTRACE CHECKS
+dnl ## Note: this has to be done after SAPI configuration!
+dnl ##
+PHP_ARG_ENABLE(dtrace, whether to enable DTrace support,
+[ --enable-dtrace Enable DTrace support], no, no)
+
+if test "$PHP_DTRACE" = "yes"; then
+ AC_CHECK_HEADERS([sys/sdt.h], [
+ PHP_INIT_DTRACE([Zend/zend_dtrace.d],[Zend/zend_dtrace_gen.h],[main/main.c Zend/zend_API.c \
+ Zend/zend_execute.c Zend/zend_exceptions.c \
+ Zend/zend_dtrace.c Zend/zend.c])
+ AC_DEFINE(HAVE_DTRACE, 1, [Whether to enable DTrace support])
+ PHP_SUBST(PHP_DTRACE_OBJS)
+ ], [
+ AC_MSG_ERROR([Cannot find sys/sdt.h which is required for DTrace support])
+ ])
+fi
+
+AC_MSG_CHECKING([how big to make fd sets])
+PHP_ARG_ENABLE(fd-setsize,,
+[ --enable-fd-setsize Set size of descriptor sets], no, no)
+
+if test "$PHP_FD_SETSIZE" != "no"; then
+ if test "0$PHP_FD_SETSIZE" -gt 0 2>/dev/null; then
+ CPPFLAGS="$CPPFLAGS -DFD_SETSIZE=$PHP_FD_SETSIZE"
+ AC_MSG_RESULT([using $PHP_FD_SETSIZE])
+ else
+ AC_MSG_ERROR([Invalid value passed to --enable-fd-setsize!])
+ fi
+else
+ AC_MSG_RESULT([using system default])
+fi
+
+dnl Extension configuration.
+dnl -------------------------------------------------------------------------
+
+PHP_HELP_SEPARATOR([Extensions:
+
+ --with-EXTENSION=[shared[,PATH]]
+
+ NOTE: Not all extensions can be build as 'shared'.
+
+ Example: --with-foobar=shared,/usr/local/foobar/
+
+ o Builds the foobar extension as shared extension.
+ o foobar package install prefix is /usr/local/foobar/
+])
+
+PHP_CONFIGURE_PART(Configuring extensions)
+
+dnl
+dnl Check if all enabled by default extensions should be disabled
+dnl
+
+AC_ARG_ENABLE(all,
+[ --disable-all Disable all extensions which are enabled by default
+], [
+ PHP_ENABLE_ALL=$enableval
+])
+
+# reading config stubs
+esyscmd(./build/config-stubs ext)
+
+dnl Extensions post-config
+dnl -------------------------------------------------------------------------
+
+enable_shared=yes
+enable_static=yes
+
+case $php_sapi_module in
+ shared[)]
+ enable_static=no
+ case $with_pic in
+ yes)
+ standard_libtool_flag='-prefer-pic'
+ ;;
+ no)
+ standard_libtool_flag='-prefer-non-pic'
+ ;;
+ esac
+ EXTRA_LDFLAGS="$EXTRA_LDFLAGS -avoid-version -module"
+ ;;
+ *[)]
+ standard_libtool_flag='-prefer-non-pic -static'
+ if test -z "$PHP_MODULES" && test -z "$PHP_ZEND_EX"; then
+ enable_shared=no
+ fi
+ ;;
+esac
+
+EXTRA_LIBS="$EXTRA_LIBS $DLIBS $LIBS"
+
+dnl this has to be here to prevent the openssl crypt() from
+dnl overriding the system provided crypt().
+if test "$ac_cv_lib_crypt_crypt" = "yes"; then
+ EXTRA_LIBS="-lcrypt $EXTRA_LIBS -lcrypt"
+fi
+
+unset LIBS LDFLAGS
+
+dnl PEAR
+dnl -------------------------------------------------------------------------
+
+PHP_HELP_SEPARATOR([PEAR:])
+PHP_CONFIGURE_PART(Configuring PEAR)
+
+# compatibility
+if test -z "$with_pear" && test "$enable_pear" = "no"; then
+ with_pear=no
+fi
+
+# If CLI is disabled -> disable PEAR
+if test "$PHP_CLI" = "no"; then
+ with_pear=no
+fi
+
+PHP_ARG_WITH(pear, [whether to install PEAR],
+[ --with-pear=DIR Install PEAR in DIR @<:@PREFIX/lib/php@:>@
+ --without-pear Do not install PEAR], DEFAULT, yes)
+
+if test "$PHP_PEAR" != "no"; then
+
+ dnl
+ dnl PEAR dependancies
+ dnl
+ if test "$PHP_XML" = "no"; then
+ pear_error_msg="$pear_error_msg
+ PEAR requires XML to be enabled. Add --enable-xml to the configure line. (or --without-pear)"
+ fi
+
+dnl
+dnl if test "$PHP_XMLRPC" = "no"; then
+dnl pear_error_msg="$pear_error_msg
+dnl PEAR requires XML-RPC to be enabled. Add --with-xmlrpc to the configure line. (or --without-pear)"
+dnl fi
+dnl
+
+ if test "$pear_error_msg"; then
+ AC_MSG_ERROR([$pear_error_msg])
+ fi
+
+ install_pear="install-pear"
+ PEAR_INSTALLDIR=$PHP_PEAR
+
+ if test "$PHP_PEAR" = "DEFAULT" || test "$PHP_PEAR" = "yes"; then
+ case $PHP_LAYOUT in
+ GNU) PEAR_INSTALLDIR=$datadir/pear;;
+ *) PEAR_INSTALLDIR=$libdir/php;;
+ esac
+ fi
+
+ PHP_ADD_MAKEFILE_FRAGMENT($abs_srcdir/pear/Makefile.frag,$abs_srcdir/pear,pear)
+fi
+
+
+dnl Configuring Zend and TSRM.
+dnl -------------------------------------------------------------------------
+
+PHP_HELP_SEPARATOR([Zend:])
+PHP_CONFIGURE_PART(Configuring Zend)
+
+LIBZEND_BASIC_CHECKS
+LIBZEND_DLSYM_CHECK
+LIBZEND_OTHER_CHECKS
+
+if test "$ZEND_MAINTAINER_ZTS" = "yes"; then
+ AC_DEFINE(ZTS,1,[ ])
+ PHP_THREAD_SAFETY=yes
+else
+ PHP_THREAD_SAFETY=no
+fi
+
+INCLUDES="$INCLUDES -I\$(top_builddir)/TSRM"
+INCLUDES="$INCLUDES -I\$(top_builddir)/Zend"
+
+if test "$abs_srcdir" != "$abs_builddir"; then
+ INCLUDES="$INCLUDES -I\$(top_srcdir)/main -I\$(top_srcdir)/Zend"
+ INCLUDES="$INCLUDES -I\$(top_srcdir)/TSRM -I\$(top_builddir)/"
+fi
+
+ZEND_EXTRA_LIBS="$LIBS"
+unset LIBS LDFLAGS
+
+PHP_HELP_SEPARATOR([TSRM:])
+PHP_CONFIGURE_PART(Configuring TSRM)
+TSRM_BASIC_CHECKS
+if test "$PHP_THREAD_SAFETY" = "yes"; then
+ TSRM_THREADS_CHECKS
+fi
+
+EXTRA_LDFLAGS="$EXTRA_LDFLAGS $LDFLAGS"
+EXTRA_LDFLAGS_PROGRAM="$EXTRA_LDFLAGS_PROGRAM $LDFLAGS"
+EXTRA_LIBS="$EXTRA_LIBS $LIBS"
+unset LIBS LDFLAGS
+
+test "$prefix" = "NONE" && prefix=/usr/local
+test "$exec_prefix" = "NONE" && exec_prefix='${prefix}'
+test "$program_prefix" = "NONE" && program_prefix=
+test "$program_suffix" = "NONE" && program_suffix=
+
+case $libdir in
+ '${exec_prefix}/lib')
+ libdir=$libdir/php
+ ;;
+esac
+case `eval echo $datadir` in
+ '${prefix}/share')
+ datadir=$datadir/php
+ ;;
+esac
+
+phplibdir=`pwd`/modules
+$php_shtool mkdir -p $phplibdir
+phptempdir=`pwd`/libs
+
+old_exec_prefix=$exec_prefix
+old_libdir=$libdir
+old_datadir=$datadir
+exec_prefix=`eval echo $exec_prefix`
+libdir=`eval echo $libdir`
+datadir=`eval eval echo $datadir`
+
+dnl Build extension directory path
+
+ZEND_MODULE_API_NO=`$EGREP '#define ZEND_MODULE_API_NO ' $srcdir/Zend/zend_modules.h|$SED 's/#define ZEND_MODULE_API_NO //'`
+
+if test -z "$EXTENSION_DIR"; then
+ extbasedir=$ZEND_MODULE_API_NO
+ if test "$oldstyleextdir" = "yes"; then
+ if test "$PHP_DEBUG" = "1"; then
+ part1=debug
+ else
+ part1=no-debug
+ fi
+ if test "$enable_maintainer_zts" = "yes"; then
+ part2=zts
+ else
+ part2=non-zts
+ fi
+ extbasedir=$part1-$part2-$extbasedir
+ EXTENSION_DIR=$libdir/extensions/$extbasedir
+ else
+ if test "$enable_maintainer_zts" = "yes"; then
+ extbasedir=$extbasedir-zts
+ fi
+
+ if test "$PHP_DEBUG" = "1"; then
+ extbasedir=$extbasedir-debug
+ fi
+ EXTENSION_DIR=$libdir/$extbasedir
+ fi
+fi
+
+case $PHP_LAYOUT in
+ GNU)
+ datarootdir=$prefix/share
+ ;;
+ *)
+ datarootdir=$prefix/php
+ ;;
+esac
+
+dnl Expand all directory names for use in macros/constants
+EXPANDED_PEAR_INSTALLDIR=`eval echo $PEAR_INSTALLDIR`
+EXPANDED_EXTENSION_DIR=`eval echo $EXTENSION_DIR`
+EXPANDED_LOCALSTATEDIR=`eval echo $localstatedir`
+EXPANDED_BINDIR=`eval echo $bindir`
+EXPANDED_SBINDIR=`eval echo $sbindir`
+EXPANDED_MANDIR=`eval echo $mandir`
+EXPANDED_LIBDIR=$libdir
+EXPANDED_SYSCONFDIR=`eval echo $sysconfdir`
+EXPANDED_DATADIR=$datadir
+EXPANDED_PHP_CONFIG_FILE_PATH=`eval echo "$PHP_CONFIG_FILE_PATH"`
+EXPANDED_PHP_CONFIG_FILE_SCAN_DIR=`eval echo "$PHP_CONFIG_FILE_SCAN_DIR"`
+INCLUDE_PATH=.:$EXPANDED_PEAR_INSTALLDIR
+
+exec_prefix=$old_exec_prefix
+libdir=$old_libdir
+datadir=$old_datadir
+
+AC_SUBST(INCLUDE_PATH)
+AC_SUBST(EXPANDED_PEAR_INSTALLDIR)
+AC_SUBST(EXPANDED_EXTENSION_DIR)
+AC_SUBST(EXPANDED_BINDIR)
+AC_SUBST(EXPANDED_SBINDIR)
+AC_SUBST(EXPANDED_MANDIR)
+AC_SUBST(EXPANDED_LIBDIR)
+AC_SUBST(EXPANDED_DATADIR)
+AC_SUBST(EXPANDED_SYSCONFDIR)
+AC_SUBST(EXPANDED_LOCALSTATEDIR)
+AC_SUBST(EXPANDED_PHP_CONFIG_FILE_PATH)
+AC_SUBST(EXPANDED_PHP_CONFIG_FILE_SCAN_DIR)
+
+if test -n "$php_ldflags_add_usr_lib"; then
+ PHP_RPATHS="$PHP_RPATHS /usr/lib"
+fi
+
+PHP_UTILIZE_RPATHS
+
+if test -z "$php_ldflags_add_usr_lib"; then
+ PHP_REMOVE_USR_LIB(PHP_LDFLAGS)
+ PHP_REMOVE_USR_LIB(LDFLAGS)
+fi
+
+EXTRA_LDFLAGS="$EXTRA_LDFLAGS $PHP_LDFLAGS"
+EXTRA_LDFLAGS_PROGRAM="$EXTRA_LDFLAGS_PROGRAM $PHP_LDFLAGS"
+
+PHP_BUILD_DATE=`date '+%Y-%m-%d'`
+AC_DEFINE_UNQUOTED(PHP_BUILD_DATE,"$PHP_BUILD_DATE",[PHP build date])
+
+PHP_UNAME=`uname -a | xargs`
+AC_DEFINE_UNQUOTED(PHP_UNAME,"$PHP_UNAME",[uname -a output])
+PHP_OS=`uname | xargs`
+AC_DEFINE_UNQUOTED(PHP_OS,"$PHP_OS",[uname output])
+
+PHP_SUBST_OLD(PHP_INSTALLED_SAPIS)
+
+PHP_SUBST(PHP_EXECUTABLE)
+
+PHP_SUBST(PHP_FASTCGI_OBJS)
+PHP_SUBST(PHP_SAPI_OBJS)
+PHP_SUBST(PHP_BINARY_OBJS)
+PHP_SUBST(PHP_GLOBAL_OBJS)
+
+PHP_SUBST(PHP_BINARIES)
+PHP_SUBST(PHP_MODULES)
+PHP_SUBST(PHP_ZEND_EX)
+
+PHP_SUBST(EXT_LIBS)
+
+PHP_SUBST_OLD(abs_builddir)
+PHP_SUBST_OLD(abs_srcdir)
+PHP_SUBST_OLD(php_abs_top_builddir)
+PHP_SUBST_OLD(php_abs_top_srcdir)
+
+PHP_SUBST(bindir)
+PHP_SUBST(sbindir)
+PHP_SUBST(exec_prefix)
+PHP_SUBST_OLD(program_prefix)
+PHP_SUBST_OLD(program_suffix)
+PHP_SUBST(includedir)
+PHP_SUBST(libdir)
+PHP_SUBST(mandir)
+PHP_SUBST(phplibdir)
+PHP_SUBST(phptempdir)
+PHP_SUBST(prefix)
+PHP_SUBST(localstatedir)
+PHP_SUBST(datadir)
+PHP_SUBST(datarootdir)
+PHP_SUBST(sysconfdir)
+
+PHP_SUBST(EXEEXT)
+PHP_SUBST(CC)
+PHP_SUBST(CFLAGS)
+PHP_SUBST(CFLAGS_CLEAN)
+PHP_SUBST(CPP)
+PHP_SUBST(CPPFLAGS)
+PHP_SUBST(CXX)
+PHP_SUBST(CXXFLAGS)
+PHP_SUBST(CXXFLAGS_CLEAN)
+PHP_SUBST_OLD(DEBUG_CFLAGS)
+PHP_SUBST_OLD(EXTENSION_DIR)
+PHP_SUBST_OLD(EXTRA_LDFLAGS)
+PHP_SUBST_OLD(EXTRA_LDFLAGS_PROGRAM)
+PHP_SUBST_OLD(EXTRA_LIBS)
+PHP_SUBST_OLD(ZEND_EXTRA_LIBS)
+PHP_SUBST_OLD(INCLUDES)
+PHP_SUBST_OLD(EXTRA_INCLUDES)
+PHP_SUBST_OLD(INCLUDE_PATH)
+PHP_SUBST_OLD(INSTALL_IT)
+PHP_SUBST(LFLAGS)
+PHP_SUBST(LIBTOOL)
+PHP_SUBST(LN_S)
+PHP_SUBST_OLD(NATIVE_RPATHS)
+PHP_SUBST_OLD(PEAR_INSTALLDIR)
+PHP_SUBST(PHP_BUILD_DATE)
+PHP_SUBST_OLD(PHP_LDFLAGS)
+PHP_SUBST_OLD(PHP_LIBS)
+PHP_SUBST(OVERALL_TARGET)
+PHP_SUBST(PHP_RPATHS)
+PHP_SUBST(PHP_SAPI)
+PHP_SUBST_OLD(PHP_VERSION)
+PHP_SUBST_OLD(PHP_VERSION_ID)
+PHP_SUBST(SHELL)
+PHP_SUBST(SHARED_LIBTOOL)
+PHP_SUBST(WARNING_LEVEL)
+PHP_SUBST(PHP_FRAMEWORKS)
+PHP_SUBST(PHP_FRAMEWORKPATH)
+PHP_SUBST(INSTALL_HEADERS)
+
+old_CC=$CC
+
+if test "$PHP_THREAD_SAFETY" = "yes" && test -n "$ac_cv_pthreads_cflags"; then
+ CXXFLAGS="$CXXFLAGS $ac_cv_pthreads_cflags"
+ INLINE_CFLAGS="$INLINE_CFLAGS $ac_cv_pthreads_cflags"
+ cat >meta_ccld<<EOF
+#! /bin/sh
+exec $CC $ac_cv_pthreads_cflags \$@
+EOF
+ CC="$abs_builddir/meta_ccld"
+ chmod +x meta_ccld
+fi
+
+dnl This will go away, if we have a facility to run per-extension code
+dnl after the thread_safety decision was done
+if test "$PHP_THREAD_SAFETY" = "yes" && test "$PHP_MYSQL" = "yes"; then
+ CPPFLAGS="$CPPFLAGS -DTHREAD=1"
+fi
+
+ZEND_EXT_TYPE="zend_extension"
+PHP_SUBST(ZEND_EXT_TYPE)
+
+dnl
+dnl Libtool creation
+dnl
+
+PHP_HELP_SEPARATOR([Libtool:])
+PHP_CONFIGURE_PART(Configuring libtool)
+
+LDFLAGS="$LDFLAGS $PHP_AIX_LDFLAGS"
+
+dnl Autoconf 2.13's libtool checks go slightly nuts on Mac OS X 10.5 and 10.6.
+dnl This hack works around it. Ugly.
+case $host_alias in
+*darwin9*|*darwin10*)
+ ac_cv_exeext=
+ ;;
+esac
+
+dnl Only allow AC_PROG_CXX and AC_PROG_CXXCPP if they are explicitly called (by PHP_REQUIRE_CXX).
+dnl Otherwise AC_PROG_LIBTOOL fails if there is no working C++ compiler.
+AC_PROVIDE_IFELSE([PHP_REQUIRE_CXX], [], [
+ undefine([AC_PROG_CXX])
+ AC_DEFUN([AC_PROG_CXX], [])
+ undefine([AC_PROG_CXXCPP])
+ AC_DEFUN([AC_PROG_CXXCPP], [php_prog_cxxcpp=disabled])
+])
+AC_PROG_LIBTOOL
+
+PHP_SET_LIBTOOL_VARIABLE([--silent])
+
+dnl libtool 1.4.3 needs this.
+PHP_SET_LIBTOOL_VARIABLE([--preserve-dup-deps])
+
+test -z "$PHP_COMPILE" && PHP_COMPILE='$(LIBTOOL) --mode=compile $(COMPILE) -c $<'
+test -z "$CXX_PHP_COMPILE" && CXX_PHP_COMPILE='$(LIBTOOL) --mode=compile $(CXX_COMPILE) -c $<'
+SHARED_LIBTOOL='$(LIBTOOL)'
+
+CC=$old_CC
+
+PHP_CONFIGURE_PART(Generating files)
+
+CXXFLAGS_CLEAN=$CXXFLAGS
+CFLAGS_CLEAN="$CFLAGS \$(PROF_FLAGS)"
+CFLAGS="\$(CFLAGS_CLEAN) $standard_libtool_flag"
+INLINE_CFLAGS="$INLINE_CFLAGS $standard_libtool_flag"
+CXXFLAGS="$CXXFLAGS $standard_libtool_flag \$(PROF_FLAGS)"
+
+if test "$PHP_PHAR" != "no" && test "$PHP_CLI" != "no"; then
+ pharcmd=pharcmd
+ pharcmd_install=install-pharcmd
+else
+ pharcmd=
+ pharcmd_install=
+fi;
+
+all_targets="$lcov_target \$(OVERALL_TARGET) \$(PHP_MODULES) \$(PHP_ZEND_EX) \$(PHP_BINARIES) $pharcmd"
+install_targets="$install_sapi $install_modules $install_binaries install-build install-headers install-programs $install_pear $pharcmd_install"
+
+PHP_SUBST(all_targets)
+PHP_SUBST(install_targets)
+PHP_SUBST(install_binary_targets)
+
+PHP_INSTALL_HEADERS([Zend/ TSRM/ include/ main/ main/streams/])
+
+PHP_ADD_SOURCES(TSRM, TSRM.c tsrm_strtok_r.c, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
+
+PHP_ADD_SOURCES(main, main.c snprintf.c spprintf.c php_sprintf.c \
+ fopen_wrappers.c alloca.c php_scandir.c \
+ php_ini.c SAPI.c rfc1867.c php_content_types.c strlcpy.c \
+ strlcat.c explicit_bzero.c mergesort.c reentrancy.c php_variables.c php_ticks.c \
+ network.c php_open_temporary_file.c \
+ output.c getopt.c, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
+
+PHP_ADD_SOURCES_X(main, fastcgi.c, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1, PHP_FASTCGI_OBJS, no)
+
+PHP_ADD_SOURCES(main/streams, streams.c cast.c memory.c filter.c \
+ plain_wrapper.c userspace.c transports.c xp_socket.c mmap.c \
+ glob_wrapper.c, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
+
+PHP_ADD_SOURCES(/main, internal_functions.c, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1, sapi)
+PHP_ADD_SOURCES_X(/main, internal_functions_cli.c, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1, PHP_BINARY_OBJS)
+
+PHP_ADD_SOURCES(Zend, \
+ zend_language_parser.c zend_language_scanner.c \
+ zend_ini_parser.c zend_ini_scanner.c \
+ zend_alloc.c zend_compile.c zend_constants.c zend_dtrace.c \
+ zend_execute_API.c zend_highlight.c zend_llist.c \
+ zend_vm_opcodes.c zend_opcode.c zend_operators.c zend_ptr_stack.c zend_stack.c \
+ zend_variables.c zend.c zend_API.c zend_extensions.c zend_hash.c \
+ zend_list.c zend_builtin_functions.c zend_sprintf.c \
+ zend_ini.c zend_sort.c zend_multibyte.c zend_ts_hash.c zend_stream.c \
+ zend_iterators.c zend_interfaces.c zend_exceptions.c zend_strtod.c zend_gc.c \
+ zend_closures.c zend_float.c zend_string.c zend_signal.c zend_generators.c \
+ zend_virtual_cwd.c zend_ast.c zend_objects.c zend_object_handlers.c zend_objects_API.c \
+ zend_default_classes.c zend_inheritance.c zend_smart_str.c, \
+ -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
+
+dnl Selectively disable optimization due to high RAM usage during
+dnl compiling the executor.
+if test -n "$GCC" && test "$ZEND_INLINE_OPTIMIZATION" != "yes"; then
+ flag=-O0
+else
+ flag=
+fi
+
+PHP_ADD_SOURCES_X(Zend, zend_execute.c, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1,PHP_GLOBAL_OBJS,,$flag)
+
+PHP_ADD_BUILD_DIR(main main/streams)
+PHP_ADD_BUILD_DIR(TSRM)
+PHP_ADD_BUILD_DIR(Zend)
+
+PHP_ADD_MAKEFILE_FRAGMENT($abs_srcdir/scripts/Makefile.frag,$abs_srcdir/scripts,scripts)
+PHP_ADD_MAKEFILE_FRAGMENT($abs_srcdir/Makefile.frag,$abs_srcdir/Zend,Zend)
+PHP_ADD_MAKEFILE_FRAGMENT($abs_srcdir/Zend/Makefile.frag,$abs_srcdir/Zend,Zend)
+
+PHP_GEN_BUILD_DIRS
+PHP_GEN_GLOBAL_MAKEFILE
+
+AC_DEFINE([HAVE_BUILD_DEFS_H], 1, [ ])
+
+$php_shtool mkdir -p pear/scripts
+$php_shtool mkdir -p scripts
+$php_shtool mkdir -p scripts/man1
+
+ALL_OUTPUT_FILES="php7.spec main/build-defs.h \
+scripts/phpize scripts/man1/phpize.1 \
+scripts/php-config scripts/man1/php-config.1 \
+$PHP_OUTPUT_FILES"
+
+dnl
+dnl Check for unknown configure options
+dnl
+PHP_CHECK_CONFIGURE_OPTIONS
+
+dnl
+dnl Generate build files
+dnl
+AC_OUTPUT($ALL_OUTPUT_FILES, [], [
+
+if test "\$CONFIG_FILES" = "$ALL_OUTPUT_FILES" || test "\$CONFIG_FILES" = " $ALL_OUTPUT_FILES" || test -z "\$CONFIG_FILES"; then
+ REDO_ALL=yes
+fi
+
+################################################################
+# Create configuration headers
+#
+
+test -d TSRM || $php_shtool mkdir TSRM
+echo '#include <../main/php_config.h>' > TSRM/tsrm_config.h
+
+test -d Zend || $php_shtool mkdir Zend
+
+cat >Zend/zend_config.h <<FEO
+#include <../main/php_config.h>
+#if defined(APACHE) && defined(PHP_API_VERSION)
+#undef HAVE_DLFCN_H
+#endif
+FEO
+
+# run this only when generating all the files?
+if test -n "\$REDO_ALL"; then
+ # Hacking while airborne considered harmful.
+ #
+ echo "creating main/internal_functions.c"
+ extensions="$EXT_STATIC"
+dnl mv -f main/internal_functions.c main/internal_functions.c.old 2>/dev/null
+ sh $srcdir/build/genif.sh $srcdir/main/internal_functions.c.in $srcdir "$EXTRA_MODULE_PTRS" $AWK \$extensions > main/internal_functions.c
+
+ echo "creating main/internal_functions_cli.c"
+ cli_extensions="$EXT_CLI_STATIC"
+ sh $srcdir/build/genif.sh $srcdir/main/internal_functions.c.in $srcdir "$EXTRA_MODULE_PTRS" $AWK \$cli_extensions > main/internal_functions_cli.c
+
+ if test "$UNAME" = "FreeBSD" && test "$PHP_SAPI" = "apache2filter" && test "$TSRM_PTH" != "pth-config" ; then
+ echo "+--------------------------------------------------------------------+"
+ echo "| *** WARNING *** |"
+ echo "| |"
+ echo "| In order to build PHP as a Apache2 module on FreeBSD, you have to |"
+ echo "| add --with-tsrm-pth to your ./configure line. Therefore you need |"
+ echo "| to install gnu-pth from /usr/ports/devel/pth. |"
+ fi
+
+ if test -n "$PHP_APXS_BROKEN"; then
+ echo "+--------------------------------------------------------------------+"
+ echo "| WARNING: Your $APXS script is most likely broken."
+ echo "| |"
+ echo "| Please go read http://www.php.net/faq.build#faq.build.apxs |"
+ echo "| and make the changes described there and try again. |"
+ fi
+
+ if test -n "$DEBUG_LOG"; then
+ rm -f config.cache
+cat <<X
++--------------------------------------------------------------------+
+| *** ATTENTION *** |
+| |
+| Something is likely to be messed up here, because the configure |
+| script was not able to detect a simple feature on your platform. |
+| This is often caused by incorrect configuration parameters. Please |
+| see the file debug.log for error messages. |
+| |
+| If you are unable to fix this, send the file debug.log to the |
+| php-install@lists.php.net mailing list and include appropriate |
+| information about your setup. |
+X
+ fi
+
+ if test "$PHP_SAPI" = "apache2handler" || test "$PHP_SAPI" = "apache2filter"; then
+ if test "$APACHE_VERSION" -ge 2004001; then
+ if test -z "$APACHE_THREADED_MPM"; then
+cat <<X
++--------------------------------------------------------------------+
+| *** WARNING *** |
+| |
+| You have built PHP for Apache's current non-threaded MPM. |
+| If you change Apache to use a threaded MPM you must reconfigure |
+| PHP with --enable-maintainer-zts |
+X
+ fi
+ fi
+ fi
+
+ # Warn about linking Apache with libpthread if oci8 extension is enabled on linux.
+ if test "$PHP_OCI8" != "no"; then
+ if test "$PHP_SAPI" = "apache"; then
+ if test `uname` = "Linux"; then
+cat <<X
++--------------------------------------------------------------------+
+| *** WARNING *** |
+| |
+| Please check that your Apache (httpd) is linked with libpthread. |
+| If not, you have to recompile Apache with pthread. For more |
+| details, see this page: http://www.php.net/manual/ref.oci8.php |
+X
+ fi
+ fi
+
+ if test "$PHP_SIGCHILD" != "yes"; then
+ if test "$PHP_OCI8_INSTANT_CLIENT" = "no"; then
+cat <<X
++--------------------------------------------------------------------+
+| Notice: |
+| If you encounter <defunc> processes when using a local Oracle |
+| database, set the value BEQUEATH_DETACH=YES in Oracle Net's |
+| sqlnet.ora file on the PHP host, or set the environment variable |
+| BEQUEATH_DETACH to YES before starting Apache. If the problem |
+| still occurs, then recompile PHP and specify --enable-sigchild |
+| when configuring. |
+X
+ fi
+ fi
+ fi
+
+cat <<X
++--------------------------------------------------------------------+
+| License: |
+| This software is subject to the PHP License, available in this |
+| distribution in the file LICENSE. By continuing this installation |
+| process, you are bound by the terms of this license agreement. |
+| If you do not agree with the terms of this license, you must abort |
+| the installation process at this point. |
++--------------------------------------------------------------------+
+
+Thank you for using PHP.
+
+X
+
+ # Output unknown configure options
+ if test "$PHP_UNKNOWN_CONFIGURE_OPTIONS"; then
+ echo "Notice: Following unknown configure options were used:
+$PHP_UNKNOWN_CONFIGURE_OPTIONS
+
+Check '[$]0 --help' for available options
+"
+ fi
+
+fi
+])
+
+dnl ## Local Variables:
+dnl ## tab-width: 4
+dnl ## End: