com php-src: Use modern autotools name of configure.ac instead of configure.in: .gitignore README.RELEASE_PROCESS TSRM/buil d.mk TSRM/configure.ac
TSRM/configure.in Zend/build .mk Zend/configure.ac Zend/configure.in build/build 2.mk buildconf configure.ac configure.in ext/bc
math/libbcmath/configure.ac ext/bcmath/libbcmath/configure .in ext/ext_skel ext/mbstring/libmbfl/configure.ac ext/mbstring/libmbfl/configure.in
main/php_version.h scripts/phpize.i
| From: | Joe Watkins | Date: | Fri, 27 Jan 2017 06:07:40 +0000 |
| Subject: | com php-src: Use modern autotools name of configure.ac instead of configure.in: .gitignore README.RELEASE_PROCESS TSRM/buil d.mk TSRM/configure.ac TSRM/configure.in Zend/build .mk Zend/configure.ac Zend/configure.in build/build 2.mk buildconf configure.ac configure.in ext/bc math/libbcmath/configure.ac ext/bcmath/libbcmath/configure .in ext/ext_skel ext/mbstring/libmbfl/configure.ac ext/mbstring/libmbfl/configure.in main/php_version.h scripts/phpize.i |
||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-96883@lists.php.net to get a copy of this message | ||
Commit: 2fe9208ee3d21f8d25b1b350819cb79432647af1
Author: Brian Evans <grknight@gentoo.org> Wed, 11 Nov 2015 15:08:15 -0500
Committer: Joe Watkins <krakjoe@php.net> Fri, 27 Jan 2017 06:07:40 +0000
Parents: 68801c9a308e49c5e801ac894673e68e448b31c4
Branches: master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=2fe9208ee3d21f8d25b1b350819cb79432647af1
Log:
Use modern autotools name of configure.ac instead of configure.in
configure.ac was introduced in 2001 with automake-1.15 and autoconf-2.50
to replace the file named configure.in.
Autotools is preparing to remove configure.in in Automake 2.0.
All new software should be using configure.ac.
This also fixes Bug #69770 where extensions are creating configure.in
Signed-off-by: Brian Evans <grknight@gentoo.org>
Bugs:
https://bugs.php.net/69770
Changed paths:
M .gitignore
M README.RELEASE_PROCESS
M TSRM/build.mk
A TSRM/configure.ac
D TSRM/configure.in
M Zend/build.mk
A Zend/configure.ac
D Zend/configure.in
M build/build2.mk
M buildconf
A configure.ac
D configure.in
A ext/bcmath/libbcmath/configure.ac
D ext/bcmath/libbcmath/configure.in
M ext/ext_skel
A ext/mbstring/libmbfl/configure.ac
D ext/mbstring/libmbfl/configure.in
M main/php_version.h
M scripts/phpize.in
M scripts/phpize.m4
M win32/build/config.w32
M win32/build/confutils.js
diff --git a/.gitignore b/.gitignore index 81e339a..4013490 100644 --- a/.gitignore +++ b/.gitignore @@ -173,6 +173,7 @@ tests/*/*/*.sh # Extension specifc ignores ext/*/configure.in +ext/*/configure.ac ext/*/ltmain.sh ext/*/libs.mk ext/*/build @@ -213,6 +214,7 @@ ext/mssql/Makefile.global ext/mssql/acinclude.m4 ext/mssql/config.sub ext/mssql/configure.in +ext/mssql/configure.ac ext/mssql/ltmain.sh ext/mysql/weztest.sqlite ext/oci8/tests/*.tmp diff --git a/README.RELEASE_PROCESS b/README.RELEASE_PROCESS index 315297c..cf9715f 100644 --- a/README.RELEASE_PROCESS +++ b/README.RELEASE_PROCESS @@ -65,7 +65,7 @@ credits files in ext/standard. 4. Checkout the release branch for this release (e.g., PHP-5.4.2) from the main branch. -5. Bump the version numbers in ``main/php_version.h``, ``configure.in`` and possibly ``NEWS``. +5. Bump the version numbers in ``main/php_version.h``, ``configure.ac`` and possibly ``NEWS``. Do not use abbreviations for alpha and beta. Do not use dashes, you should ``#define PHP_VERSION "5.4.22RC1"`` and not ``#define PHP_VERSION "5.4.22-RC1"`` @@ -79,7 +79,7 @@ Do not use abbreviations for alpha and beta. Do not use dashes, you should 9. Tag the repository release branch with the version, e.g.: ``git tag -u YOURKEYID php-5.4.2RC2`` -10. Bump the version numbers in ``main/php_version.h``, ``configure.in`` and ``NEWS`` +10. Bump the version numbers in ``main/php_version.h``, ``configure.ac`` and ``NEWS`` in the *main* branch (PHP-5.4 for example) to prepare for the **next** version. F.e. if the RC is "5.4.1RC1" then the new one should be "5.4.2-dev" - regardless if we get a new RC or not. This is to make sure ``version_compare()`` can correctly work. @@ -152,7 +152,7 @@ Rolling a stable release ------------------------ 1. Checkout your release branch, you should have created when releasing previous RC -and bump the version numbers in ``main/php_version.h``, ``configure.in`` and possibly ``NEWS``. +and bump the version numbers in ``main/php_version.h``, ``configure.ac`` and possibly ``NEWS``. 2. If a CVE commit needs to be merged to the release, then have it committed to the base branches and merged upwards as usual (f.e commit the CVE fix to 5.3, diff --git a/TSRM/build.mk b/TSRM/build.mk index f5756af..f98109f 100644 --- a/TSRM/build.mk +++ b/TSRM/build.mk @@ -30,14 +30,14 @@ $(LT_TARGETS): $(makefile_in_files): $(makefile_am_files) automake -a -i $(AMFLAGS) $(makefile_files) -aclocal.m4: configure.in acinclude.m4 +aclocal.m4: configure.ac acinclude.m4 aclocal -$(config_h_in): configure.in +$(config_h_in): configure.ac # explicitly remove target since autoheader does not seem to work # correctly otherwise (timestamps are not updated) @rm -f $@ autoheader -configure: aclocal.m4 configure.in +configure: aclocal.m4 configure.ac autoconf diff --git a/TSRM/configure.ac b/TSRM/configure.ac new file mode 100644 index 0000000..8bf35d3 --- /dev/null +++ b/TSRM/configure.ac @@ -0,0 +1,35 @@ +dnl $Id$ +dnl +dnl Minimalistic configure.ac for TSRM. +dnl + +AC_INIT(TSRM.c) +AM_INIT_AUTOMAKE(TSRM, 1.0, nodefine) +AM_CONFIG_HEADER(tsrm_config.h) + +AH_TOP([ +#undef PTHREADS +]) + +sinclude(tsrm.m4) + +TSRM_BASIC_CHECKS +TSRM_THREADS_CHECKS + +AM_PROG_LIBTOOL +if test "$enable_debug" != "yes"; then + AM_SET_LIBTOOL_VARIABLE([--silent]) +fi + +dnl TSRM_PTHREAD + +AC_CHECK_HEADERS( +utime.h \ +dirent.h \ +stdarg.h \ +alloca.h \ +unistd.h \ +limits.h +) + +AC_OUTPUT(Makefile) diff --git a/TSRM/configure.in b/TSRM/configure.in deleted file mode 100644 index 6f10f5a..0000000 --- a/TSRM/configure.in +++ /dev/null @@ -1,35 +0,0 @@ -dnl $Id$ -dnl -dnl Minimalistic configure.in for TSRM. -dnl - -AC_INIT(TSRM.c) -AM_INIT_AUTOMAKE(TSRM, 1.0, nodefine) -AM_CONFIG_HEADER(tsrm_config.h) - -AH_TOP([ -#undef PTHREADS -]) - -sinclude(tsrm.m4) - -TSRM_BASIC_CHECKS -TSRM_THREADS_CHECKS - -AM_PROG_LIBTOOL -if test "$enable_debug" != "yes"; then - AM_SET_LIBTOOL_VARIABLE([--silent]) -fi - -dnl TSRM_PTHREAD - -AC_CHECK_HEADERS( -utime.h \ -dirent.h \ -stdarg.h \ -alloca.h \ -unistd.h \ -limits.h -) - -AC_OUTPUT(Makefile) diff --git a/Zend/build.mk b/Zend/build.mk index 3c83a6f..702cb64 100644 --- a/Zend/build.mk +++ b/Zend/build.mk @@ -30,14 +30,14 @@ $(LT_TARGETS): $(makefile_in_files): $(makefile_am_files) automake -a -i $(AMFLAGS) $(makefile_files) -aclocal.m4: configure.in acinclude.m4 +aclocal.m4: configure.ac acinclude.m4 aclocal -$(config_h_in): configure.in +$(config_h_in): configure.ac # explicitly remove target since autoheader does not seem to work # correctly otherwise (timestamps are not updated) @rm -f $@ autoheader -configure: aclocal.m4 configure.in +configure: aclocal.m4 configure.ac autoconf diff --git a/Zend/configure.ac b/Zend/configure.ac new file mode 100644 index 0000000..3ebea4b --- /dev/null +++ b/Zend/configure.ac @@ -0,0 +1,136 @@ +dnl $Id$ +dnl Process this file with autoconf to produce a configure script. + +AC_INIT(zend.c) +AM_INIT_AUTOMAKE(zend, 0.80A, nodefine) +AM_CONFIG_HEADER(zend_config.h) +AM_SANITY_CHECK +AM_MAINTAINER_MODE +AC_PROG_CC +AM_PROG_CC_STDC +ZEND_VERSION=$VERSION +AC_ZEND_C_BIGENDIAN + +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) 0 +#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 */ + +]) + +dnl We want this one before the checks, so the checks can modify CFLAGS. +test -z "$CFLAGS" && auto_cflags=1 + +AC_CHECK_SIZEOF(long, 8) +AC_CHECK_SIZEOF(int, 4) + +sinclude(Zend.m4) + +LIBZEND_BASIC_CHECKS +LIBZEND_LIBDL_CHECKS +LIBZEND_DLSYM_CHECK + +AM_PROG_LIBTOOL +if test "$enable_debug" != "yes"; then + AM_SET_LIBTOOL_VARIABLE([--silent]) +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 + +LIBZEND_ENABLE_DEBUG +LIBZEND_OTHER_CHECKS + +ZEND_EXTRA_LIBS="$LIBS" +LIBS="" +AC_SUBST(ZEND_EXTRA_LIBS) +AC_OUTPUT(Makefile) + +# Local Variables: +# tab-width: 4 +# End: diff --git a/Zend/configure.in b/Zend/configure.in deleted file mode 100644 index 3ebea4b..0000000 --- a/Zend/configure.in +++ /dev/null @@ -1,136 +0,0 @@ -dnl $Id$ -dnl Process this file with autoconf to produce a configure script. - -AC_INIT(zend.c) -AM_INIT_AUTOMAKE(zend, 0.80A, nodefine) -AM_CONFIG_HEADER(zend_config.h) -AM_SANITY_CHECK -AM_MAINTAINER_MODE -AC_PROG_CC -AM_PROG_CC_STDC -ZEND_VERSION=$VERSION -AC_ZEND_C_BIGENDIAN - -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) 0 -#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 */ - -]) - -dnl We want this one before the checks, so the checks can modify CFLAGS. -test -z "$CFLAGS" && auto_cflags=1 - -AC_CHECK_SIZEOF(long, 8) -AC_CHECK_SIZEOF(int, 4) - -sinclude(Zend.m4) - -LIBZEND_BASIC_CHECKS -LIBZEND_LIBDL_CHECKS -LIBZEND_DLSYM_CHECK - -AM_PROG_LIBTOOL -if test "$enable_debug" != "yes"; then - AM_SET_LIBTOOL_VARIABLE([--silent]) -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 - -LIBZEND_ENABLE_DEBUG -LIBZEND_OTHER_CHECKS - -ZEND_EXTRA_LIBS="$LIBS" -LIBS="" -AC_SUBST(ZEND_EXTRA_LIBS) -AC_OUTPUT(Makefile) - -# Local Variables: -# tab-width: 4 -# End: diff --git a/build/build2.mk b/build/build2.mk index 7bb2589..0cf942a 100644 --- a/build/build2.mk +++ b/build/build2.mk @@ -44,11 +44,11 @@ $(config_h_in): configure $(TOUCH_FILES): touch $(TOUCH_FILES) -aclocal.m4: configure.in acinclude.m4 +aclocal.m4: configure.ac acinclude.m4 @echo rebuilding $@ cat acinclude.m4 ./build/libtool.m4 > $@ -configure: aclocal.m4 configure.in $(config_m4_files) +configure: aclocal.m4 configure.ac $(config_m4_files) @echo rebuilding $@ @rm -f $@ $(PHP_AUTOCONF) -f $(SUPPRESS_WARNINGS) diff --git a/buildconf b/buildconf index 9344b07..9b3ffe4 100755 --- a/buildconf +++ b/buildconf @@ -1,7 +1,7 @@ #!/bin/sh # $Id$ -eval `grep '^PHP_EXTRA_VERSION=' configure.in` +eval `grep '^PHP_EXTRA_VERSION=' configure.ac` case "$PHP_EXTRA_VERSION" in *-dev) dev=1 diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..dc7bff4 --- /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) 0 +#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: diff --git a/configure.in b/configure.in deleted file mode 100644 index 73ecb9b..0000000 --- a/configure.in +++ /dev/null @@ -1,1650 +0,0 @@ -## $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) 0 -#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.in 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: diff --git a/ext/bcmath/libbcmath/configure.ac b/ext/bcmath/libbcmath/configure.ac new file mode 100644 index 0000000..3da89e9 --- /dev/null +++ b/ext/bcmath/libbcmath/configure.ac @@ -0,0 +1,18 @@ +dnl Process this file with autoconf to produce a configure script. +AC_INIT(doc/bcmath.1) +AM_INIT_AUTOMAKE("bcmath", "0.2") +AM_CONFIG_HEADER(config.h) + +AC_PROG_CC + +AC_PROG_INSTALL +AC_PROG_RANLIB +AC_PROG_MAKE_SET + +AC_CHECK_HEADERS(stdarg.h stddef.h stdlib.h string.h limits.h unistd.h lib.h) +AC_C_CONST +AC_TYPE_SIZE_T +AC_CHECK_TYPE(ptrdiff_t, size_t) + +AC_OUTPUT(Makefile src/Makefile doc/Makefile) + diff --git a/ext/bcmath/libbcmath/configure.in b/ext/bcmath/libbcmath/configure.in deleted file mode 100644 index 3da89e9..0000000 --- a/ext/bcmath/libbcmath/configure.in +++ /dev/null @@ -1,18 +0,0 @@ -dnl Process this file with autoconf to produce a configure script. -AC_INIT(doc/bcmath.1) -AM_INIT_AUTOMAKE("bcmath", "0.2") -AM_CONFIG_HEADER(config.h) - -AC_PROG_CC - -AC_PROG_INSTALL -AC_PROG_RANLIB -AC_PROG_MAKE_SET - -AC_CHECK_HEADERS(stdarg.h stddef.h stdlib.h string.h limits.h unistd.h lib.h) -AC_C_CONST -AC_TYPE_SIZE_T -AC_CHECK_TYPE(ptrdiff_t, size_t) - -AC_OUTPUT(Makefile src/Makefile doc/Makefile) - diff --git a/ext/ext_skel b/ext/ext_skel index f5b9b25..d1b8a28 100755 --- a/ext/ext_skel +++ b/ext/ext_skel @@ -205,7 +205,7 @@ config.nice config.status config.sub configure -configure.in +configure.ac include install-sh libtool diff --git a/ext/mbstring/libmbfl/configure.ac b/ext/mbstring/libmbfl/configure.ac new file mode 100644 index 0000000..f7fd58f --- /dev/null +++ b/ext/mbstring/libmbfl/configure.ac @@ -0,0 +1,49 @@ +# Process this file with autoconf to produce a configure script. +AC_INIT(mbfl/mbfilter.c) +AM_INIT_AUTOMAKE(libmbfl, 1.1.0) +AC_CONFIG_SRCDIR(mbfl/mbfilter.c) +AM_CONFIG_HEADER(config.h) + +# SHLIB isn't a version number but the API reference +# Read http://www.gnu.org/software/libtool/manual/libtool.html#Updating-version-info +SHLIB_VERSION="1:1:0" +AC_SUBST(SHLIB_VERSION) + +# Checks for programs. +AC_PROG_CC +AC_PROG_CXX +AC_PROG_LIBTOOL +AC_PROG_RANLIB + +# Checks for libraries. + +# Checks for header files. +AC_HEADER_STDC +AC_CHECK_HEADERS([stdlib.h stddef.h assert.h]) + +# Checks for typedefs, structures, and compiler characteristics. +AC_C_CONST +AC_TYPE_SIZE_T + +# Checks for library functions. +AC_FUNC_MALLOC +AC_FUNC_REALLOC +AC_CHECK_FUNCS([strcasecmp strchr]) + +AC_CHECK_PROGS([FETCH_VIA_FTP], [wget curl ncftpget]) + +if test "$FETCH_VIA_FTP" = "curl"; then + FETCH_VIA_FTP="curl -O" +fi + +AC_CONFIG_FILES([ + Makefile + mbfl/Makefile + filters/Makefile + nls/Makefile + tests/Makefile + tests/conv_encoding.tests/Makefile + tests/conv_kana.tests/Makefile + tests/strwidth.tests/Makefile + tests/strcut.tests/Makefile]) +AC_OUTPUT diff --git a/ext/mbstring/libmbfl/configure.in b/ext/mbstring/libmbfl/configure.in deleted file mode 100644 index f7fd58f..0000000 --- a/ext/mbstring/libmbfl/configure.in +++ /dev/null @@ -1,49 +0,0 @@ -# Process this file with autoconf to produce a configure script. -AC_INIT(mbfl/mbfilter.c) -AM_INIT_AUTOMAKE(libmbfl, 1.1.0) -AC_CONFIG_SRCDIR(mbfl/mbfilter.c) -AM_CONFIG_HEADER(config.h) - -# SHLIB isn't a version number but the API reference -# Read http://www.gnu.org/software/libtool/manual/libtool.html#Updating-version-info -SHLIB_VERSION="1:1:0" -AC_SUBST(SHLIB_VERSION) - -# Checks for programs. -AC_PROG_CC -AC_PROG_CXX -AC_PROG_LIBTOOL -AC_PROG_RANLIB - -# Checks for libraries. - -# Checks for header files. -AC_HEADER_STDC -AC_CHECK_HEADERS([stdlib.h stddef.h assert.h]) - -# Checks for typedefs, structures, and compiler characteristics. -AC_C_CONST -AC_TYPE_SIZE_T - -# Checks for library functions. -AC_FUNC_MALLOC -AC_FUNC_REALLOC -AC_CHECK_FUNCS([strcasecmp strchr]) - -AC_CHECK_PROGS([FETCH_VIA_FTP], [wget curl ncftpget]) - -if test "$FETCH_VIA_FTP" = "curl"; then - FETCH_VIA_FTP="curl -O" -fi - -AC_CONFIG_FILES([ - Makefile - mbfl/Makefile - filters/Makefile - nls/Makefile - tests/Makefile - tests/conv_encoding.tests/Makefile - tests/conv_kana.tests/Makefile - tests/strwidth.tests/Makefile - tests/strcut.tests/Makefile]) -AC_OUTPUT diff --git a/main/php_version.h b/main/php_version.h index 405e54a..62cdcfc 100644 --- a/main/php_version.h +++ b/main/php_version.h @@ -1,5 +1,5 @@ /* automatically generated by configure */ -/* edit configure.in to change version number */ +/* edit configure.ac to change version number */ #define PHP_MAJOR_VERSION 7 #define PHP_MINOR_VERSION 2 #define PHP_RELEASE_VERSION 0 diff --git a/scripts/phpize.in b/scripts/phpize.in index 240590d..6302d4e 100644 --- a/scripts/phpize.in +++ b/scripts/phpize.in @@ -12,7 +12,7 @@ SED="@SED@" FILES_BUILD="mkdep.awk scan_makefile_in.awk shtool libtool.m4 ax_check_compile_flag.m4" FILES="acinclude.m4 Makefile.global config.sub config.guess ltmain.sh run-tests*.php" CLEAN_FILES="$FILES *.o *.lo *.la .deps .libs/ build/ modules/ install-sh \ - mkinstalldirs missing config.nice config.sub config.guess configure configure.in \ + mkinstalldirs missing config.nice config.sub config.guess configure configure.ac \ aclocal.m4 config.h config.h.in conftest* ltmain.sh libtool config.cache autom4te.cache/ \ config.log config.status Makefile Makefile.fragments Makefile.objects confdefs.h \ run-tests*.php tests/*.diff tests/*.exp tests/*.log tests/*.out tests/*.php" @@ -153,7 +153,7 @@ phpize_replace_prefix() { $SED \ -e "s#@prefix@#$prefix#" \ - < "$phpdir/phpize.m4" > configure.in + < "$phpdir/phpize.m4" > configure.ac } phpize_autotools() diff --git a/scripts/phpize.m4 b/scripts/phpize.m4 index d5f5f47..1094e28 100644 --- a/scripts/phpize.m4 +++ b/scripts/phpize.m4 @@ -1,4 +1,4 @@ -dnl This file becomes configure.in for self-contained extensions. +dnl This file becomes configure.ac for self-contained extensions. AC_PREREQ(2.59) AC_INIT(config.m4) diff --git a/win32/build/config.w32 b/win32/build/config.w32 index 188c1dc..80e815c 100644 --- a/win32/build/config.w32 +++ b/win32/build/config.w32 @@ -1,6 +1,6 @@ // vim:ft=javascript // $Id$ -// "Master" config file; think of it as a configure.in +// "Master" config file; think of it as a configure.ac // equivalent. ARG_WITH("toolset", "Toolset to use for the compilation, give: vs, clang, icc. " + diff --git a/win32/build/confutils.js b/win32/build/confutils.js index be6fb62..8c6d3f6 100644 --- a/win32/build/confutils.js +++ b/win32/build/confutils.js @@ -96,7 +96,7 @@ if (typeof(CWD) == "undefined") { CWD = FSO.GetParentFolderName(FSO.GetAbsolutePathName("README.GIT-RULES")); } -/* defaults; we pick up the precise versions from configure.in */ +/* defaults; we pick up the precise versions from configure.ac */ var PHP_VERSION = 7; var PHP_MINOR_VERSION = 1; var PHP_RELEASE_VERSION = 0; @@ -106,7 +106,7 @@ var PHP_VERSION_STRING = "7.2.0"; /* Get version numbers and DEFINE as a string */ function get_version_numbers() { - var cin = file_get_contents("configure.in"); + var cin = file_get_contents("configure.ac"); if (cin.match(new RegExp("PHP_MAJOR_VERSION=(\\d+)"))) { PHP_VERSION = RegExp.$1;
diff --git a/.gitignore b/.gitignore index 81e339a..4013490 100644 --- a/.gitignore +++ b/.gitignore @@ -173,6 +173,7 @@ tests/*/*/*.sh # Extension specifc ignores ext/*/configure.in +ext/*/configure.ac ext/*/ltmain.sh ext/*/libs.mk ext/*/build @@ -213,6 +214,7 @@ ext/mssql/Makefile.global ext/mssql/acinclude.m4 ext/mssql/config.sub ext/mssql/configure.in +ext/mssql/configure.ac ext/mssql/ltmain.sh ext/mysql/weztest.sqlite ext/oci8/tests/*.tmp diff --git a/README.RELEASE_PROCESS b/README.RELEASE_PROCESS index 315297c..cf9715f 100644 --- a/README.RELEASE_PROCESS +++ b/README.RELEASE_PROCESS @@ -65,7 +65,7 @@ credits files in ext/standard. 4. Checkout the release branch for this release (e.g., PHP-5.4.2) from the main branch. -5. Bump the version numbers in ``main/php_version.h``, ``configure.in`` and possibly ``NEWS``. +5. Bump the version numbers in ``main/php_version.h``, ``configure.ac`` and possibly ``NEWS``. Do not use abbreviations for alpha and beta. Do not use dashes, you should ``#define PHP_VERSION "5.4.22RC1"`` and not ``#define PHP_VERSION "5.4.22-RC1"`` @@ -79,7 +79,7 @@ Do not use abbreviations for alpha and beta. Do not use dashes, you should 9. Tag the repository release branch with the version, e.g.: ``git tag -u YOURKEYID php-5.4.2RC2`` -10. Bump the version numbers in ``main/php_version.h``, ``configure.in`` and ``NEWS`` +10. Bump the version numbers in ``main/php_version.h``, ``configure.ac`` and ``NEWS`` in the *main* branch (PHP-5.4 for example) to prepare for the **next** version. F.e. if the RC is "5.4.1RC1" then the new one should be "5.4.2-dev" - regardless if we get a new RC or not. This is to make sure ``version_compare()`` can correctly work. @@ -152,7 +152,7 @@ Rolling a stable release ------------------------ 1. Checkout your release branch, you should have created when releasing previous RC -and bump the version numbers in ``main/php_version.h``, ``configure.in`` and possibly ``NEWS``. +and bump the version numbers in ``main/php_version.h``, ``configure.ac`` and possibly ``NEWS``. 2. If a CVE commit needs to be merged to the release, then have it committed to the base branches and merged upwards as usual (f.e commit the CVE fix to 5.3, diff --git a/TSRM/build.mk b/TSRM/build.mk index f5756af..f98109f 100644 --- a/TSRM/build.mk +++ b/TSRM/build.mk @@ -30,14 +30,14 @@ $(LT_TARGETS): $(makefile_in_files): $(makefile_am_files) automake -a -i $(AMFLAGS) $(makefile_files) -aclocal.m4: configure.in acinclude.m4 +aclocal.m4: configure.ac acinclude.m4 aclocal -$(config_h_in): configure.in +$(config_h_in): configure.ac # explicitly remove target since autoheader does not seem to work # correctly otherwise (timestamps are not updated) @rm -f $@ autoheader -configure: aclocal.m4 configure.in +configure: aclocal.m4 configure.ac autoconf diff --git a/TSRM/configure.ac b/TSRM/configure.ac new file mode 100644 index 0000000..8bf35d3 --- /dev/null +++ b/TSRM/configure.ac @@ -0,0 +1,35 @@ +dnl $Id$ +dnl +dnl Minimalistic configure.ac for TSRM. +dnl + +AC_INIT(TSRM.c) +AM_INIT_AUTOMAKE(TSRM, 1.0, nodefine) +AM_CONFIG_HEADER(tsrm_config.h) + +AH_TOP([ +#undef PTHREADS +]) + +sinclude(tsrm.m4) + +TSRM_BASIC_CHECKS +TSRM_THREADS_CHECKS + +AM_PROG_LIBTOOL +if test "$enable_debug" != "yes"; then + AM_SET_LIBTOOL_VARIABLE([--silent]) +fi + +dnl TSRM_PTHREAD + +AC_CHECK_HEADERS( +utime.h \ +dirent.h \ +stdarg.h \ +alloca.h \ +unistd.h \ +limits.h +) + +AC_OUTPUT(Makefile) diff --git a/TSRM/configure.in b/TSRM/configure.in deleted file mode 100644 index 6f10f5a..0000000 --- a/TSRM/configure.in +++ /dev/null @@ -1,35 +0,0 @@ -dnl $Id$ -dnl -dnl Minimalistic configure.in for TSRM. -dnl - -AC_INIT(TSRM.c) -AM_INIT_AUTOMAKE(TSRM, 1.0, nodefine) -AM_CONFIG_HEADER(tsrm_config.h) - -AH_TOP([ -#undef PTHREADS -]) - -sinclude(tsrm.m4) - -TSRM_BASIC_CHECKS -TSRM_THREADS_CHECKS - -AM_PROG_LIBTOOL -if test "$enable_debug" != "yes"; then - AM_SET_LIBTOOL_VARIABLE([--silent]) -fi - -dnl TSRM_PTHREAD - -AC_CHECK_HEADERS( -utime.h \ -dirent.h \ -stdarg.h \ -alloca.h \ -unistd.h \ -limits.h -) - -AC_OUTPUT(Makefile) diff --git a/Zend/build.mk b/Zend/build.mk index 3c83a6f..702cb64 100644 --- a/Zend/build.mk +++ b/Zend/build.mk @@ -30,14 +30,14 @@ $(LT_TARGETS): $(makefile_in_files): $(makefile_am_files) automake -a -i $(AMFLAGS) $(makefile_files) -aclocal.m4: configure.in acinclude.m4 +aclocal.m4: configure.ac acinclude.m4 aclocal -$(config_h_in): configure.in +$(config_h_in): configure.ac # explicitly remove target since autoheader does not seem to work # correctly otherwise (timestamps are not updated) @rm -f $@ autoheader -configure: aclocal.m4 configure.in +configure: aclocal.m4 configure.ac autoconf diff --git a/Zend/configure.ac b/Zend/configure.ac new file mode 100644 index 0000000..3ebea4b --- /dev/null +++ b/Zend/configure.ac @@ -0,0 +1,136 @@ +dnl $Id$ +dnl Process this file with autoconf to produce a configure script. + +AC_INIT(zend.c) +AM_INIT_AUTOMAKE(zend, 0.80A, nodefine) +AM_CONFIG_HEADER(zend_config.h) +AM_SANITY_CHECK +AM_MAINTAINER_MODE +AC_PROG_CC +AM_PROG_CC_STDC +ZEND_VERSION=$VERSION +AC_ZEND_C_BIGENDIAN + +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) 0 +#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 */ + +]) + +dnl We want this one before the checks, so the checks can modify CFLAGS. +test -z "$CFLAGS" && auto_cflags=1 + +AC_CHECK_SIZEOF(long, 8) +AC_CHECK_SIZEOF(int, 4) + +sinclude(Zend.m4) + +LIBZEND_BASIC_CHECKS +LIBZEND_LIBDL_CHECKS +LIBZEND_DLSYM_CHECK + +AM_PROG_LIBTOOL +if test "$enable_debug" != "yes"; then + AM_SET_LIBTOOL_VARIABLE([--silent]) +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 + +LIBZEND_ENABLE_DEBUG +LIBZEND_OTHER_CHECKS + +ZEND_EXTRA_LIBS="$LIBS" +LIBS="" +AC_SUBST(ZEND_EXTRA_LIBS) +AC_OUTPUT(Makefile) + +# Local Variables: +# tab-width: 4 +# End: diff --git a/Zend/configure.in b/Zend/configure.in deleted file mode 100644 index 3ebea4b..0000000 --- a/Zend/configure.in +++ /dev/null @@ -1,136 +0,0 @@ -dnl $Id$ -dnl Process this file with autoconf to produce a configure script. - -AC_INIT(zend.c) -AM_INIT_AUTOMAKE(zend, 0.80A, nodefine) -AM_CONFIG_HEADER(zend_config.h) -AM_SANITY_CHECK -AM_MAINTAINER_MODE -AC_PROG_CC -AM_PROG_CC_STDC -ZEND_VERSION=$VERSION -AC_ZEND_C_BIGENDIAN - -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) 0 -#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 */ - -]) - -dnl We want this one before the checks, so the checks can modify CFLAGS. -test -z "$CFLAGS" && auto_cflags=1 - -AC_CHECK_SIZEOF(long, 8) -AC_CHECK_SIZEOF(int, 4) - -sinclude(Zend.m4) - -LIBZEND_BASIC_CHECKS -LIBZEND_LIBDL_CHECKS -LIBZEND_DLSYM_CHECK - -AM_PROG_LIBTOOL -if test "$enable_debug" != "yes"; then - AM_SET_LIBTOOL_VARIABLE([--silent]) -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 - -LIBZEND_ENABLE_DEBUG -LIBZEND_OTHER_CHECKS - -ZEND_EXTRA_LIBS="$LIBS" -LIBS="" -AC_SUBST(ZEND_EXTRA_LIBS) -AC_OUTPUT(Makefile) - -# Local Variables: -# tab-width: 4 -# End: diff --git a/build/build2.mk b/build/build2.mk index 7bb2589..0cf942a 100644 --- a/build/build2.mk +++ b/build/build2.mk @@ -44,11 +44,11 @@ $(config_h_in): configure $(TOUCH_FILES): touch $(TOUCH_FILES) -aclocal.m4: configure.in acinclude.m4 +aclocal.m4: configure.ac acinclude.m4 @echo rebuilding $@ cat acinclude.m4 ./build/libtool.m4 > $@ -configure: aclocal.m4 configure.in $(config_m4_files) +configure: aclocal.m4 configure.ac $(config_m4_files) @echo rebuilding $@ @rm -f $@ $(PHP_AUTOCONF) -f $(SUPPRESS_WARNINGS) diff --git a/buildconf b/buildconf index 9344b07..9b3ffe4 100755 --- a/buildconf +++ b/buildconf @@ -1,7 +1,7 @@ #!/bin/sh # $Id$ -eval `grep '^PHP_EXTRA_VERSION=' configure.in` +eval `grep '^PHP_EXTRA_VERSION=' configure.ac` case "$PHP_EXTRA_VERSION" in *-dev) dev=1 diff --git a/configure.ac b/configure.ac new file mode 100644 index 0000000..dc7bff4 --- /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) 0 +#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: diff --git a/configure.in b/configure.in deleted file mode 100644 index 73ecb9b..0000000 --- a/configure.in +++ /dev/null @@ -1,1650 +0,0 @@ -## $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) 0 -#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.in 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: diff --git a/ext/bcmath/libbcmath/configure.ac b/ext/bcmath/libbcmath/configure.ac new file mode 100644 index 0000000..3da89e9 --- /dev/null +++ b/ext/bcmath/libbcmath/configure.ac @@ -0,0 +1,18 @@ +dnl Process this file with autoconf to produce a configure script. +AC_INIT(doc/bcmath.1) +AM_INIT_AUTOMAKE("bcmath", "0.2") +AM_CONFIG_HEADER(config.h) + +AC_PROG_CC + +AC_PROG_INSTALL +AC_PROG_RANLIB +AC_PROG_MAKE_SET + +AC_CHECK_HEADERS(stdarg.h stddef.h stdlib.h string.h limits.h unistd.h lib.h) +AC_C_CONST +AC_TYPE_SIZE_T +AC_CHECK_TYPE(ptrdiff_t, size_t) + +AC_OUTPUT(Makefile src/Makefile doc/Makefile) + diff --git a/ext/bcmath/libbcmath/configure.in b/ext/bcmath/libbcmath/configure.in deleted file mode 100644 index 3da89e9..0000000 --- a/ext/bcmath/libbcmath/configure.in +++ /dev/null @@ -1,18 +0,0 @@ -dnl Process this file with autoconf to produce a configure script. -AC_INIT(doc/bcmath.1) -AM_INIT_AUTOMAKE("bcmath", "0.2") -AM_CONFIG_HEADER(config.h) - -AC_PROG_CC - -AC_PROG_INSTALL -AC_PROG_RANLIB -AC_PROG_MAKE_SET - -AC_CHECK_HEADERS(stdarg.h stddef.h stdlib.h string.h limits.h unistd.h lib.h) -AC_C_CONST -AC_TYPE_SIZE_T -AC_CHECK_TYPE(ptrdiff_t, size_t) - -AC_OUTPUT(Makefile src/Makefile doc/Makefile) - diff --git a/ext/ext_skel b/ext/ext_skel index f5b9b25..d1b8a28 100755 --- a/ext/ext_skel +++ b/ext/ext_skel @@ -205,7 +205,7 @@ config.nice config.status config.sub configure -configure.in +configure.ac include install-sh libtool diff --git a/ext/mbstring/libmbfl/configure.ac b/ext/mbstring/libmbfl/configure.ac new file mode 100644 index 0000000..f7fd58f --- /dev/null +++ b/ext/mbstring/libmbfl/configure.ac @@ -0,0 +1,49 @@ +# Process this file with autoconf to produce a configure script. +AC_INIT(mbfl/mbfilter.c) +AM_INIT_AUTOMAKE(libmbfl, 1.1.0) +AC_CONFIG_SRCDIR(mbfl/mbfilter.c) +AM_CONFIG_HEADER(config.h) + +# SHLIB isn't a version number but the API reference +# Read http://www.gnu.org/software/libtool/manual/libtool.html#Updating-version-info +SHLIB_VERSION="1:1:0" +AC_SUBST(SHLIB_VERSION) + +# Checks for programs. +AC_PROG_CC +AC_PROG_CXX +AC_PROG_LIBTOOL +AC_PROG_RANLIB + +# Checks for libraries. + +# Checks for header files. +AC_HEADER_STDC +AC_CHECK_HEADERS([stdlib.h stddef.h assert.h]) + +# Checks for typedefs, structures, and compiler characteristics. +AC_C_CONST +AC_TYPE_SIZE_T + +# Checks for library functions. +AC_FUNC_MALLOC +AC_FUNC_REALLOC +AC_CHECK_FUNCS([strcasecmp strchr]) + +AC_CHECK_PROGS([FETCH_VIA_FTP], [wget curl ncftpget]) + +if test "$FETCH_VIA_FTP" = "curl"; then + FETCH_VIA_FTP="curl -O" +fi + +AC_CONFIG_FILES([ + Makefile + mbfl/Makefile + filters/Makefile + nls/Makefile + tests/Makefile + tests/conv_encoding.tests/Makefile + tests/conv_kana.tests/Makefile + tests/strwidth.tests/Makefile + tests/strcut.tests/Makefile]) +AC_OUTPUT diff --git a/ext/mbstring/libmbfl/configure.in b/ext/mbstring/libmbfl/configure.in deleted file mode 100644 index f7fd58f..0000000 --- a/ext/mbstring/libmbfl/configure.in +++ /dev/null @@ -1,49 +0,0 @@ -# Process this file with autoconf to produce a configure script. -AC_INIT(mbfl/mbfilter.c) -AM_INIT_AUTOMAKE(libmbfl, 1.1.0) -AC_CONFIG_SRCDIR(mbfl/mbfilter.c) -AM_CONFIG_HEADER(config.h) - -# SHLIB isn't a version number but the API reference -# Read http://www.gnu.org/software/libtool/manual/libtool.html#Updating-version-info -SHLIB_VERSION="1:1:0" -AC_SUBST(SHLIB_VERSION) - -# Checks for programs. -AC_PROG_CC -AC_PROG_CXX -AC_PROG_LIBTOOL -AC_PROG_RANLIB - -# Checks for libraries. - -# Checks for header files. -AC_HEADER_STDC -AC_CHECK_HEADERS([stdlib.h stddef.h assert.h]) - -# Checks for typedefs, structures, and compiler characteristics. -AC_C_CONST -AC_TYPE_SIZE_T - -# Checks for library functions. -AC_FUNC_MALLOC -AC_FUNC_REALLOC -AC_CHECK_FUNCS([strcasecmp strchr]) - -AC_CHECK_PROGS([FETCH_VIA_FTP], [wget curl ncftpget]) - -if test "$FETCH_VIA_FTP" = "curl"; then - FETCH_VIA_FTP="curl -O" -fi - -AC_CONFIG_FILES([ - Makefile - mbfl/Makefile - filters/Makefile - nls/Makefile - tests/Makefile - tests/conv_encoding.tests/Makefile - tests/conv_kana.tests/Makefile - tests/strwidth.tests/Makefile - tests/strcut.tests/Makefile]) -AC_OUTPUT diff --git a/main/php_version.h b/main/php_version.h index 405e54a..62cdcfc 100644 --- a/main/php_version.h +++ b/main/php_version.h @@ -1,5 +1,5 @@ /* automatically generated by configure */ -/* edit configure.in to change version number */ +/* edit configure.ac to change version number */ #define PHP_MAJOR_VERSION 7 #define PHP_MINOR_VERSION 2 #define PHP_RELEASE_VERSION 0 diff --git a/scripts/phpize.in b/scripts/phpize.in index 240590d..6302d4e 100644 --- a/scripts/phpize.in +++ b/scripts/phpize.in @@ -12,7 +12,7 @@ SED="@SED@" FILES_BUILD="mkdep.awk scan_makefile_in.awk shtool libtool.m4 ax_check_compile_flag.m4" FILES="acinclude.m4 Makefile.global config.sub config.guess ltmain.sh run-tests*.php" CLEAN_FILES="$FILES *.o *.lo *.la .deps .libs/ build/ modules/ install-sh \ - mkinstalldirs missing config.nice config.sub config.guess configure configure.in \ + mkinstalldirs missing config.nice config.sub config.guess configure configure.ac \ aclocal.m4 config.h config.h.in conftest* ltmain.sh libtool config.cache autom4te.cache/ \ config.log config.status Makefile Makefile.fragments Makefile.objects confdefs.h \ run-tests*.php tests/*.diff tests/*.exp tests/*.log tests/*.out tests/*.php" @@ -153,7 +153,7 @@ phpize_replace_prefix() { $SED \ -e "s#@prefix@#$prefix#" \ - < "$phpdir/phpize.m4" > configure.in + < "$phpdir/phpize.m4" > configure.ac } phpize_autotools() diff --git a/scripts/phpize.m4 b/scripts/phpize.m4 index d5f5f47..1094e28 100644 --- a/scripts/phpize.m4 +++ b/scripts/phpize.m4 @@ -1,4 +1,4 @@ -dnl This file becomes configure.in for self-contained extensions. +dnl This file becomes configure.ac for self-contained extensions. AC_PREREQ(2.59) AC_INIT(config.m4) diff --git a/win32/build/config.w32 b/win32/build/config.w32 index 188c1dc..80e815c 100644 --- a/win32/build/config.w32 +++ b/win32/build/config.w32 @@ -1,6 +1,6 @@ // vim:ft=javascript // $Id$ -// "Master" config file; think of it as a configure.in +// "Master" config file; think of it as a configure.ac // equivalent. ARG_WITH("toolset", "Toolset to use for the compilation, give: vs, clang, icc. " + diff --git a/win32/build/confutils.js b/win32/build/confutils.js index be6fb62..8c6d3f6 100644 --- a/win32/build/confutils.js +++ b/win32/build/confutils.js @@ -96,7 +96,7 @@ if (typeof(CWD) == "undefined") { CWD = FSO.GetParentFolderName(FSO.GetAbsolutePathName("README.GIT-RULES")); } -/* defaults; we pick up the precise versions from configure.in */ +/* defaults; we pick up the precise versions from configure.ac */ var PHP_VERSION = 7; var PHP_MINOR_VERSION = 1; var PHP_RELEASE_VERSION = 0; @@ -106,7 +106,7 @@ var PHP_VERSION_STRING = "7.2.0"; /* Get version numbers and DEFINE as a string */ function get_version_numbers() { - var cin = file_get_contents("configure.in"); + var cin = file_get_contents("configure.ac"); if (cin.match(new RegExp("PHP_MAJOR_VERSION=(\\d+)"))) { PHP_VERSION = RegExp.$1;