2018-07-03 08:52:16 +08:00
|
|
|
## -*- autoconf -*-
|
1999-09-28 00:34:28 +08:00
|
|
|
dnl ## Process this file with autoconf to produce a configure script.
|
1999-04-17 08:37:12 +08:00
|
|
|
|
2005-05-30 02:04:35 +08:00
|
|
|
dnl include Zend specific macro definitions first
|
|
|
|
dnl -------------------------------------------------------------------------
|
|
|
|
sinclude(Zend/acinclude.m4)
|
2002-01-27 07:57:17 +08:00
|
|
|
|
2018-10-21 19:06:58 +08:00
|
|
|
dnl Basic autoconf initialization, generation of config.nice.
|
2002-01-27 07:57:17 +08:00
|
|
|
dnl -------------------------------------------------------------------------
|
|
|
|
|
2018-10-10 03:06:10 +08:00
|
|
|
AC_PREREQ([2.68])
|
2012-04-13 22:32:41 +08:00
|
|
|
AC_INIT(README.GIT-RULES)
|
2018-12-02 17:39:43 +08:00
|
|
|
AC_CONFIG_AUX_DIR([build])
|
2018-10-11 18:58:41 +08:00
|
|
|
AC_PRESERVE_HELP_ORDER
|
2002-01-27 07:57:17 +08:00
|
|
|
|
|
|
|
PHP_CONFIG_NICE(config.nice)
|
|
|
|
|
2005-01-07 14:12:42 +08:00
|
|
|
PHP_CANONICAL_HOST_TARGET
|
2004-11-04 07:05:18 +08:00
|
|
|
|
2018-07-05 09:06:06 +08:00
|
|
|
AC_CONFIG_HEADERS([main/php_config.h])
|
2011-05-16 08:14:47 +08:00
|
|
|
AH_TOP([
|
2017-06-09 15:29:30 +08:00
|
|
|
#ifndef PHP_CONFIG_H
|
|
|
|
#define PHP_CONFIG_H
|
|
|
|
|
2011-05-16 08:14:47 +08:00
|
|
|
#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
|
|
|
|
])
|
|
|
|
AH_BOTTOM([
|
|
|
|
#ifndef ZEND_ACCONFIG_H_NO_C_PROTOS
|
|
|
|
|
2018-09-16 05:59:45 +08:00
|
|
|
#include <stdlib.h>
|
2011-05-16 08:14:47 +08:00
|
|
|
|
|
|
|
#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
|
|
|
|
|
2018-09-16 07:14:08 +08:00
|
|
|
#include <string.h>
|
2011-05-16 08:14:47 +08:00
|
|
|
|
2018-10-20 16:56:02 +08:00
|
|
|
#if defined(__cplusplus) && __cplusplus >= 201103L
|
|
|
|
extern "C++" {
|
|
|
|
#include <cmath>
|
|
|
|
#define zend_isnan std::isnan
|
|
|
|
#define zend_isinf std::isinf
|
|
|
|
#define zend_finite std::isfinite
|
|
|
|
}
|
|
|
|
#else
|
2011-05-16 08:14:47 +08:00
|
|
|
#include <math.h>
|
|
|
|
|
|
|
|
#ifndef zend_isnan
|
2018-10-20 16:56:02 +08:00
|
|
|
#if HAVE_DECL_ISNAN
|
2011-05-16 08:14:47 +08:00
|
|
|
#define zend_isnan(a) isnan(a)
|
|
|
|
#elif defined(HAVE_FPCLASS)
|
|
|
|
#define zend_isnan(a) ((fpclass(a) == FP_SNAN) || (fpclass(a) == FP_QNAN))
|
|
|
|
#else
|
2017-02-05 09:30:20 +08:00
|
|
|
#define zend_isnan(a) ((a) != (a))
|
2011-05-16 08:14:47 +08:00
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
2018-10-20 16:56:02 +08:00
|
|
|
#if HAVE_DECL_ISINF
|
2011-05-16 08:14:47 +08:00
|
|
|
#define zend_isinf(a) isinf(a)
|
|
|
|
#elif defined(INFINITY)
|
|
|
|
/* Might not work, but is required by ISO C99 */
|
2017-02-03 01:52:27 +08:00
|
|
|
#define zend_isinf(a) (((a)==INFINITY || (a)==-INFINITY)?1:0)
|
2011-05-16 08:14:47 +08:00
|
|
|
#elif defined(HAVE_FPCLASS)
|
|
|
|
#define zend_isinf(a) ((fpclass(a) == FP_PINF) || (fpclass(a) == FP_NINF))
|
|
|
|
#else
|
|
|
|
#define zend_isinf(a) 0
|
|
|
|
#endif
|
|
|
|
|
2018-10-20 16:56:02 +08:00
|
|
|
#if HAVE_DECL_ISFINITE
|
2011-05-16 08:14:47 +08:00
|
|
|
#define zend_finite(a) isfinite(a)
|
2014-09-06 19:14:43 +08:00
|
|
|
#elif defined(HAVE_FINITE)
|
|
|
|
#define zend_finite(a) finite(a)
|
2011-05-16 08:14:47 +08:00
|
|
|
#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
|
|
|
|
|
2018-10-20 16:56:02 +08:00
|
|
|
#endif
|
2011-05-16 08:14:47 +08:00
|
|
|
#endif /* ifndef ZEND_ACCONFIG_H_NO_C_PROTOS */
|
|
|
|
|
|
|
|
#undef PTHREADS
|
2017-06-09 15:29:30 +08:00
|
|
|
|
|
|
|
#endif /* PHP_CONFIG_H */
|
2011-05-16 08:14:47 +08:00
|
|
|
])
|
2002-01-27 07:57:17 +08:00
|
|
|
|
2014-08-15 15:06:26 +08:00
|
|
|
PHP_MAJOR_VERSION=7
|
2018-07-31 19:56:24 +08:00
|
|
|
PHP_MINOR_VERSION=4
|
2012-11-14 03:43:08 +08:00
|
|
|
PHP_RELEASE_VERSION=0
|
2016-07-06 03:33:22 +08:00
|
|
|
PHP_EXTRA_VERSION="-dev"
|
2007-07-27 06:45:59 +08:00
|
|
|
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)
|
2002-01-27 07:57:17 +08:00
|
|
|
|
2002-03-13 17:20:49 +08:00
|
|
|
dnl Define where extension directories are located in the configure context
|
2015-11-16 18:04:10 +08:00
|
|
|
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
|
2004-12-30 15:08:39 +08:00
|
|
|
AC_DEFUN([PHP_ALWAYS_SHARED],[])dnl
|
2002-01-27 07:57:17 +08:00
|
|
|
|
|
|
|
dnl Setting up the PHP version based on the information above.
|
|
|
|
dnl -------------------------------------------------------------------------
|
1999-04-17 08:37:12 +08:00
|
|
|
|
1999-07-22 05:56:25 +08:00
|
|
|
echo "/* automatically generated by configure */" > php_version.h.new
|
2015-11-12 04:08:15 +08:00
|
|
|
echo "/* edit configure.ac to change version number */" >> php_version.h.new
|
2007-07-27 06:45:59 +08:00
|
|
|
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
|
1999-07-22 05:56:25 +08:00
|
|
|
echo "#define PHP_VERSION \"$PHP_VERSION\"" >> php_version.h.new
|
2006-07-27 16:53:16 +08:00
|
|
|
echo "#define PHP_VERSION_ID $PHP_VERSION_ID" >> php_version.h.new
|
2003-03-07 14:18:17 +08:00
|
|
|
cmp php_version.h.new $srcdir/main/php_version.h >/dev/null 2>&1
|
1999-04-25 05:21:35 +08:00
|
|
|
if test $? -ne 0 ; then
|
2008-07-21 18:17:36 +08:00
|
|
|
rm -f $srcdir/main/php_version.h && mv php_version.h.new $srcdir/main/php_version.h && \
|
|
|
|
echo 'Updated main/php_version.h'
|
1999-04-17 08:37:12 +08:00
|
|
|
else
|
2008-07-21 18:17:36 +08:00
|
|
|
rm -f php_version.h.new
|
1999-04-17 08:37:12 +08:00
|
|
|
fi
|
|
|
|
|
2002-01-27 07:57:17 +08:00
|
|
|
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`
|
|
|
|
|
2003-03-10 22:32:47 +08:00
|
|
|
PHP_INIT_BUILD_SYSTEM
|
|
|
|
|
2002-01-27 07:57:17 +08:00
|
|
|
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`
|
|
|
|
|
2002-04-26 18:17:40 +08:00
|
|
|
php_abs_top_srcdir=$abs_srcdir
|
|
|
|
php_abs_top_builddir=$abs_builddir
|
2002-04-23 10:51:17 +08:00
|
|
|
|
2002-01-27 07:57:17 +08:00
|
|
|
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 -------------------------------------------------------------------------
|
|
|
|
|
2018-05-15 05:25:37 +08:00
|
|
|
PKG_PROG_PKG_CONFIG
|
2008-11-17 23:17:49 +08:00
|
|
|
AC_PROG_CC([cc gcc])
|
2006-12-05 02:28:49 +08:00
|
|
|
PHP_DETECT_ICC
|
2008-11-07 04:42:11 +08:00
|
|
|
PHP_DETECT_SUNCC
|
2002-01-27 07:57:17 +08:00
|
|
|
dnl Change to AC_PROG_CC_STDC when we start requiring a post-2.13 autoconf
|
2002-03-07 22:20:02 +08:00
|
|
|
dnl AC_PROG_CC_STDC
|
2002-01-27 07:57:17 +08:00
|
|
|
AC_PROG_CPP
|
2018-07-25 15:34:25 +08:00
|
|
|
AC_USE_SYSTEM_EXTENSIONS
|
2005-02-25 02:11:36 +08:00
|
|
|
AC_PROG_LN_S
|
2002-07-18 05:56:40 +08:00
|
|
|
|
2004-11-03 22:07:09 +08:00
|
|
|
dnl Support systems with system libraries in e.g. /usr/lib64
|
2007-07-12 07:20:37 +08:00
|
|
|
PHP_ARG_WITH(libdir, for system library directory,
|
|
|
|
[ --with-libdir=NAME Look for libraries in .../NAME rather than .../lib],lib,no)
|
2004-11-03 22:07:09 +08:00
|
|
|
|
2007-08-20 22:28:45 +08:00
|
|
|
PHP_ARG_ENABLE(rpath, whether to enable runpaths,
|
|
|
|
[ --disable-rpath Disable passing additional runtime library
|
|
|
|
search paths], yes, no)
|
|
|
|
|
2002-01-27 07:57:17 +08:00
|
|
|
dnl check for -R, etc. switch
|
2002-07-18 05:56:40 +08:00
|
|
|
PHP_RUNPATH_SWITCH
|
|
|
|
|
2005-02-25 02:11:36 +08:00
|
|
|
dnl Checks for some support/generator progs
|
|
|
|
PHP_PROG_AWK
|
|
|
|
PHP_PROG_BISON
|
2008-03-17 05:06:55 +08:00
|
|
|
PHP_PROG_RE2C
|
|
|
|
|
2008-07-17 00:22:43 +08:00
|
|
|
dnl Check if bison generated files exist when bison does not..
|
|
|
|
case $php_cv_bison_version in
|
|
|
|
""|invalid[)]
|
2008-07-17 00:29:37 +08:00
|
|
|
if ! test -f "$abs_srcdir/Zend/zend_language_parser.h" || ! test -f "$abs_srcdir/Zend/zend_language_parser.c" ; then
|
2012-03-25 00:16:50 +08:00
|
|
|
AC_MSG_ERROR([bison is required to build PHP/Zend when building a GIT checkout!])
|
2008-07-17 00:22:43 +08:00
|
|
|
fi
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
2008-03-17 05:06:55 +08:00
|
|
|
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])
|
2018-07-30 07:50:24 +08:00
|
|
|
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[
|
2008-07-21 18:17:36 +08:00
|
|
|
int main(int argc, const char **argv)
|
|
|
|
{
|
|
|
|
argc = argc;
|
|
|
|
argv = argv;
|
2008-03-17 05:06:55 +08:00
|
|
|
label1:
|
|
|
|
label2:
|
2008-07-21 18:17:36 +08:00
|
|
|
static void *adr[] = { &&label1, &&label2};
|
|
|
|
goto *adr[0];
|
|
|
|
return 0;
|
|
|
|
}
|
2018-07-30 07:50:24 +08:00
|
|
|
]])],[
|
2008-03-17 05:06:55 +08:00
|
|
|
RE2C_FLAGS=""
|
|
|
|
AC_MSG_RESULT([no])
|
|
|
|
],[
|
|
|
|
RE2C_FLAGS="-g"
|
|
|
|
AC_MSG_RESULT([yes])
|
|
|
|
])
|
|
|
|
fi
|
|
|
|
PHP_SUBST(RE2C_FLAGS)
|
2004-12-21 04:37:45 +08:00
|
|
|
|
2002-07-23 09:58:02 +08:00
|
|
|
dnl Platform-specific compile settings.
|
|
|
|
dnl -------------------------------------------------------------------------
|
|
|
|
|
2005-06-03 05:29:24 +08:00
|
|
|
dnl See bug #28605
|
|
|
|
case $host_cpu in
|
2008-07-21 18:17:36 +08:00
|
|
|
alpha*)
|
2005-06-03 05:29:24 +08:00
|
|
|
if test "$GCC" = "yes"; then
|
|
|
|
CFLAGS="$CFLAGS -mieee"
|
|
|
|
else
|
|
|
|
CFLAGS="$CFLAGS -ieee"
|
|
|
|
fi
|
|
|
|
;;
|
2008-11-07 04:42:11 +08:00
|
|
|
sparc*)
|
|
|
|
if test "$SUNCC" = "yes"; then
|
2010-01-12 17:28:02 +08:00
|
|
|
CFLAGS="$CFLAGS -xmemalign=8s"
|
2008-11-07 04:42:11 +08:00
|
|
|
fi
|
2009-06-26 23:42:11 +08:00
|
|
|
;;
|
2005-06-03 05:29:24 +08:00
|
|
|
esac
|
|
|
|
|
Use AX_CHECK_COMPILE_FLAG macro to check for -fvisibility=hidden support.
The existing check for -fvisibility=hidden support came from a time
when only GCC had it. The test for it used a regular expression to
parse the GCC major version from the output of `$CC --version`, and
would look for version 4 or greater.
The regular expression used to accomplish this is doomed, however,
since GCC can be built with a custom version string
(--with-pkgversion). Moreover, the $CC variable can be set to
something that confuses it but is otherwise valid. For example, it
would fail with CC=x86_64-pc-linux-gnu-gcc.
This commit fixes two aspects of the feature test. First, it no longer
limits the test to GCC. At least clang now supports the flag, and can
make use of it when GCC is its backend. Second, support for the flag
is tested directly, by attempting to pass it to the compiler, rather
than by parsing its version string. The latter is accomplished with a
new macro, AX_CHECK_COMPILE_FLAG, taken from the autoconf archive.
The new macro has been added to acinclude.m4, and the test stanza in
configure.in has been replaced with a single call to the new macro.
Note that the new macro calls AC_PREREQ(2.64) -- a more stringent
requirement than the existing AC_PREREQ(2.59) in configure.in. The
difference represents about six years of autoconf releases, from v2.59
in December of 2003 to v2.64 in July of 2009.
This problem was noticed by Brian Evans, who also suggested the fix.
PHP-Bug: 73062
2016-09-10 23:20:50 +08:00
|
|
|
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.
|
2018-01-15 21:30:56 +08:00
|
|
|
AX_CHECK_COMPILE_FLAG([-fvisibility=hidden],
|
|
|
|
[CFLAGS="$CFLAGS -fvisibility=hidden"])
|
2008-01-30 17:41:12 +08:00
|
|
|
|
2002-07-23 09:58:02 +08:00
|
|
|
case $host_alias in
|
2008-07-21 18:17:36 +08:00
|
|
|
*solaris*)
|
2002-07-23 09:58:02 +08:00
|
|
|
CPPFLAGS="$CPPFLAGS -D_POSIX_PTHREAD_SEMANTICS"
|
|
|
|
if test "${enable_libgcc+set}" != "set" && test "$GCC" = "yes"; then
|
|
|
|
enable_libgcc=yes
|
|
|
|
fi
|
|
|
|
;;
|
2008-07-21 18:17:36 +08:00
|
|
|
*dgux*)
|
|
|
|
CPPFLAGS="$CPPFLAGS -D_BSD_TIMEOFDAY_FLAVOR"
|
|
|
|
;;
|
2018-12-02 04:10:03 +08:00
|
|
|
*darwin*)
|
2007-02-07 19:16:52 +08:00
|
|
|
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
|
2008-07-21 18:17:36 +08:00
|
|
|
php_multiple_shlib_versions_ok=yes
|
|
|
|
;;
|
|
|
|
*beos*)
|
2002-07-23 09:58:02 +08:00
|
|
|
beos_threads=1
|
2008-07-21 18:17:36 +08:00
|
|
|
LIBS="$LIBS -lbe -lroot"
|
|
|
|
;;
|
|
|
|
*mips*)
|
|
|
|
CPPFLAGS="$CPPFLAGS -D_XPG_IV"
|
|
|
|
;;
|
|
|
|
*hpux*)
|
2004-12-16 19:49:48 +08:00
|
|
|
if test "$GCC" = "yes"; then
|
2005-02-25 03:27:10 +08:00
|
|
|
CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED"
|
|
|
|
fi
|
|
|
|
;;
|
2002-07-23 09:58:02 +08:00
|
|
|
esac
|
|
|
|
|
2005-01-10 09:11:09 +08:00
|
|
|
# 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
|
2008-07-21 18:17:36 +08:00
|
|
|
i?86-*-linux*|i?86-*-freebsd*)
|
2005-01-20 01:35:55 +08:00
|
|
|
if test "${with_pic+set}" != "set" || test "$with_pic" = "no"; then
|
2005-01-10 09:11:09 +08:00
|
|
|
with_pic=no
|
|
|
|
AC_MSG_RESULT(yes)
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT(no)
|
|
|
|
fi
|
|
|
|
;;
|
2008-07-21 18:17:36 +08:00
|
|
|
*)
|
|
|
|
AC_MSG_RESULT(no)
|
|
|
|
;;
|
2005-01-10 09:11:09 +08:00
|
|
|
esac
|
|
|
|
|
2002-01-27 07:57:17 +08:00
|
|
|
|
|
|
|
dnl Include Zend and TSRM configurations.
|
|
|
|
dnl -------------------------------------------------------------------------
|
2000-08-07 21:24:06 +08:00
|
|
|
|
1999-12-20 05:02:54 +08:00
|
|
|
sinclude(Zend/Zend.m4)
|
2006-08-22 21:01:44 +08:00
|
|
|
sinclude(TSRM/threads.m4)
|
1999-12-17 22:28:35 +08:00
|
|
|
sinclude(TSRM/tsrm.m4)
|
1999-04-17 08:37:12 +08:00
|
|
|
|
2009-11-29 14:13:22 +08:00
|
|
|
dnl .
|
2002-01-27 07:57:17 +08:00
|
|
|
dnl -------------------------------------------------------------------------
|
2000-05-18 19:35:17 +08:00
|
|
|
|
2002-01-27 07:57:17 +08:00
|
|
|
PTHREADS_CHECK
|
|
|
|
PHP_HELP_SEPARATOR([SAPI modules:])
|
2006-04-10 20:16:17 +08:00
|
|
|
PHP_SHLIB_SUFFIX_NAMES
|
2000-05-04 17:42:27 +08:00
|
|
|
PHP_BUILD_PROGRAM
|
2010-11-14 07:13:07 +08:00
|
|
|
PHP_SAPI=none
|
2002-01-27 07:57:17 +08:00
|
|
|
|
|
|
|
|
|
|
|
dnl SAPI configuration.
|
|
|
|
dnl -------------------------------------------------------------------------
|
|
|
|
|
2000-06-13 15:49:17 +08:00
|
|
|
dnl paths to the targets are relative to the build directory
|
2007-07-27 06:45:59 +08:00
|
|
|
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]
|
2000-05-04 17:42:27 +08:00
|
|
|
|
|
|
|
PHP_CONFIGURE_PART(Configuring SAPI modules)
|
|
|
|
|
2003-01-28 18:59:12 +08:00
|
|
|
esyscmd(./build/config-stubs sapi)
|
2000-05-04 17:42:27 +08:00
|
|
|
|
2002-10-21 11:12:27 +08:00
|
|
|
dnl Show which main SAPI was selected
|
2001-09-07 04:55:24 +08:00
|
|
|
AC_MSG_CHECKING([for chosen SAPI module])
|
|
|
|
AC_MSG_RESULT([$PHP_SAPI])
|
2000-05-04 17:42:27 +08:00
|
|
|
|
2010-11-14 07:13:07 +08:00
|
|
|
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
|
2003-01-20 05:37:40 +08:00
|
|
|
if test "$enable_maintainer_zts" = "yes"; then
|
2000-05-04 17:42:27 +08:00
|
|
|
PTHREADS_ASSIGN_VARS
|
|
|
|
PTHREADS_FLAGS
|
|
|
|
fi
|
|
|
|
|
2002-01-27 07:57:17 +08:00
|
|
|
dnl Starting system checks.
|
|
|
|
dnl -------------------------------------------------------------------------
|
1999-04-17 08:37:12 +08:00
|
|
|
|
2002-01-27 07:57:17 +08:00
|
|
|
PHP_CONFIGURE_PART(Running system checks)
|
|
|
|
|
2005-02-25 02:11:36 +08:00
|
|
|
dnl Find sendmail binary
|
2002-01-27 07:57:17 +08:00
|
|
|
PHP_PROG_SENDMAIL
|
2005-02-25 02:11:36 +08:00
|
|
|
|
2000-04-13 20:24:28 +08:00
|
|
|
dnl Check whether the system uses EBCDIC (not ASCII) as its native codeset
|
|
|
|
PHP_EBCDIC
|
2005-02-25 02:11:36 +08:00
|
|
|
|
|
|
|
dnl Check whether the system byte ordering is bigendian
|
|
|
|
PHP_C_BIGENDIAN
|
|
|
|
|
2007-02-21 04:11:11 +08:00
|
|
|
dnl Check whether writing to stdout works
|
|
|
|
PHP_TEST_WRITE_STDOUT
|
|
|
|
|
1999-04-17 08:37:12 +08:00
|
|
|
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
|
2008-07-21 18:17:36 +08:00
|
|
|
CPPFLAGS="$CPPFLAGS -I/usr/pkg/include"
|
|
|
|
LDFLAGS="$LDFLAGS -L/usr/pkg/lib"
|
1999-04-17 08:37:12 +08:00
|
|
|
fi
|
2002-01-27 07:57:17 +08:00
|
|
|
test -d /usr/ucblib && PHP_ADD_LIBPATH(/usr/ucblib)
|
1999-04-17 08:37:12 +08:00
|
|
|
|
|
|
|
|
2002-01-27 07:57:17 +08:00
|
|
|
dnl First, library checks.
|
|
|
|
dnl -------------------------------------------------------------------------
|
|
|
|
|
2000-05-07 07:26:41 +08:00
|
|
|
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
|
2002-03-22 01:05:47 +08:00
|
|
|
dnl Also, uClibc will bark at linking with glibc's libnsl.
|
2000-05-07 07:26:41 +08:00
|
|
|
|
1. PHP_CHECK_FUNC(func, lib1, lib2, ..., libn) searches for
func and __func using LIBS, and if unsuccessful, searches
each specified lib. Defines HAVE_FUNC, if found. If func/__func is
found in library foo, HAVE_LIBFOO is defined.
(Jani, me)
2. Autoconf 2.5x is more pedantic regarding locating header files.
We include the proper header files now in the check. (me)
3. The nsl/bind/socket/etc checks have been rewritten using PHP_CHECK_FUNC.
This ensures that no extra library is used, if the symbol is
available in libc which avoids issues on BSD/OS, OpenBSD and others.
(Jani)
2002-07-05 05:07:08 +08:00
|
|
|
PHP_CHECK_FUNC(socket, socket)
|
2004-12-13 00:10:35 +08:00
|
|
|
PHP_CHECK_FUNC(socketpair, socket)
|
1. PHP_CHECK_FUNC(func, lib1, lib2, ..., libn) searches for
func and __func using LIBS, and if unsuccessful, searches
each specified lib. Defines HAVE_FUNC, if found. If func/__func is
found in library foo, HAVE_LIBFOO is defined.
(Jani, me)
2. Autoconf 2.5x is more pedantic regarding locating header files.
We include the proper header files now in the check. (me)
3. The nsl/bind/socket/etc checks have been rewritten using PHP_CHECK_FUNC.
This ensures that no extra library is used, if the symbol is
available in libc which avoids issues on BSD/OS, OpenBSD and others.
(Jani)
2002-07-05 05:07:08 +08:00
|
|
|
PHP_CHECK_FUNC(htonl, socket)
|
|
|
|
PHP_CHECK_FUNC(gethostname, nsl)
|
|
|
|
PHP_CHECK_FUNC(gethostbyaddr, nsl)
|
|
|
|
PHP_CHECK_FUNC(yp_get_default_domain, nsl)
|
2000-05-07 07:26:41 +08:00
|
|
|
|
2002-10-24 20:21:07 +08:00
|
|
|
PHP_CHECK_FUNC(dlopen, dl)
|
2002-10-27 05:28:35 +08:00
|
|
|
if test "$ac_cv_func_dlopen" = "yes"; then
|
|
|
|
AC_DEFINE(HAVE_LIBDL, 1, [ ])
|
|
|
|
fi
|
1999-09-21 22:51:24 +08:00
|
|
|
AC_CHECK_LIB(m, sin)
|
1999-04-17 08:37:12 +08:00
|
|
|
|
2009-01-12 07:37:16 +08:00
|
|
|
dnl Check for inet_aton
|
1. PHP_CHECK_FUNC(func, lib1, lib2, ..., libn) searches for
func and __func using LIBS, and if unsuccessful, searches
each specified lib. Defines HAVE_FUNC, if found. If func/__func is
found in library foo, HAVE_LIBFOO is defined.
(Jani, me)
2. Autoconf 2.5x is more pedantic regarding locating header files.
We include the proper header files now in the check. (me)
3. The nsl/bind/socket/etc checks have been rewritten using PHP_CHECK_FUNC.
This ensures that no extra library is used, if the symbol is
available in libc which avoids issues on BSD/OS, OpenBSD and others.
(Jani)
2002-07-05 05:07:08 +08:00
|
|
|
dnl in -lc, -lbind and -lresolv
|
|
|
|
PHP_CHECK_FUNC(inet_aton, resolv, bind)
|
2002-03-28 19:21:47 +08:00
|
|
|
|
2002-01-27 07:57:17 +08:00
|
|
|
dnl Then headers.
|
|
|
|
dnl -------------------------------------------------------------------------
|
|
|
|
|
1999-04-17 08:37:12 +08:00
|
|
|
dnl QNX requires unix.h to allow functions in libunix to work properly
|
1. PHP_CHECK_FUNC(func, lib1, lib2, ..., libn) searches for
func and __func using LIBS, and if unsuccessful, searches
each specified lib. Defines HAVE_FUNC, if found. If func/__func is
found in library foo, HAVE_LIBFOO is defined.
(Jani, me)
2. Autoconf 2.5x is more pedantic regarding locating header files.
We include the proper header files now in the check. (me)
3. The nsl/bind/socket/etc checks have been rewritten using PHP_CHECK_FUNC.
This ensures that no extra library is used, if the symbol is
available in libc which avoids issues on BSD/OS, OpenBSD and others.
(Jani)
2002-07-05 05:07:08 +08:00
|
|
|
AC_CHECK_HEADERS([ \
|
2004-12-21 09:07:24 +08:00
|
|
|
inttypes.h \
|
|
|
|
stdint.h \
|
2003-09-08 21:15:22 +08:00
|
|
|
dirent.h \
|
2002-01-27 07:57:17 +08:00
|
|
|
ApplicationServices/ApplicationServices.h \
|
2003-08-21 14:24:17 +08:00
|
|
|
sys/param.h \
|
1. PHP_CHECK_FUNC(func, lib1, lib2, ..., libn) searches for
func and __func using LIBS, and if unsuccessful, searches
each specified lib. Defines HAVE_FUNC, if found. If func/__func is
found in library foo, HAVE_LIBFOO is defined.
(Jani, me)
2. Autoconf 2.5x is more pedantic regarding locating header files.
We include the proper header files now in the check. (me)
3. The nsl/bind/socket/etc checks have been rewritten using PHP_CHECK_FUNC.
This ensures that no extra library is used, if the symbol is
available in libc which avoids issues on BSD/OS, OpenBSD and others.
(Jani)
2002-07-05 05:07:08 +08:00
|
|
|
sys/types.h \
|
|
|
|
sys/time.h \
|
|
|
|
netinet/in.h \
|
2000-06-22 05:49:33 +08:00
|
|
|
alloca.h \
|
1999-09-18 20:14:49 +08:00
|
|
|
arpa/inet.h \
|
2009-08-06 07:20:17 +08:00
|
|
|
arpa/nameser.h \
|
1999-09-18 20:14:49 +08:00
|
|
|
crypt.h \
|
2009-08-06 07:20:17 +08:00
|
|
|
dns.h \
|
1999-09-18 20:14:49 +08:00
|
|
|
fcntl.h \
|
|
|
|
grp.h \
|
2001-01-05 19:07:52 +08:00
|
|
|
ieeefp.h \
|
2001-07-04 18:10:30 +08:00
|
|
|
langinfo.h \
|
1999-09-18 20:14:49 +08:00
|
|
|
limits.h \
|
|
|
|
locale.h \
|
2002-08-21 20:40:40 +08:00
|
|
|
monetary.h \
|
2002-10-24 21:15:49 +08:00
|
|
|
netdb.h \
|
2017-04-18 06:22:34 +08:00
|
|
|
poll.h \
|
1999-09-18 20:14:49 +08:00
|
|
|
pwd.h \
|
2001-02-06 08:03:44 +08:00
|
|
|
resolv.h \
|
1999-09-18 20:14:49 +08:00
|
|
|
signal.h \
|
2000-06-22 05:49:33 +08:00
|
|
|
syslog.h \
|
2001-01-22 01:29:15 +08:00
|
|
|
sysexits.h \
|
2004-04-19 23:07:30 +08:00
|
|
|
sys/ioctl.h \
|
1999-09-18 20:14:49 +08:00
|
|
|
sys/file.h \
|
|
|
|
sys/mman.h \
|
2001-05-22 10:45:04 +08:00
|
|
|
sys/mount.h \
|
2002-03-19 11:49:26 +08:00
|
|
|
sys/poll.h \
|
2000-06-22 05:49:33 +08:00
|
|
|
sys/resource.h \
|
1999-09-18 20:14:49 +08:00
|
|
|
sys/select.h \
|
|
|
|
sys/socket.h \
|
2007-06-25 22:22:49 +08:00
|
|
|
sys/stat.h \
|
1999-09-18 20:14:49 +08:00
|
|
|
sys/statfs.h \
|
|
|
|
sys/statvfs.h \
|
2001-08-13 05:23:15 +08:00
|
|
|
sys/vfs.h \
|
2001-01-22 01:29:15 +08:00
|
|
|
sys/sysexits.h \
|
1999-09-18 20:14:49 +08:00
|
|
|
sys/wait.h \
|
2006-07-26 16:57:44 +08:00
|
|
|
sys/loadavg.h \
|
2004-04-19 23:07:30 +08:00
|
|
|
termios.h \
|
1999-09-18 20:14:49 +08:00
|
|
|
unistd.h \
|
|
|
|
unix.h \
|
2000-08-07 01:42:54 +08:00
|
|
|
utime.h \
|
2002-03-31 07:44:50 +08:00
|
|
|
sys/utsname.h \
|
2002-11-05 04:08:09 +08:00
|
|
|
sys/ipc.h \
|
2005-11-30 07:20:01 +08:00
|
|
|
dlfcn.h \
|
2018-02-12 20:46:17 +08:00
|
|
|
tmmintrin.h \
|
|
|
|
nmmintrin.h \
|
|
|
|
immintrin.h
|
1. PHP_CHECK_FUNC(func, lib1, lib2, ..., libn) searches for
func and __func using LIBS, and if unsuccessful, searches
each specified lib. Defines HAVE_FUNC, if found. If func/__func is
found in library foo, HAVE_LIBFOO is defined.
(Jani, me)
2. Autoconf 2.5x is more pedantic regarding locating header files.
We include the proper header files now in the check. (me)
3. The nsl/bind/socket/etc checks have been rewritten using PHP_CHECK_FUNC.
This ensures that no extra library is used, if the symbol is
available in libc which avoids issues on BSD/OS, OpenBSD and others.
(Jani)
2002-07-05 05:07:08 +08:00
|
|
|
],[],[],[
|
2003-08-21 14:24:17 +08:00
|
|
|
#ifdef HAVE_SYS_PARAM_H
|
|
|
|
#include <sys/param.h>
|
|
|
|
#endif
|
1. PHP_CHECK_FUNC(func, lib1, lib2, ..., libn) searches for
func and __func using LIBS, and if unsuccessful, searches
each specified lib. Defines HAVE_FUNC, if found. If func/__func is
found in library foo, HAVE_LIBFOO is defined.
(Jani, me)
2. Autoconf 2.5x is more pedantic regarding locating header files.
We include the proper header files now in the check. (me)
3. The nsl/bind/socket/etc checks have been rewritten using PHP_CHECK_FUNC.
This ensures that no extra library is used, if the symbol is
available in libc which avoids issues on BSD/OS, OpenBSD and others.
(Jani)
2002-07-05 05:07:08 +08:00
|
|
|
#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
|
|
|
|
])
|
1999-04-17 08:37:12 +08:00
|
|
|
|
2002-12-10 02:29:07 +08:00
|
|
|
PHP_FOPENCOOKIE
|
2003-03-17 21:40:45 +08:00
|
|
|
PHP_BROKEN_GETCWD
|
2018-09-11 18:23:20 +08:00
|
|
|
if test "$GCC" = "yes"; then
|
|
|
|
PHP_BROKEN_GCC_STRLEN_OPT
|
|
|
|
fi
|
2002-01-27 07:57:17 +08:00
|
|
|
|
1999-04-17 08:37:12 +08:00
|
|
|
dnl Checks for typedefs, structures, and compiler characteristics.
|
2002-01-27 07:57:17 +08:00
|
|
|
dnl -------------------------------------------------------------------------
|
|
|
|
|
1999-04-17 08:37:12 +08:00
|
|
|
AC_STRUCT_TIMEZONE
|
|
|
|
|
2005-02-25 02:11:36 +08:00
|
|
|
PHP_MISSING_TIME_R_DECL
|
|
|
|
PHP_MISSING_FCLOSE_DECL
|
1999-12-30 10:59:53 +08:00
|
|
|
PHP_STRUCT_FLOCK
|
|
|
|
PHP_SOCKLEN_T
|
1999-04-25 04:43:58 +08:00
|
|
|
|
- Add length modifiers(ll, j, t, h, hh)
# Still missing formats (%a, %A)
# Still missing modifier (l) in (%lc, %ls)
# Still missing modifier (L) in (%La, %LA, %Le, %LE, %Lf, %LF, %Lg, %LG)
# C99 requires any conversion to be able to produce at least 4095
# characters. Implementation only allows less then 512.
#
# Only inside ext/mbstring etc. we could use %lc and %ls. And none of the
# rest should affect us until we stay with double and avoid long double.
2003-09-14 17:12:54 +08:00
|
|
|
AC_CHECK_SIZEOF(size_t, 8)
|
|
|
|
AC_CHECK_SIZEOF(long long, 8)
|
|
|
|
AC_CHECK_SIZEOF(long long int, 8)
|
1999-05-16 19:55:34 +08:00
|
|
|
AC_CHECK_SIZEOF(long, 8)
|
|
|
|
AC_CHECK_SIZEOF(int, 4)
|
|
|
|
|
2007-06-27 22:40:08 +08:00
|
|
|
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)
|
|
|
|
|
2013-08-07 04:45:35 +08:00
|
|
|
dnl Check stdint types (must be after header check)
|
|
|
|
PHP_CHECK_STDINT_TYPES
|
|
|
|
|
2015-03-21 01:58:58 +08:00
|
|
|
dnl Check __builtin_expect
|
|
|
|
PHP_CHECK_BUILTIN_EXPECT
|
2015-12-03 18:28:41 +08:00
|
|
|
dnl Check __builtin_clz
|
|
|
|
PHP_CHECK_BUILTIN_CLZ
|
|
|
|
dnl Check __builtin_ctzl
|
|
|
|
PHP_CHECK_BUILTIN_CTZL
|
|
|
|
dnl Check __builtin_ctzll
|
|
|
|
PHP_CHECK_BUILTIN_CTZLL
|
2016-08-11 19:57:30 +08:00
|
|
|
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
|
2018-02-10 17:37:38 +08:00
|
|
|
dnl Check __builtin_cpu_init
|
|
|
|
PHP_CHECK_BUILTIN_CPU_INIT
|
2018-02-10 16:58:27 +08:00
|
|
|
dnl Check __builtin_cpu_supports
|
|
|
|
PHP_CHECK_BUILTIN_CPU_SUPPORTS
|
2015-03-21 01:58:58 +08:00
|
|
|
|
2018-02-12 20:46:17 +08:00
|
|
|
dnl Check instructions
|
|
|
|
PHP_CHECK_CPU_SUPPORTS([ssse3])
|
|
|
|
PHP_CHECK_CPU_SUPPORTS([sse4.2])
|
|
|
|
PHP_CHECK_CPU_SUPPORTS([avx])
|
|
|
|
PHP_CHECK_CPU_SUPPORTS([avx2])
|
|
|
|
|
2019-03-03 09:54:03 +08:00
|
|
|
dnl Check for structure members
|
|
|
|
AC_CHECK_MEMBERS([struct tm.tm_gmtoff],,,[#include <time.h>])
|
2018-07-29 19:12:33 +08:00
|
|
|
AC_CHECK_MEMBERS([struct stat.st_blksize, struct stat.st_rdev])
|
2018-07-30 00:48:35 +08:00
|
|
|
dnl AC_STRUCT_ST_BLOCKS will screw QNX because fileblocks.o does not exist
|
1999-04-17 08:37:12 +08:00
|
|
|
dnl The WARNING_LEVEL required because cc in QNX hates -w option without an argument
|
|
|
|
if test "`uname -s 2>/dev/null`" != "QNX"; then
|
2002-04-24 06:45:51 +08:00
|
|
|
AC_STRUCT_ST_BLOCKS
|
1999-04-17 08:37:12 +08:00
|
|
|
else
|
2002-04-24 06:45:51 +08:00
|
|
|
AC_MSG_WARN([warnings level for cc set to 0])
|
|
|
|
WARNING_LEVEL=0
|
1999-04-17 08:37:12 +08:00
|
|
|
fi
|
|
|
|
|
|
|
|
dnl Checks for types
|
|
|
|
AC_TYPE_SIZE_T
|
|
|
|
AC_TYPE_UID_T
|
|
|
|
|
2005-07-14 08:12:26 +08:00
|
|
|
dnl Checks for sockaddr_storage and sockaddr.sa_len
|
|
|
|
PHP_SOCKADDR_CHECKS
|
2002-10-29 22:57:12 +08:00
|
|
|
|
2018-06-28 21:26:45 +08:00
|
|
|
dnl Checks for GCC function attributes on all systems except ones without glibc
|
|
|
|
dnl Fix for these systems is already included in GCC 7, but not on GCC 6
|
2019-01-02 19:59:22 +08:00
|
|
|
dnl
|
|
|
|
dnl At least some versions of FreeBSD seem to have buggy ifunc support, see
|
|
|
|
dnl bug #77284. Conservatively don't use ifuncs on FreeBSD.
|
|
|
|
AS_CASE([$host_alias], [*-*-*android*|*-*-*uclibc*|*-*-*musl*|*freebsd*], [true], [
|
2018-06-28 21:26:45 +08:00
|
|
|
AX_GCC_FUNC_ATTRIBUTE([ifunc])
|
|
|
|
AX_GCC_FUNC_ATTRIBUTE([target])
|
|
|
|
])
|
2018-01-15 21:01:27 +08:00
|
|
|
|
2000-10-19 20:18:02 +08:00
|
|
|
dnl Check for IPv6 support
|
|
|
|
AC_CACHE_CHECK([for IPv6 support], ac_cv_ipv6_support,
|
2018-07-30 07:50:24 +08:00
|
|
|
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <sys/types.h>
|
2001-06-15 03:04:57 +08:00
|
|
|
#include <sys/socket.h>
|
2018-07-30 07:50:24 +08:00
|
|
|
#include <netinet/in.h>]], [[struct sockaddr_in6 s; struct in6_addr t=in6addr_any; int i=AF_INET6; s; t.s6_addr[0] = 0;]])],
|
2002-05-02 21:12:44 +08:00
|
|
|
[ac_cv_ipv6_support=yes], [ac_cv_ipv6_support=no])])
|
2000-09-08 01:56:12 +08:00
|
|
|
|
1999-04-17 08:37:12 +08:00
|
|
|
dnl Checks for library functions.
|
2002-01-27 07:57:17 +08:00
|
|
|
dnl -------------------------------------------------------------------------
|
|
|
|
|
1999-09-21 22:51:24 +08:00
|
|
|
AC_CHECK_FUNCS(
|
2003-01-28 04:39:31 +08:00
|
|
|
alphasort \
|
1999-11-27 01:07:41 +08:00
|
|
|
asctime_r \
|
2001-02-15 13:21:27 +08:00
|
|
|
chroot \
|
1999-11-27 01:07:41 +08:00
|
|
|
ctime_r \
|
1999-09-21 22:51:24 +08:00
|
|
|
cuserid \
|
2001-06-26 22:36:45 +08:00
|
|
|
crypt \
|
2018-01-16 06:10:58 +08:00
|
|
|
explicit_memset \
|
1999-09-21 22:51:24 +08:00
|
|
|
flock \
|
2002-10-20 21:45:59 +08:00
|
|
|
ftok \
|
2002-12-10 00:14:28 +08:00
|
|
|
funopen \
|
2001-01-13 19:48:47 +08:00
|
|
|
gai_strerror \
|
1999-09-21 22:51:24 +08:00
|
|
|
gcvt \
|
2006-02-17 06:49:13 +08:00
|
|
|
getloadavg \
|
1999-09-21 22:51:24 +08:00
|
|
|
getlogin \
|
2001-01-22 01:29:15 +08:00
|
|
|
getprotobyname \
|
|
|
|
getprotobynumber \
|
2001-05-20 06:21:40 +08:00
|
|
|
getservbyname \
|
|
|
|
getservbyport \
|
2008-12-31 22:30:38 +08:00
|
|
|
gethostname \
|
2000-02-23 21:57:06 +08:00
|
|
|
getrusage \
|
1999-09-21 22:51:24 +08:00
|
|
|
gettimeofday \
|
1999-11-27 01:07:41 +08:00
|
|
|
gmtime_r \
|
2006-11-30 07:34:49 +08:00
|
|
|
getpwnam_r \
|
|
|
|
getgrnam_r \
|
2007-01-10 07:27:22 +08:00
|
|
|
getpwuid_r \
|
2004-04-19 23:07:30 +08:00
|
|
|
grantpt \
|
2003-03-01 03:53:21 +08:00
|
|
|
inet_ntoa \
|
|
|
|
inet_ntop \
|
2003-10-25 01:09:36 +08:00
|
|
|
inet_pton \
|
2000-06-16 00:24:10 +08:00
|
|
|
isascii \
|
1999-09-21 22:51:24 +08:00
|
|
|
link \
|
1999-11-27 01:07:41 +08:00
|
|
|
localtime_r \
|
1999-09-21 22:51:24 +08:00
|
|
|
lockf \
|
2006-03-06 02:57:54 +08:00
|
|
|
lchown \
|
1999-09-21 22:51:24 +08:00
|
|
|
lrand48 \
|
|
|
|
memmove \
|
2000-09-09 19:54:04 +08:00
|
|
|
mkstemp \
|
1999-09-21 22:51:24 +08:00
|
|
|
mmap \
|
2001-07-04 18:10:30 +08:00
|
|
|
nl_langinfo \
|
2003-04-01 23:35:57 +08:00
|
|
|
perror \
|
2002-08-10 05:02:36 +08:00
|
|
|
poll \
|
2004-04-19 23:07:30 +08:00
|
|
|
ptsname \
|
1999-09-21 22:51:24 +08:00
|
|
|
putenv \
|
2001-10-23 19:14:51 +08:00
|
|
|
realpath \
|
1999-09-21 22:51:24 +08:00
|
|
|
random \
|
1999-11-27 01:33:53 +08:00
|
|
|
rand_r \
|
2003-01-28 04:39:31 +08:00
|
|
|
scandir \
|
1999-09-21 22:51:24 +08:00
|
|
|
setitimer \
|
|
|
|
setlocale \
|
2001-01-15 00:36:30 +08:00
|
|
|
localeconv \
|
2006-06-17 19:08:05 +08:00
|
|
|
setenv \
|
2004-04-19 23:07:30 +08:00
|
|
|
setpgid \
|
1999-09-21 22:51:24 +08:00
|
|
|
setsockopt \
|
|
|
|
setvbuf \
|
|
|
|
shutdown \
|
|
|
|
sin \
|
|
|
|
srand48 \
|
|
|
|
srandom \
|
|
|
|
statfs \
|
|
|
|
statvfs \
|
2000-06-10 01:21:40 +08:00
|
|
|
std_syslog \
|
1999-09-21 22:51:24 +08:00
|
|
|
strcasecmp \
|
2001-01-17 09:15:11 +08:00
|
|
|
strcoll \
|
1999-09-21 22:51:24 +08:00
|
|
|
strdup \
|
|
|
|
strerror \
|
|
|
|
strftime \
|
2008-12-13 07:43:18 +08:00
|
|
|
strnlen \
|
2004-09-29 12:57:19 +08:00
|
|
|
strptime \
|
1999-09-21 22:51:24 +08:00
|
|
|
strstr \
|
1999-11-27 01:33:53 +08:00
|
|
|
strtok_r \
|
1999-09-21 22:51:24 +08:00
|
|
|
symlink \
|
|
|
|
tempnam \
|
|
|
|
tzset \
|
2004-04-19 23:07:30 +08:00
|
|
|
unlockpt \
|
1999-09-21 22:51:24 +08:00
|
|
|
unsetenv \
|
|
|
|
usleep \
|
|
|
|
utime \
|
2008-11-28 03:45:27 +08:00
|
|
|
vasprintf \
|
|
|
|
asprintf \
|
2011-10-14 20:43:27 +08:00
|
|
|
nanosleep \
|
1999-09-21 22:51:24 +08:00
|
|
|
)
|
|
|
|
|
2009-12-02 16:54:50 +08:00
|
|
|
dnl Some systems (like OpenSolaris) do not have nanosleep in libc
|
2010-10-05 21:43:35 +08:00
|
|
|
PHP_CHECK_FUNC_LIB(nanosleep, rt)
|
2009-12-02 16:54:50 +08:00
|
|
|
|
2000-09-09 20:09:43 +08:00
|
|
|
dnl Check for getaddrinfo, should be a better way, but...
|
2004-03-13 05:45:55 +08:00
|
|
|
dnl Also check for working getaddrinfo
|
2000-09-09 20:09:43 +08:00
|
|
|
AC_CACHE_CHECK([for getaddrinfo], ac_cv_func_getaddrinfo,
|
2018-07-30 07:50:24 +08:00
|
|
|
[AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <netdb.h>]],
|
|
|
|
[[struct addrinfo *g,h;g=&h;getaddrinfo("","",g,&g);]])],[AC_RUN_IFELSE([AC_LANG_SOURCE([[
|
2004-03-13 05:45:55 +08:00
|
|
|
#include <netdb.h>
|
|
|
|
#include <sys/types.h>
|
2004-09-17 20:44:56 +08:00
|
|
|
#ifndef AF_INET
|
|
|
|
# include <sys/socket.h>
|
|
|
|
#endif
|
2004-03-13 05:45:55 +08:00
|
|
|
int main(void) {
|
|
|
|
struct addrinfo *ai, *pai, hints;
|
|
|
|
|
|
|
|
memset(&hints, 0, sizeof(hints));
|
|
|
|
hints.ai_flags = AI_NUMERICHOST;
|
|
|
|
|
2004-09-26 09:10:05 +08:00
|
|
|
if (getaddrinfo("127.0.0.1", 0, &hints, &ai) < 0) {
|
2004-03-13 05:45:55 +08:00
|
|
|
exit(1);
|
|
|
|
}
|
|
|
|
|
2004-09-26 09:10:05 +08:00
|
|
|
if (ai == 0) {
|
2004-03-13 05:45:55 +08:00
|
|
|
exit(1);
|
|
|
|
}
|
|
|
|
|
|
|
|
pai = ai;
|
2018-07-29 09:43:45 +08:00
|
|
|
|
2004-03-13 05:45:55 +08:00
|
|
|
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);
|
|
|
|
}
|
2018-07-30 07:50:24 +08:00
|
|
|
]])],[ac_cv_func_getaddrinfo=yes], [ac_cv_func_getaddrinfo=no], [ac_cv_func_getaddrinfo=no])],
|
|
|
|
[ac_cv_func_getaddrinfo=no])])
|
2000-09-09 20:09:43 +08:00
|
|
|
if test "$ac_cv_func_getaddrinfo" = yes; then
|
|
|
|
AC_DEFINE(HAVE_GETADDRINFO,1,[Define if you have the getaddrinfo function])
|
|
|
|
fi
|
|
|
|
|
2011-11-16 04:33:26 +08:00
|
|
|
dnl Check for the __sync_fetch_and_add builtin
|
|
|
|
AC_CACHE_CHECK([for __sync_fetch_and_add], ac_cv_func_sync_fetch_and_add,
|
2018-07-30 07:50:24 +08:00
|
|
|
[AC_LINK_IFELSE([AC_LANG_PROGRAM([], [[int x;__sync_fetch_and_add(&x,1);]])],[ac_cv_func_sync_fetch_and_add=yes],[ac_cv_func_sync_fetch_and_add=no])])
|
2011-11-16 04:33:26 +08:00
|
|
|
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
|
|
|
|
|
2016-10-15 21:53:38 +08:00
|
|
|
AC_REPLACE_FUNCS(strlcat strlcpy explicit_bzero getopt)
|
1999-04-17 08:37:12 +08:00
|
|
|
AC_FUNC_ALLOCA
|
2000-03-04 00:10:38 +08:00
|
|
|
PHP_TIME_R_TYPE
|
2000-05-24 19:06:57 +08:00
|
|
|
PHP_READDIR_R_TYPE
|
2005-02-25 02:11:36 +08:00
|
|
|
PHP_CHECK_IN_ADDR_T
|
2002-01-27 07:57:17 +08:00
|
|
|
|
2006-12-12 15:38:04 +08:00
|
|
|
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
|
|
|
|
|
2017-11-29 04:37:53 +08:00
|
|
|
dnl Check for asm goto support
|
|
|
|
AC_CACHE_CHECK([for asm goto], ac_cv__asm_goto,
|
2018-07-30 07:50:24 +08:00
|
|
|
[AC_RUN_IFELSE([AC_LANG_SOURCE([[
|
2017-11-29 04:37:53 +08:00
|
|
|
int main(void) {
|
|
|
|
__asm__ goto("jmp %l0\n" :::: end);
|
|
|
|
end:
|
|
|
|
return 0;
|
|
|
|
}
|
2018-07-30 07:50:24 +08:00
|
|
|
]])], [ac_cv__asm_goto=yes], [ac_cv__asm_goto=no], [ac_cv__asm_goto=no])])
|
2017-11-29 04:37:53 +08:00
|
|
|
|
|
|
|
if test "$ac_cv__asm_goto" = yes; then
|
|
|
|
AC_DEFINE(HAVE_ASM_GOTO,1,[Define if asm goto support])
|
|
|
|
fi
|
|
|
|
|
2018-06-10 02:27:16 +08:00
|
|
|
dnl Check for variable length array support
|
|
|
|
AC_CACHE_CHECK([whether compiler supports VLA], ac_cv__compiler_c99_vla,
|
2018-07-30 07:50:24 +08:00
|
|
|
[AC_RUN_IFELSE([AC_LANG_SOURCE([[
|
2018-06-10 02:27:16 +08:00
|
|
|
#include <stdlib.h>
|
|
|
|
int main(void) {
|
|
|
|
int i[rand()%10];
|
|
|
|
return 0;
|
|
|
|
}
|
2018-07-30 07:50:24 +08:00
|
|
|
]])],[ac_cv__compiler_c99_vla=yes], [ac_cv__compiler_c99_vla=no], [ac_cv__compiler_c99_vla=no])])
|
2018-06-10 02:27:16 +08:00
|
|
|
|
|
|
|
if test "$ac_cv__compiler_c99_vla" = yes; then
|
|
|
|
AC_DEFINE(HAVE_COMPILER_C99_VLA, 1, [Compiler supports VLA])
|
|
|
|
fi
|
|
|
|
|
2018-02-14 21:46:17 +08:00
|
|
|
dnl Check valgrind support
|
|
|
|
PHP_ARG_WITH(valgrind, [whether to enable valgrind support],
|
|
|
|
[ --with-valgrind=DIR Enable valgrind support], yes, no)
|
|
|
|
|
|
|
|
if test "$PHP_VALGRIND" != "no"; then
|
|
|
|
|
|
|
|
AC_MSG_CHECKING([for valgrind header])
|
|
|
|
|
|
|
|
if test "$PHP_VALGRIND" = "yes"; then
|
|
|
|
SEARCH_PATH="/usr/local /usr"
|
|
|
|
else
|
|
|
|
SEARCH_PATH="$PHP_VALGRIND"
|
|
|
|
fi
|
|
|
|
|
|
|
|
SEARCH_FOR="/include/valgrind/valgrind.h"
|
|
|
|
for i in $SEARCH_PATH ; do
|
|
|
|
if test -r $i/$SEARCH_FOR; then
|
|
|
|
VALGRIND_DIR=$i
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
|
|
|
|
if test -z "$VALGRIND_DIR"; then
|
|
|
|
AC_MSG_RESULT([not found])
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT(found in $VALGRIND_DIR)
|
|
|
|
AC_DEFINE(HAVE_VALGRIND, 1, [ ])
|
|
|
|
fi
|
|
|
|
|
|
|
|
fi
|
2017-05-31 21:16:56 +08:00
|
|
|
|
2002-01-27 07:57:17 +08:00
|
|
|
dnl General settings.
|
|
|
|
dnl -------------------------------------------------------------------------
|
2003-03-25 21:43:13 +08:00
|
|
|
PHP_CONFIGURE_PART(General settings)
|
2002-01-27 07:57:17 +08:00
|
|
|
|
2001-12-01 08:59:43 +08:00
|
|
|
PHP_HELP_SEPARATOR([General settings:])
|
1999-12-30 10:59:53 +08:00
|
|
|
|
2005-11-30 07:20:01 +08:00
|
|
|
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
|
2018-07-29 09:43:45 +08:00
|
|
|
|
2005-11-30 07:20:01 +08:00
|
|
|
dnl Check if ccache is being used
|
2005-11-30 23:01:34 +08:00
|
|
|
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.])
|
2005-11-30 07:20:01 +08:00
|
|
|
fi
|
2018-07-29 09:43:45 +08:00
|
|
|
|
2014-09-10 19:30:52 +08:00
|
|
|
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";
|
2016-07-06 22:36:19 +08:00
|
|
|
dnl remove "none" when introducing the first incompatible LTP version and
|
2014-09-10 19:30:52 +08:00
|
|
|
dnl separate any following additions by spaces
|
|
|
|
ltp_version_exclude="1.8"
|
2005-11-30 07:20:01 +08:00
|
|
|
|
|
|
|
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
|
2014-09-10 19:30:52 +08:00
|
|
|
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
|
2005-11-30 07:20:01 +08:00
|
|
|
fi
|
2014-09-10 19:30:52 +08:00
|
|
|
fi
|
2005-11-30 07:20:01 +08:00
|
|
|
])
|
|
|
|
else
|
2018-07-29 09:43:45 +08:00
|
|
|
ltp_msg="To enable code coverage reporting you must have LTP installed"
|
2005-11-30 07:20:01 +08:00
|
|
|
AC_MSG_ERROR([$ltp_msg])
|
|
|
|
fi
|
|
|
|
|
|
|
|
case $php_cv_ltp_version in
|
|
|
|
""|invalid[)]
|
2014-09-10 19:30:52 +08:00
|
|
|
ltp_msg="This LTP version is not supported (found: $ltp_version, min: $ltp_version_min, excluded: $ltp_version_exclude)."
|
2005-11-30 07:20:01 +08:00
|
|
|
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])
|
2019-03-04 13:06:10 +08:00
|
|
|
PHP_ADD_MAKEFILE_FRAGMENT($abs_srcdir/build/Makefile.gcov, $abs_srcdir)
|
2005-11-30 07:20:01 +08:00
|
|
|
|
|
|
|
dnl Remove all optimization flags from CFLAGS
|
|
|
|
changequote({,})
|
2007-07-06 18:44:23 +08:00
|
|
|
CFLAGS=`echo "$CFLAGS" | $SED -e 's/-O[0-9s]*//g'`
|
|
|
|
CXXFLAGS=`echo "$CXXFLAGS" | $SED -e 's/-O[0-9s]*//g'`
|
2005-11-30 07:20:01 +08:00
|
|
|
changequote([,])
|
|
|
|
|
|
|
|
dnl Add the special gcc flags
|
|
|
|
CFLAGS="$CFLAGS -O0 -fprofile-arcs -ftest-coverage"
|
2006-09-25 19:05:49 +08:00
|
|
|
CXXFLAGS="$CXXFLAGS -O0 -fprofile-arcs -ftest-coverage"
|
2005-11-30 07:20:01 +08:00
|
|
|
fi
|
|
|
|
|
2000-03-30 23:00:30 +08:00
|
|
|
PHP_ARG_ENABLE(debug, whether to include debugging symbols,
|
2005-05-30 07:17:16 +08:00
|
|
|
[ --enable-debug Compile with debugging symbols], no, no)
|
1999-12-17 22:28:35 +08:00
|
|
|
|
1999-12-20 16:10:38 +08:00
|
|
|
if test "$PHP_DEBUG" = "yes"; then
|
1999-07-18 00:43:11 +08:00
|
|
|
PHP_DEBUG=1
|
1999-12-17 22:28:35 +08:00
|
|
|
ZEND_DEBUG=yes
|
2006-08-07 04:46:02 +08:00
|
|
|
changequote({,})
|
2007-07-06 18:44:23 +08:00
|
|
|
CFLAGS=`echo "$CFLAGS" | $SED -e 's/-O[0-9s]*//g'`
|
|
|
|
CXXFLAGS=`echo "$CXXFLAGS" | $SED -e 's/-O[0-9s]*//g'`
|
2006-08-07 04:46:02 +08:00
|
|
|
changequote([,])
|
2006-12-05 02:28:49 +08:00
|
|
|
dnl add -O0 only if GCC or ICC is used
|
|
|
|
if test "$GCC" = "yes" || test "$ICC" = "yes"; then
|
2010-11-02 17:58:08 +08:00
|
|
|
CFLAGS="$CFLAGS -O0"
|
2009-09-01 23:13:02 +08:00
|
|
|
CXXFLAGS="$CXXFLAGS -g -O0"
|
2006-12-05 02:28:49 +08:00
|
|
|
fi
|
2008-11-07 04:42:11 +08:00
|
|
|
if test "$SUNCC" = "yes"; then
|
2008-12-04 03:53:45 +08:00
|
|
|
if test -n "$auto_cflags"; then
|
2008-11-07 04:42:11 +08:00
|
|
|
CFLAGS="-g"
|
|
|
|
CXXFLAGS="-g"
|
|
|
|
else
|
|
|
|
CFLAGS="$CFLAGS -g"
|
|
|
|
CXXFLAGS="$CFLAGS -g"
|
|
|
|
fi
|
|
|
|
fi
|
1999-12-17 22:28:35 +08:00
|
|
|
else
|
|
|
|
PHP_DEBUG=0
|
|
|
|
ZEND_DEBUG=no
|
|
|
|
fi
|
|
|
|
|
2007-07-12 07:20:37 +08:00
|
|
|
PHP_ARG_WITH(layout, layout of installed files,
|
|
|
|
[ --with-layout=TYPE Set how installed files will be laid out. Type can
|
2011-12-02 00:40:07 +08:00
|
|
|
be either PHP or GNU @<:@PHP@:>@], PHP, no)
|
2001-05-07 07:11:58 +08:00
|
|
|
|
2002-02-05 09:27:00 +08:00
|
|
|
case $PHP_LAYOUT in
|
|
|
|
GNU)
|
|
|
|
oldstyleextdir=no
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
oldstyleextdir=yes
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
2007-07-12 07:20:37 +08:00
|
|
|
PHP_ARG_WITH(config-file-path, path to configuration file,
|
2005-05-30 07:17:16 +08:00
|
|
|
[ --with-config-file-path=PATH
|
2011-12-02 00:40:07 +08:00
|
|
|
Set the path in which to look for php.ini @<:@PREFIX/lib@:>@], DEFAULT, no)
|
2001-05-07 07:11:58 +08:00
|
|
|
|
2001-05-12 18:33:52 +08:00
|
|
|
if test "$PHP_CONFIG_FILE_PATH" = "DEFAULT"; then
|
2001-05-07 07:11:58 +08:00
|
|
|
case $PHP_LAYOUT in
|
2001-05-07 07:16:33 +08:00
|
|
|
GNU)
|
2001-05-12 18:33:52 +08:00
|
|
|
PHP_CONFIG_FILE_PATH=$sysconfdir
|
2002-02-05 09:27:00 +08:00
|
|
|
;;
|
2001-05-07 07:16:33 +08:00
|
|
|
*)
|
2001-05-12 18:33:52 +08:00
|
|
|
PHP_CONFIG_FILE_PATH=$libdir
|
2002-02-05 09:27:00 +08:00
|
|
|
;;
|
2001-05-07 07:11:58 +08:00
|
|
|
esac
|
|
|
|
fi
|
|
|
|
|
2007-07-12 07:20:37 +08:00
|
|
|
AC_MSG_CHECKING([where to scan for configuration files])
|
|
|
|
PHP_ARG_WITH(config-file-scan-dir,,
|
2005-12-12 20:20:55 +08:00
|
|
|
[ --with-config-file-scan-dir=PATH
|
2018-07-29 09:43:45 +08:00
|
|
|
Set the path where to scan for configuration files], DEFAULT, no)
|
2002-10-04 12:47:35 +08:00
|
|
|
if test "$PHP_CONFIG_FILE_SCAN_DIR" = "DEFAULT"; then
|
2005-07-27 23:24:36 +08:00
|
|
|
PHP_CONFIG_FILE_SCAN_DIR=
|
2002-10-04 12:47:35 +08:00
|
|
|
fi
|
2007-07-12 07:20:37 +08:00
|
|
|
AC_MSG_RESULT([$PHP_CONFIG_FILE_SCAN_DIR])
|
2002-10-04 12:47:35 +08:00
|
|
|
|
1999-12-17 22:28:35 +08:00
|
|
|
test -n "$DEBUG_CFLAGS" && CFLAGS="$CFLAGS $DEBUG_CFLAGS"
|
1999-04-17 08:37:12 +08:00
|
|
|
|
2007-07-12 07:20:37 +08:00
|
|
|
PHP_ARG_ENABLE(sigchild, whether to enable PHP's own SIGCHLD handler,
|
2005-05-30 07:17:16 +08:00
|
|
|
[ --enable-sigchild Enable PHP's own SIGCHLD handler], no, no)
|
2000-05-19 03:45:34 +08:00
|
|
|
|
|
|
|
if test "$PHP_SIGCHILD" = "yes"; then
|
2000-06-08 14:14:58 +08:00
|
|
|
AC_DEFINE(PHP_SIGCHILD, 1, [ ])
|
2000-05-19 03:45:34 +08:00
|
|
|
else
|
2000-06-08 14:14:58 +08:00
|
|
|
AC_DEFINE(PHP_SIGCHILD, 0, [ ])
|
2000-05-19 03:45:34 +08:00
|
|
|
fi
|
|
|
|
|
2000-03-30 23:00:30 +08:00
|
|
|
PHP_ARG_ENABLE(libgcc, whether to explicitly link against libgcc,
|
2002-09-05 02:47:28 +08:00
|
|
|
[ --enable-libgcc Enable explicitly linking against libgcc], no, no)
|
2000-03-30 23:00:30 +08:00
|
|
|
|
|
|
|
if test "$PHP_LIBGCC" = "yes"; then
|
|
|
|
PHP_LIBGCC_LIBPATH(gcc)
|
|
|
|
if test -z "$libgcc_libpath"; then
|
2001-09-07 04:55:24 +08:00
|
|
|
AC_MSG_ERROR([Cannot locate libgcc. Make sure that gcc is in your path])
|
1999-09-26 17:05:56 +08:00
|
|
|
fi
|
2001-03-28 04:35:04 +08:00
|
|
|
PHP_ADD_LIBPATH($libgcc_libpath)
|
|
|
|
PHP_ADD_LIBRARY(gcc, yes)
|
2000-03-30 23:00:30 +08:00
|
|
|
fi
|
1999-09-26 17:05:56 +08:00
|
|
|
|
2007-07-12 07:20:37 +08:00
|
|
|
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)
|
1999-04-17 08:37:12 +08:00
|
|
|
|
2000-06-08 14:14:58 +08:00
|
|
|
if test "$PHP_SHORT_TAGS" = "yes"; then
|
2007-07-12 07:20:37 +08:00
|
|
|
AC_DEFINE(DEFAULT_SHORT_OPEN_TAG, "1", [ ])
|
2000-06-08 14:14:58 +08:00
|
|
|
else
|
2007-07-12 07:20:37 +08:00
|
|
|
AC_DEFINE(DEFAULT_SHORT_OPEN_TAG, "0", [ ])
|
2000-06-08 14:14:58 +08:00
|
|
|
fi
|
|
|
|
|
2007-07-12 07:20:37 +08:00
|
|
|
PHP_ARG_ENABLE(dmalloc, whether to enable dmalloc,
|
2002-09-05 02:47:28 +08:00
|
|
|
[ --enable-dmalloc Enable dmalloc], no, no)
|
2000-06-08 14:14:58 +08:00
|
|
|
|
|
|
|
if test "$PHP_DMALLOC" = "yes"; then
|
2001-08-19 02:14:22 +08:00
|
|
|
AC_CHECK_LIB(dmalloc, dmalloc_error, [
|
|
|
|
PHP_ADD_LIBRARY(dmalloc)
|
|
|
|
AC_DEFINE(HAVE_DMALLOC,1,[Whether you have dmalloc])
|
|
|
|
CPPFLAGS="$CPPFLAGS -DDMALLOC_FUNC_CHECK"
|
|
|
|
], [
|
2001-09-07 04:55:24 +08:00
|
|
|
AC_MSG_ERROR([Problem with enabling dmalloc. Please check config.log for details.])
|
2001-08-19 02:14:22 +08:00
|
|
|
])
|
2000-06-08 14:14:58 +08:00
|
|
|
fi
|
|
|
|
|
2007-07-12 07:20:37 +08:00
|
|
|
PHP_ARG_ENABLE(ipv6, whether to enable IPv6 support,
|
2002-09-05 02:47:28 +08:00
|
|
|
[ --disable-ipv6 Disable IPv6 support], yes, no)
|
2002-08-17 21:56:39 +08:00
|
|
|
|
|
|
|
if test "$PHP_IPV6" != "no" && test "$ac_cv_ipv6_support" = yes; then
|
2007-07-12 07:20:37 +08:00
|
|
|
AC_DEFINE(HAVE_IPV6, 1, [Whether to enable IPv6 support])
|
2002-08-17 21:56:39 +08:00
|
|
|
fi
|
|
|
|
|
2010-11-13 19:12:07 +08:00
|
|
|
dnl ##
|
|
|
|
dnl ## DTRACE CHECKS
|
2010-11-14 06:22:51 +08:00
|
|
|
dnl ## Note: this has to be done after SAPI configuration!
|
2010-11-13 19:12:07 +08:00
|
|
|
dnl ##
|
2010-04-24 21:32:30 +08:00
|
|
|
PHP_ARG_ENABLE(dtrace, whether to enable DTrace support,
|
|
|
|
[ --enable-dtrace Enable DTrace support], no, no)
|
|
|
|
|
|
|
|
if test "$PHP_DTRACE" = "yes"; then
|
2010-05-07 23:17:34 +08:00
|
|
|
AC_CHECK_HEADERS([sys/sdt.h], [
|
2010-11-14 06:22:51 +08:00
|
|
|
PHP_INIT_DTRACE([Zend/zend_dtrace.d],[Zend/zend_dtrace_gen.h],[main/main.c Zend/zend_API.c \
|
2010-05-07 23:17:34 +08:00
|
|
|
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])
|
2010-11-14 06:22:51 +08:00
|
|
|
PHP_SUBST(PHP_DTRACE_OBJS)
|
2010-05-07 23:17:34 +08:00
|
|
|
], [
|
|
|
|
AC_MSG_ERROR([Cannot find sys/sdt.h which is required for DTrace support])
|
|
|
|
])
|
2010-04-24 21:32:30 +08:00
|
|
|
fi
|
|
|
|
|
2004-09-17 20:44:56 +08:00
|
|
|
AC_MSG_CHECKING([how big to make fd sets])
|
2007-07-12 07:20:37 +08:00
|
|
|
PHP_ARG_ENABLE(fd-setsize,,
|
|
|
|
[ --enable-fd-setsize Set size of descriptor sets], no, no)
|
|
|
|
|
2007-07-12 19:33:37 +08:00
|
|
|
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
|
2007-07-12 07:20:37 +08:00
|
|
|
else
|
|
|
|
AC_MSG_RESULT([using system default])
|
|
|
|
fi
|
2004-09-17 20:44:56 +08:00
|
|
|
|
2002-01-27 07:57:17 +08:00
|
|
|
dnl Extension configuration.
|
|
|
|
dnl -------------------------------------------------------------------------
|
|
|
|
|
2001-12-01 08:59:43 +08:00
|
|
|
PHP_HELP_SEPARATOR([Extensions:
|
|
|
|
|
|
|
|
--with-EXTENSION=[shared[,PATH]]
|
2018-07-29 09:43:45 +08:00
|
|
|
|
2001-12-01 08:59:43 +08:00
|
|
|
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/
|
|
|
|
])
|
1999-04-17 10:01:20 +08:00
|
|
|
|
1999-12-30 10:59:53 +08:00
|
|
|
PHP_CONFIGURE_PART(Configuring extensions)
|
2001-05-10 08:57:36 +08:00
|
|
|
|
2002-09-05 02:47:28 +08:00
|
|
|
dnl
|
|
|
|
dnl Check if all enabled by default extensions should be disabled
|
|
|
|
dnl
|
|
|
|
|
|
|
|
AC_ARG_ENABLE(all,
|
2013-08-07 02:06:09 +08:00
|
|
|
[ --disable-all Disable all extensions which are enabled by default
|
2002-09-05 02:47:28 +08:00
|
|
|
], [
|
|
|
|
PHP_ENABLE_ALL=$enableval
|
|
|
|
])
|
|
|
|
|
1999-04-17 08:37:12 +08:00
|
|
|
# reading config stubs
|
2003-01-28 18:59:12 +08:00
|
|
|
esyscmd(./build/config-stubs ext)
|
2002-01-27 07:57:17 +08:00
|
|
|
|
2003-07-01 00:33:50 +08:00
|
|
|
dnl Extensions post-config
|
2002-01-27 07:57:17 +08:00
|
|
|
dnl -------------------------------------------------------------------------
|
|
|
|
|
1999-10-04 23:18:26 +08:00
|
|
|
enable_shared=yes
|
|
|
|
enable_static=yes
|
|
|
|
|
2010-11-14 07:13:07 +08:00
|
|
|
case $php_sapi_module in
|
|
|
|
shared[)]
|
1999-12-17 22:36:53 +08:00
|
|
|
enable_static=no
|
2005-01-20 01:35:55 +08:00
|
|
|
case $with_pic in
|
2008-07-21 18:17:36 +08:00
|
|
|
yes)
|
|
|
|
standard_libtool_flag='-prefer-pic'
|
|
|
|
;;
|
|
|
|
no)
|
|
|
|
standard_libtool_flag='-prefer-non-pic'
|
|
|
|
;;
|
2005-01-20 01:35:55 +08:00
|
|
|
esac
|
2002-03-08 03:21:02 +08:00
|
|
|
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -avoid-version -module"
|
2008-07-21 18:17:36 +08:00
|
|
|
;;
|
2010-11-14 07:13:07 +08:00
|
|
|
*[)]
|
|
|
|
standard_libtool_flag='-prefer-non-pic -static'
|
|
|
|
if test -z "$PHP_MODULES" && test -z "$PHP_ZEND_EX"; then
|
|
|
|
enable_shared=no
|
|
|
|
fi
|
|
|
|
;;
|
1999-10-04 23:18:26 +08:00
|
|
|
esac
|
|
|
|
|
2002-02-04 04:00:27 +08:00
|
|
|
EXTRA_LIBS="$EXTRA_LIBS $DLIBS $LIBS"
|
2003-02-14 09:27:15 +08:00
|
|
|
|
|
|
|
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
|
|
|
|
|
2009-11-30 16:31:32 +08:00
|
|
|
unset LIBS LDFLAGS
|
2002-01-27 07:57:17 +08:00
|
|
|
|
2003-07-01 00:33:50 +08:00
|
|
|
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
|
|
|
|
|
2005-02-07 20:48:11 +08:00
|
|
|
# If CLI is disabled -> disable PEAR
|
2007-07-12 07:20:37 +08:00
|
|
|
if test "$PHP_CLI" = "no"; then
|
2005-02-07 20:48:11 +08:00
|
|
|
with_pear=no
|
|
|
|
fi
|
|
|
|
|
2003-07-01 00:33:50 +08:00
|
|
|
PHP_ARG_WITH(pear, [whether to install PEAR],
|
2019-02-01 19:09:29 +08:00
|
|
|
[ --with-pear=DIR Install PEAR in DIR @<:@PREFIX/lib/php@:>@], no, yes)
|
2003-07-01 00:33:50 +08:00
|
|
|
|
|
|
|
if test "$PHP_PEAR" != "no"; then
|
|
|
|
|
|
|
|
dnl
|
2018-07-25 11:38:50 +08:00
|
|
|
dnl PEAR dependencies
|
2003-07-01 00:33:50 +08:00
|
|
|
dnl
|
|
|
|
if test "$PHP_XML" = "no"; then
|
2018-07-29 09:43:45 +08:00
|
|
|
pear_error_msg="$pear_error_msg
|
2005-02-07 20:48:11 +08:00
|
|
|
PEAR requires XML to be enabled. Add --enable-xml to the configure line. (or --without-pear)"
|
2003-07-01 00:33:50 +08:00
|
|
|
fi
|
2005-08-28 09:10:00 +08:00
|
|
|
|
2003-07-01 00:33:50 +08:00
|
|
|
if test "$pear_error_msg"; then
|
|
|
|
AC_MSG_ERROR([$pear_error_msg])
|
|
|
|
fi
|
|
|
|
|
2019-02-01 19:09:29 +08:00
|
|
|
AC_MSG_WARN([The --with-pear option is deprecated])
|
|
|
|
|
2003-07-01 00:33:50 +08:00
|
|
|
install_pear="install-pear"
|
|
|
|
PEAR_INSTALLDIR=$PHP_PEAR
|
|
|
|
|
2019-02-01 19:09:29 +08:00
|
|
|
if test "$PHP_PEAR" = "yes"; then
|
2003-07-01 00:33:50 +08:00
|
|
|
case $PHP_LAYOUT in
|
|
|
|
GNU) PEAR_INSTALLDIR=$datadir/pear;;
|
|
|
|
*) PEAR_INSTALLDIR=$libdir/php;;
|
|
|
|
esac
|
|
|
|
fi
|
2005-02-07 20:48:11 +08:00
|
|
|
|
|
|
|
PHP_ADD_MAKEFILE_FRAGMENT($abs_srcdir/pear/Makefile.frag,$abs_srcdir/pear,pear)
|
2003-07-01 00:33:50 +08:00
|
|
|
fi
|
|
|
|
|
|
|
|
|
2002-01-27 07:57:17 +08:00
|
|
|
dnl Configuring Zend and TSRM.
|
|
|
|
dnl -------------------------------------------------------------------------
|
|
|
|
|
2003-10-03 13:24:33 +08:00
|
|
|
PHP_HELP_SEPARATOR([Zend:])
|
1999-12-30 10:59:53 +08:00
|
|
|
PHP_CONFIGURE_PART(Configuring Zend)
|
2003-10-03 13:24:33 +08:00
|
|
|
|
1999-12-17 22:28:35 +08:00
|
|
|
LIBZEND_BASIC_CHECKS
|
2002-10-24 20:21:07 +08:00
|
|
|
LIBZEND_DLSYM_CHECK
|
1999-12-17 22:28:35 +08:00
|
|
|
LIBZEND_OTHER_CHECKS
|
|
|
|
|
2003-01-20 05:37:40 +08:00
|
|
|
if test "$ZEND_MAINTAINER_ZTS" = "yes"; then
|
2000-06-08 14:14:58 +08:00
|
|
|
AC_DEFINE(ZTS,1,[ ])
|
1999-11-27 19:33:13 +08:00
|
|
|
PHP_THREAD_SAFETY=yes
|
|
|
|
else
|
|
|
|
PHP_THREAD_SAFETY=no
|
1999-11-18 05:06:32 +08:00
|
|
|
fi
|
|
|
|
|
2005-03-17 16:15:50 +08:00
|
|
|
INCLUDES="$INCLUDES -I\$(top_builddir)/TSRM"
|
|
|
|
INCLUDES="$INCLUDES -I\$(top_builddir)/Zend"
|
|
|
|
|
1999-12-21 10:35:07 +08:00
|
|
|
if test "$abs_srcdir" != "$abs_builddir"; then
|
2000-11-28 09:20:21 +08:00
|
|
|
INCLUDES="$INCLUDES -I\$(top_srcdir)/main -I\$(top_srcdir)/Zend"
|
2004-12-07 04:39:20 +08:00
|
|
|
INCLUDES="$INCLUDES -I\$(top_srcdir)/TSRM -I\$(top_builddir)/"
|
1999-12-21 10:35:07 +08:00
|
|
|
fi
|
|
|
|
|
2002-02-04 04:00:27 +08:00
|
|
|
ZEND_EXTRA_LIBS="$LIBS"
|
2009-11-30 16:31:32 +08:00
|
|
|
unset LIBS LDFLAGS
|
2000-09-01 07:43:51 +08:00
|
|
|
|
2003-10-03 13:24:33 +08:00
|
|
|
PHP_HELP_SEPARATOR([TSRM:])
|
2000-09-01 07:43:51 +08:00
|
|
|
PHP_CONFIGURE_PART(Configuring TSRM)
|
|
|
|
TSRM_BASIC_CHECKS
|
2000-09-02 23:24:18 +08:00
|
|
|
if test "$PHP_THREAD_SAFETY" = "yes"; then
|
2000-09-02 23:26:13 +08:00
|
|
|
TSRM_THREADS_CHECKS
|
2000-09-02 23:24:18 +08:00
|
|
|
fi
|
2005-02-25 02:11:36 +08:00
|
|
|
|
2000-09-01 07:43:51 +08:00
|
|
|
EXTRA_LDFLAGS="$EXTRA_LDFLAGS $LDFLAGS"
|
2003-09-08 21:10:10 +08:00
|
|
|
EXTRA_LDFLAGS_PROGRAM="$EXTRA_LDFLAGS_PROGRAM $LDFLAGS"
|
2000-09-01 07:43:51 +08:00
|
|
|
EXTRA_LIBS="$EXTRA_LIBS $LIBS"
|
2009-11-30 16:31:32 +08:00
|
|
|
unset LIBS LDFLAGS
|
1999-12-22 02:04:31 +08:00
|
|
|
|
2018-08-26 02:52:28 +08:00
|
|
|
AC_ARG_PROGRAM
|
|
|
|
|
2001-05-12 18:33:52 +08:00
|
|
|
test "$prefix" = "NONE" && prefix=/usr/local
|
2001-04-22 09:09:14 +08:00
|
|
|
test "$exec_prefix" = "NONE" && exec_prefix='${prefix}'
|
2003-12-01 23:17:13 +08:00
|
|
|
test "$program_prefix" = "NONE" && program_prefix=
|
|
|
|
test "$program_suffix" = "NONE" && program_suffix=
|
2001-05-07 07:16:33 +08:00
|
|
|
|
2001-04-22 09:09:14 +08:00
|
|
|
case $libdir in
|
2001-05-07 07:11:58 +08:00
|
|
|
'${exec_prefix}/lib')
|
2001-05-12 18:33:52 +08:00
|
|
|
libdir=$libdir/php
|
2001-05-07 07:11:58 +08:00
|
|
|
;;
|
2001-04-22 09:09:14 +08:00
|
|
|
esac
|
2015-01-04 02:18:07 +08:00
|
|
|
case `eval echo $datadir` in
|
2001-05-07 07:11:58 +08:00
|
|
|
'${prefix}/share')
|
2001-05-12 18:33:52 +08:00
|
|
|
datadir=$datadir/php
|
2001-05-07 07:11:58 +08:00
|
|
|
;;
|
2001-04-22 09:09:14 +08:00
|
|
|
esac
|
2000-05-04 19:57:59 +08:00
|
|
|
|
2001-05-12 18:33:52 +08:00
|
|
|
phplibdir=`pwd`/modules
|
2001-05-07 07:11:58 +08:00
|
|
|
$php_shtool mkdir -p $phplibdir
|
2001-05-12 18:33:52 +08:00
|
|
|
phptempdir=`pwd`/libs
|
2001-04-22 09:09:14 +08:00
|
|
|
|
2001-05-12 18:33:52 +08:00
|
|
|
old_exec_prefix=$exec_prefix
|
|
|
|
old_libdir=$libdir
|
|
|
|
old_datadir=$datadir
|
2001-04-22 09:09:14 +08:00
|
|
|
exec_prefix=`eval echo $exec_prefix`
|
|
|
|
libdir=`eval echo $libdir`
|
2015-01-04 02:18:07 +08:00
|
|
|
datadir=`eval eval echo $datadir`
|
2001-05-07 07:11:58 +08:00
|
|
|
|
|
|
|
dnl Build extension directory path
|
|
|
|
|
2005-05-30 07:17:16 +08:00
|
|
|
ZEND_MODULE_API_NO=`$EGREP '#define ZEND_MODULE_API_NO ' $srcdir/Zend/zend_modules.h|$SED 's/#define ZEND_MODULE_API_NO //'`
|
2001-05-07 07:11:58 +08:00
|
|
|
|
2001-05-12 18:33:52 +08:00
|
|
|
if test -z "$EXTENSION_DIR"; then
|
|
|
|
extbasedir=$ZEND_MODULE_API_NO
|
2001-05-07 07:11:58 +08:00
|
|
|
if test "$oldstyleextdir" = "yes"; then
|
|
|
|
if test "$PHP_DEBUG" = "1"; then
|
2001-05-12 18:33:52 +08:00
|
|
|
part1=debug
|
2001-05-07 07:11:58 +08:00
|
|
|
else
|
2001-05-12 18:33:52 +08:00
|
|
|
part1=no-debug
|
2001-05-07 07:11:58 +08:00
|
|
|
fi
|
2003-01-20 05:37:40 +08:00
|
|
|
if test "$enable_maintainer_zts" = "yes"; then
|
2001-05-12 18:33:52 +08:00
|
|
|
part2=zts
|
2001-05-07 07:11:58 +08:00
|
|
|
else
|
2001-05-12 18:33:52 +08:00
|
|
|
part2=non-zts
|
2001-05-07 07:11:58 +08:00
|
|
|
fi
|
2001-05-12 18:33:52 +08:00
|
|
|
extbasedir=$part1-$part2-$extbasedir
|
2002-04-24 06:45:51 +08:00
|
|
|
EXTENSION_DIR=$libdir/extensions/$extbasedir
|
2001-05-07 07:11:58 +08:00
|
|
|
else
|
2003-01-20 05:37:40 +08:00
|
|
|
if test "$enable_maintainer_zts" = "yes"; then
|
2002-04-24 06:45:51 +08:00
|
|
|
extbasedir=$extbasedir-zts
|
|
|
|
fi
|
2018-07-29 09:43:45 +08:00
|
|
|
|
2002-04-24 06:45:51 +08:00
|
|
|
if test "$PHP_DEBUG" = "1"; then
|
|
|
|
extbasedir=$extbasedir-debug
|
|
|
|
fi
|
|
|
|
EXTENSION_DIR=$libdir/$extbasedir
|
2001-05-07 07:11:58 +08:00
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
2006-12-25 23:41:56 +08:00
|
|
|
case $PHP_LAYOUT in
|
|
|
|
GNU)
|
|
|
|
datarootdir=$prefix/share
|
|
|
|
;;
|
|
|
|
*)
|
|
|
|
datarootdir=$prefix/php
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
2001-05-07 07:11:58 +08:00
|
|
|
dnl Expand all directory names for use in macros/constants
|
2001-04-22 09:09:14 +08:00
|
|
|
EXPANDED_PEAR_INSTALLDIR=`eval echo $PEAR_INSTALLDIR`
|
|
|
|
EXPANDED_EXTENSION_DIR=`eval echo $EXTENSION_DIR`
|
|
|
|
EXPANDED_LOCALSTATEDIR=`eval echo $localstatedir`
|
|
|
|
EXPANDED_BINDIR=`eval echo $bindir`
|
2009-12-15 19:17:47 +08:00
|
|
|
EXPANDED_SBINDIR=`eval echo $sbindir`
|
2011-04-18 17:50:32 +08:00
|
|
|
EXPANDED_MANDIR=`eval echo $mandir`
|
2001-05-12 18:33:52 +08:00
|
|
|
EXPANDED_LIBDIR=$libdir
|
2001-04-22 09:09:14 +08:00
|
|
|
EXPANDED_SYSCONFDIR=`eval echo $sysconfdir`
|
2001-05-12 18:33:52 +08:00
|
|
|
EXPANDED_DATADIR=$datadir
|
2001-04-22 09:09:14 +08:00
|
|
|
EXPANDED_PHP_CONFIG_FILE_PATH=`eval echo "$PHP_CONFIG_FILE_PATH"`
|
2002-10-04 12:47:35 +08:00
|
|
|
EXPANDED_PHP_CONFIG_FILE_SCAN_DIR=`eval echo "$PHP_CONFIG_FILE_SCAN_DIR"`
|
2001-05-12 18:33:52 +08:00
|
|
|
INCLUDE_PATH=.:$EXPANDED_PEAR_INSTALLDIR
|
2001-04-22 09:09:14 +08:00
|
|
|
|
2001-05-12 18:33:52 +08:00
|
|
|
exec_prefix=$old_exec_prefix
|
|
|
|
libdir=$old_libdir
|
|
|
|
datadir=$old_datadir
|
2001-04-22 09:09:14 +08:00
|
|
|
|
|
|
|
AC_SUBST(INCLUDE_PATH)
|
|
|
|
AC_SUBST(EXPANDED_PEAR_INSTALLDIR)
|
|
|
|
AC_SUBST(EXPANDED_EXTENSION_DIR)
|
|
|
|
AC_SUBST(EXPANDED_BINDIR)
|
2009-12-15 19:17:47 +08:00
|
|
|
AC_SUBST(EXPANDED_SBINDIR)
|
2011-04-18 17:50:32 +08:00
|
|
|
AC_SUBST(EXPANDED_MANDIR)
|
2001-04-22 09:09:14 +08:00
|
|
|
AC_SUBST(EXPANDED_LIBDIR)
|
|
|
|
AC_SUBST(EXPANDED_DATADIR)
|
|
|
|
AC_SUBST(EXPANDED_SYSCONFDIR)
|
|
|
|
AC_SUBST(EXPANDED_LOCALSTATEDIR)
|
|
|
|
AC_SUBST(EXPANDED_PHP_CONFIG_FILE_PATH)
|
2002-10-04 12:47:35 +08:00
|
|
|
AC_SUBST(EXPANDED_PHP_CONFIG_FILE_SCAN_DIR)
|
2000-07-18 19:02:28 +08:00
|
|
|
|
2002-10-08 10:27:53 +08:00
|
|
|
if test -n "$php_ldflags_add_usr_lib"; then
|
|
|
|
PHP_RPATHS="$PHP_RPATHS /usr/lib"
|
|
|
|
fi
|
|
|
|
|
2002-07-20 09:28:56 +08:00
|
|
|
PHP_UTILIZE_RPATHS
|
1999-12-06 06:41:08 +08:00
|
|
|
|
2002-10-08 10:27:53 +08:00
|
|
|
if test -z "$php_ldflags_add_usr_lib"; then
|
|
|
|
PHP_REMOVE_USR_LIB(PHP_LDFLAGS)
|
|
|
|
PHP_REMOVE_USR_LIB(LDFLAGS)
|
|
|
|
fi
|
2001-05-09 21:57:56 +08:00
|
|
|
|
1999-12-07 23:22:49 +08:00
|
|
|
EXTRA_LDFLAGS="$EXTRA_LDFLAGS $PHP_LDFLAGS"
|
2003-09-08 21:10:10 +08:00
|
|
|
EXTRA_LDFLAGS_PROGRAM="$EXTRA_LDFLAGS_PROGRAM $PHP_LDFLAGS"
|
2000-05-02 22:46:20 +08:00
|
|
|
|
2017-12-09 02:19:22 +08:00
|
|
|
# SOURCE_DATE_EPOCH for reproducible builds https://reproducible-builds.org/specs/source-date-epoch/
|
2018-03-06 05:35:58 +08:00
|
|
|
PHP_BUILD_DATE=`date --utc --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}" +%Y-%m-%d 2>/dev/null`
|
|
|
|
if test $? -ne 0 ; then
|
|
|
|
PHP_BUILD_DATE=`date -u +%Y-%m-%d`
|
|
|
|
fi
|
2000-06-08 14:14:58 +08:00
|
|
|
AC_DEFINE_UNQUOTED(PHP_BUILD_DATE,"$PHP_BUILD_DATE",[PHP build date])
|
2005-07-27 23:24:36 +08:00
|
|
|
|
2016-11-12 18:20:01 +08:00
|
|
|
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])
|
2005-07-27 23:24:36 +08:00
|
|
|
|
2007-06-29 09:10:35 +08:00
|
|
|
PHP_SUBST_OLD(PHP_INSTALLED_SAPIS)
|
|
|
|
|
2009-11-19 01:52:22 +08:00
|
|
|
PHP_SUBST(PHP_EXECUTABLE)
|
2010-11-14 07:13:07 +08:00
|
|
|
|
2015-05-26 13:54:20 +08:00
|
|
|
PHP_SUBST(PHP_FASTCGI_OBJS)
|
2002-03-07 22:20:02 +08:00
|
|
|
PHP_SUBST(PHP_SAPI_OBJS)
|
2010-11-14 07:13:07 +08:00
|
|
|
PHP_SUBST(PHP_BINARY_OBJS)
|
2002-03-07 22:20:02 +08:00
|
|
|
PHP_SUBST(PHP_GLOBAL_OBJS)
|
|
|
|
|
2010-11-14 07:13:07 +08:00
|
|
|
PHP_SUBST(PHP_BINARIES)
|
2002-03-07 22:20:02 +08:00
|
|
|
PHP_SUBST(PHP_MODULES)
|
2008-02-18 04:50:03 +08:00
|
|
|
PHP_SUBST(PHP_ZEND_EX)
|
1999-12-30 10:59:53 +08:00
|
|
|
|
2001-08-21 19:03:45 +08:00
|
|
|
PHP_SUBST(EXT_LIBS)
|
|
|
|
|
2000-12-23 21:17:36 +08:00
|
|
|
PHP_SUBST_OLD(abs_builddir)
|
|
|
|
PHP_SUBST_OLD(abs_srcdir)
|
2002-04-23 10:51:17 +08:00
|
|
|
PHP_SUBST_OLD(php_abs_top_builddir)
|
|
|
|
PHP_SUBST_OLD(php_abs_top_srcdir)
|
|
|
|
|
1999-12-30 10:59:53 +08:00
|
|
|
PHP_SUBST(bindir)
|
2009-12-15 18:55:27 +08:00
|
|
|
PHP_SUBST(sbindir)
|
1999-12-30 10:59:53 +08:00
|
|
|
PHP_SUBST(exec_prefix)
|
2005-08-09 00:06:49 +08:00
|
|
|
PHP_SUBST_OLD(program_prefix)
|
|
|
|
PHP_SUBST_OLD(program_suffix)
|
1999-12-30 10:59:53 +08:00
|
|
|
PHP_SUBST(includedir)
|
|
|
|
PHP_SUBST(libdir)
|
2003-02-12 07:46:39 +08:00
|
|
|
PHP_SUBST(mandir)
|
1999-12-30 10:59:53 +08:00
|
|
|
PHP_SUBST(phplibdir)
|
|
|
|
PHP_SUBST(phptempdir)
|
|
|
|
PHP_SUBST(prefix)
|
2001-01-10 09:34:40 +08:00
|
|
|
PHP_SUBST(localstatedir)
|
2001-04-22 09:09:14 +08:00
|
|
|
PHP_SUBST(datadir)
|
2006-12-25 23:41:56 +08:00
|
|
|
PHP_SUBST(datarootdir)
|
2001-04-22 09:09:14 +08:00
|
|
|
PHP_SUBST(sysconfdir)
|
1999-12-30 10:59:53 +08:00
|
|
|
|
2005-04-21 22:57:53 +08:00
|
|
|
PHP_SUBST(EXEEXT)
|
1999-12-30 10:59:53 +08:00
|
|
|
PHP_SUBST(CC)
|
|
|
|
PHP_SUBST(CFLAGS)
|
2001-05-12 20:22:34 +08:00
|
|
|
PHP_SUBST(CFLAGS_CLEAN)
|
1999-12-30 10:59:53 +08:00
|
|
|
PHP_SUBST(CPP)
|
|
|
|
PHP_SUBST(CPPFLAGS)
|
|
|
|
PHP_SUBST(CXX)
|
2000-07-10 04:39:18 +08:00
|
|
|
PHP_SUBST(CXXFLAGS)
|
2001-05-12 20:22:34 +08:00
|
|
|
PHP_SUBST(CXXFLAGS_CLEAN)
|
2000-12-21 13:26:45 +08:00
|
|
|
PHP_SUBST_OLD(DEBUG_CFLAGS)
|
|
|
|
PHP_SUBST_OLD(EXTENSION_DIR)
|
2002-12-11 16:41:45 +08:00
|
|
|
PHP_SUBST_OLD(EXTRA_LDFLAGS)
|
2003-09-08 21:10:10 +08:00
|
|
|
PHP_SUBST_OLD(EXTRA_LDFLAGS_PROGRAM)
|
2000-12-23 21:17:36 +08:00
|
|
|
PHP_SUBST_OLD(EXTRA_LIBS)
|
2002-02-04 04:00:27 +08:00
|
|
|
PHP_SUBST_OLD(ZEND_EXTRA_LIBS)
|
2002-04-23 10:51:17 +08:00
|
|
|
PHP_SUBST_OLD(INCLUDES)
|
|
|
|
PHP_SUBST_OLD(EXTRA_INCLUDES)
|
2000-12-21 13:26:45 +08:00
|
|
|
PHP_SUBST_OLD(INCLUDE_PATH)
|
|
|
|
PHP_SUBST_OLD(INSTALL_IT)
|
1999-12-30 10:59:53 +08:00
|
|
|
PHP_SUBST(LFLAGS)
|
|
|
|
PHP_SUBST(LIBTOOL)
|
2000-05-18 19:35:17 +08:00
|
|
|
PHP_SUBST(LN_S)
|
2000-12-23 21:17:36 +08:00
|
|
|
PHP_SUBST_OLD(NATIVE_RPATHS)
|
2001-01-06 02:37:01 +08:00
|
|
|
PHP_SUBST_OLD(PEAR_INSTALLDIR)
|
1999-12-30 10:59:53 +08:00
|
|
|
PHP_SUBST(PHP_BUILD_DATE)
|
2000-12-23 21:17:36 +08:00
|
|
|
PHP_SUBST_OLD(PHP_LDFLAGS)
|
|
|
|
PHP_SUBST_OLD(PHP_LIBS)
|
2002-03-07 22:20:02 +08:00
|
|
|
PHP_SUBST(OVERALL_TARGET)
|
1999-12-30 10:59:53 +08:00
|
|
|
PHP_SUBST(PHP_RPATHS)
|
|
|
|
PHP_SUBST(PHP_SAPI)
|
2002-05-09 20:06:44 +08:00
|
|
|
PHP_SUBST_OLD(PHP_VERSION)
|
2006-07-27 16:53:16 +08:00
|
|
|
PHP_SUBST_OLD(PHP_VERSION_ID)
|
1999-12-30 10:59:53 +08:00
|
|
|
PHP_SUBST(SHELL)
|
2000-05-01 10:42:55 +08:00
|
|
|
PHP_SUBST(SHARED_LIBTOOL)
|
1999-12-30 10:59:53 +08:00
|
|
|
PHP_SUBST(WARNING_LEVEL)
|
2002-08-07 00:01:34 +08:00
|
|
|
PHP_SUBST(PHP_FRAMEWORKS)
|
2002-08-07 06:05:38 +08:00
|
|
|
PHP_SUBST(PHP_FRAMEWORKPATH)
|
2005-11-22 07:08:02 +08:00
|
|
|
PHP_SUBST(INSTALL_HEADERS)
|
1999-12-30 10:59:53 +08:00
|
|
|
|
2001-05-12 18:33:52 +08:00
|
|
|
old_CC=$CC
|
2000-03-19 01:58:09 +08:00
|
|
|
|
|
|
|
if test "$PHP_THREAD_SAFETY" = "yes" && test -n "$ac_cv_pthreads_cflags"; then
|
2000-03-30 12:09:56 +08:00
|
|
|
CXXFLAGS="$CXXFLAGS $ac_cv_pthreads_cflags"
|
|
|
|
INLINE_CFLAGS="$INLINE_CFLAGS $ac_cv_pthreads_cflags"
|
2018-02-09 21:30:06 +08:00
|
|
|
CPPFLAGS="$CPPFLAGS $ac_cv_pthreads_cflags"
|
2000-03-19 01:58:09 +08:00
|
|
|
fi
|
|
|
|
|
2000-03-31 03:02:52 +08:00
|
|
|
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
|
|
|
|
|
2009-05-19 05:33:38 +08:00
|
|
|
ZEND_EXT_TYPE="zend_extension"
|
2008-02-18 04:50:03 +08:00
|
|
|
PHP_SUBST(ZEND_EXT_TYPE)
|
|
|
|
|
2003-02-25 14:35:43 +08:00
|
|
|
dnl
|
|
|
|
dnl Libtool creation
|
|
|
|
dnl
|
|
|
|
|
2003-10-03 13:24:33 +08:00
|
|
|
PHP_HELP_SEPARATOR([Libtool:])
|
2003-02-25 15:40:51 +08:00
|
|
|
PHP_CONFIGURE_PART(Configuring libtool)
|
2003-02-25 14:35:43 +08:00
|
|
|
|
|
|
|
LDFLAGS="$LDFLAGS $PHP_AIX_LDFLAGS"
|
2007-08-06 22:33:51 +08:00
|
|
|
|
2009-12-01 05:38:44 +08:00
|
|
|
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*)
|
2010-11-13 19:12:07 +08:00
|
|
|
ac_cv_exeext=
|
|
|
|
;;
|
2009-12-01 05:38:44 +08:00
|
|
|
esac
|
|
|
|
|
2018-01-13 05:52:47 +08:00
|
|
|
dnl Silence warning: `ar: 'u' modifier ignored since 'D' is the default`
|
2018-10-21 19:06:58 +08:00
|
|
|
dnl See https://github.com/php/php-src/pull/3017
|
2018-01-13 05:52:47 +08:00
|
|
|
AC_SUBST(AR_FLAGS, [cr])
|
|
|
|
|
2008-07-25 20:36:34 +08:00
|
|
|
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])
|
2008-07-27 23:05:39 +08:00
|
|
|
AC_DEFUN([AC_PROG_CXXCPP], [php_prog_cxxcpp=disabled])
|
2008-07-25 20:36:34 +08:00
|
|
|
])
|
2002-03-07 22:20:02 +08:00
|
|
|
AC_PROG_LIBTOOL
|
2007-08-06 22:33:51 +08:00
|
|
|
|
2015-07-18 01:02:43 +08:00
|
|
|
PHP_SET_LIBTOOL_VARIABLE([--silent])
|
1999-12-30 10:59:53 +08:00
|
|
|
|
2003-02-12 05:11:42 +08:00
|
|
|
dnl libtool 1.4.3 needs this.
|
|
|
|
PHP_SET_LIBTOOL_VARIABLE([--preserve-dup-deps])
|
1999-12-30 10:59:53 +08:00
|
|
|
|
2001-05-12 20:22:34 +08:00
|
|
|
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)'
|
1999-12-30 10:59:53 +08:00
|
|
|
|
2001-05-12 18:33:52 +08:00
|
|
|
CC=$old_CC
|
2000-03-19 01:58:09 +08:00
|
|
|
|
1999-12-30 10:59:53 +08:00
|
|
|
PHP_CONFIGURE_PART(Generating files)
|
|
|
|
|
2001-05-12 20:22:34 +08:00
|
|
|
CXXFLAGS_CLEAN=$CXXFLAGS
|
2015-05-26 22:33:25 +08:00
|
|
|
CFLAGS_CLEAN="$CFLAGS \$(PROF_FLAGS)"
|
2002-04-26 18:17:40 +08:00
|
|
|
CFLAGS="\$(CFLAGS_CLEAN) $standard_libtool_flag"
|
2001-05-12 20:22:34 +08:00
|
|
|
INLINE_CFLAGS="$INLINE_CFLAGS $standard_libtool_flag"
|
2015-05-26 22:33:25 +08:00
|
|
|
CXXFLAGS="$CXXFLAGS $standard_libtool_flag \$(PROF_FLAGS)"
|
2001-05-12 20:22:34 +08:00
|
|
|
|
2008-06-01 03:27:31 +08:00
|
|
|
if test "$PHP_PHAR" != "no" && test "$PHP_CLI" != "no"; then
|
2008-06-03 00:58:19 +08:00
|
|
|
pharcmd=pharcmd
|
|
|
|
pharcmd_install=install-pharcmd
|
2008-06-01 03:27:31 +08:00
|
|
|
else
|
2008-06-03 00:58:19 +08:00
|
|
|
pharcmd=
|
|
|
|
pharcmd_install=
|
2008-06-01 03:27:31 +08:00
|
|
|
fi;
|
|
|
|
|
2010-11-14 07:13:07 +08:00
|
|
|
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"
|
2002-12-20 01:02:40 +08:00
|
|
|
|
2002-03-07 22:20:02 +08:00
|
|
|
PHP_SUBST(all_targets)
|
|
|
|
PHP_SUBST(install_targets)
|
2010-11-14 07:13:07 +08:00
|
|
|
PHP_SUBST(install_binary_targets)
|
2002-03-07 22:20:02 +08:00
|
|
|
|
2007-10-05 23:00:09 +08:00
|
|
|
PHP_INSTALL_HEADERS([Zend/ TSRM/ include/ main/ main/streams/])
|
2005-11-22 07:08:02 +08:00
|
|
|
|
2014-10-15 22:33:40 +08:00
|
|
|
PHP_ADD_SOURCES(TSRM, TSRM.c tsrm_strtok_r.c, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
|
2002-03-07 22:20:02 +08:00
|
|
|
|
2019-02-21 06:17:15 +08:00
|
|
|
PHP_ADD_SOURCES(main, main.c snprintf.c spprintf.c \
|
2010-04-27 07:53:30 +08:00
|
|
|
fopen_wrappers.c alloca.c php_scandir.c \
|
2002-03-07 22:20:02 +08:00
|
|
|
php_ini.c SAPI.c rfc1867.c php_content_types.c strlcpy.c \
|
2016-10-15 21:53:38 +08:00
|
|
|
strlcat.c explicit_bzero.c mergesort.c reentrancy.c php_variables.c php_ticks.c \
|
2012-07-15 04:44:21 +08:00
|
|
|
network.c php_open_temporary_file.c \
|
2017-08-10 10:55:25 +08:00
|
|
|
output.c getopt.c php_syslog.c, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
|
2015-05-26 13:54:20 +08:00
|
|
|
|
|
|
|
PHP_ADD_SOURCES_X(main, fastcgi.c, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1, PHP_FASTCGI_OBJS, no)
|
2003-02-17 06:19:28 +08:00
|
|
|
|
|
|
|
PHP_ADD_SOURCES(main/streams, streams.c cast.c memory.c filter.c \
|
2007-11-06 19:50:52 +08:00
|
|
|
plain_wrapper.c userspace.c transports.c xp_socket.c mmap.c \
|
2014-10-15 22:33:40 +08:00
|
|
|
glob_wrapper.c, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
|
2003-02-17 06:19:28 +08:00
|
|
|
|
2014-10-15 22:33:40 +08:00
|
|
|
PHP_ADD_SOURCES(/main, internal_functions.c, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1, sapi)
|
2016-11-12 18:20:01 +08:00
|
|
|
PHP_ADD_SOURCES_X(/main, internal_functions_cli.c, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1, PHP_BINARY_OBJS)
|
2002-03-07 22:20:02 +08:00
|
|
|
|
|
|
|
PHP_ADD_SOURCES(Zend, \
|
2007-05-25 05:40:41 +08:00
|
|
|
zend_language_parser.c zend_language_scanner.c \
|
|
|
|
zend_ini_parser.c zend_ini_scanner.c \
|
2014-09-23 05:39:07 +08:00
|
|
|
zend_alloc.c zend_compile.c zend_constants.c zend_dtrace.c \
|
2002-03-07 22:20:02 +08:00
|
|
|
zend_execute_API.c zend_highlight.c zend_llist.c \
|
2013-12-22 07:52:05 +08:00
|
|
|
zend_vm_opcodes.c zend_opcode.c zend_operators.c zend_ptr_stack.c zend_stack.c \
|
2002-03-07 22:20:02 +08:00
|
|
|
zend_variables.c zend.c zend_API.c zend_extensions.c zend_hash.c \
|
2019-02-21 06:17:15 +08:00
|
|
|
zend_list.c zend_builtin_functions.c \
|
2015-01-14 17:22:58 +08:00
|
|
|
zend_ini.c zend_sort.c zend_multibyte.c zend_ts_hash.c zend_stream.c \
|
2008-07-14 17:49:03 +08:00
|
|
|
zend_iterators.c zend_interfaces.c zend_exceptions.c zend_strtod.c zend_gc.c \
|
2013-10-17 15:43:52 +08:00
|
|
|
zend_closures.c zend_float.c zend_string.c zend_signal.c zend_generators.c \
|
2014-09-19 06:01:05 +08:00
|
|
|
zend_virtual_cwd.c zend_ast.c zend_objects.c zend_object_handlers.c zend_objects_API.c \
|
2018-01-16 14:44:06 +08:00
|
|
|
zend_default_classes.c zend_inheritance.c zend_smart_str.c zend_cpuinfo.c, \
|
2014-10-02 14:45:53 +08:00
|
|
|
-DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
|
2002-03-08 03:56:53 +08:00
|
|
|
|
2002-03-07 22:20:02 +08:00
|
|
|
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
|
|
|
|
|
2014-10-15 22:33:40 +08:00
|
|
|
PHP_ADD_SOURCES_X(Zend, zend_execute.c, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1,PHP_GLOBAL_OBJS,,$flag)
|
2002-03-07 22:20:02 +08:00
|
|
|
|
2003-06-24 00:06:37 +08:00
|
|
|
PHP_ADD_BUILD_DIR(main main/streams)
|
2002-03-07 22:20:02 +08:00
|
|
|
PHP_ADD_BUILD_DIR(TSRM)
|
|
|
|
PHP_ADD_BUILD_DIR(Zend)
|
|
|
|
|
2003-01-28 18:59:12 +08:00
|
|
|
PHP_ADD_MAKEFILE_FRAGMENT($abs_srcdir/scripts/Makefile.frag,$abs_srcdir/scripts,scripts)
|
2004-10-02 06:32:15 +08:00
|
|
|
PHP_ADD_MAKEFILE_FRAGMENT($abs_srcdir/Zend/Makefile.frag,$abs_srcdir/Zend,Zend)
|
2002-03-07 22:20:02 +08:00
|
|
|
|
|
|
|
PHP_GEN_BUILD_DIRS
|
|
|
|
PHP_GEN_GLOBAL_MAKEFILE
|
1999-12-30 10:59:53 +08:00
|
|
|
|
2002-10-24 21:15:49 +08:00
|
|
|
AC_DEFINE([HAVE_BUILD_DEFS_H], 1, [ ])
|
|
|
|
|
2003-01-28 18:59:12 +08:00
|
|
|
$php_shtool mkdir -p scripts
|
2005-04-30 12:27:23 +08:00
|
|
|
$php_shtool mkdir -p scripts/man1
|
2003-01-28 18:59:12 +08:00
|
|
|
|
2014-09-20 16:01:44 +08:00
|
|
|
ALL_OUTPUT_FILES="php7.spec main/build-defs.h \
|
2005-04-30 12:27:23 +08:00
|
|
|
scripts/phpize scripts/man1/phpize.1 \
|
|
|
|
scripts/php-config scripts/man1/php-config.1 \
|
2002-03-07 22:20:02 +08:00
|
|
|
$PHP_OUTPUT_FILES"
|
2000-07-26 22:53:54 +08:00
|
|
|
|
2007-07-12 07:20:37 +08:00
|
|
|
dnl
|
|
|
|
dnl Check for unknown configure options
|
|
|
|
dnl
|
|
|
|
PHP_CHECK_CONFIGURE_OPTIONS
|
|
|
|
|
|
|
|
dnl
|
|
|
|
dnl Generate build files
|
|
|
|
dnl
|
2018-07-29 05:09:06 +08:00
|
|
|
AC_CONFIG_FILES([$ALL_OUTPUT_FILES])
|
|
|
|
AC_CONFIG_COMMANDS([default],[],[
|
2000-07-26 22:53:54 +08:00
|
|
|
|
2002-05-15 04:53:33 +08:00
|
|
|
if test "\$CONFIG_FILES" = "$ALL_OUTPUT_FILES" || test "\$CONFIG_FILES" = " $ALL_OUTPUT_FILES" || test -z "\$CONFIG_FILES"; then
|
2000-07-26 22:53:54 +08:00
|
|
|
REDO_ALL=yes
|
|
|
|
fi
|
|
|
|
|
2000-01-13 03:44:35 +08:00
|
|
|
################################################################
|
|
|
|
# Create configuration headers
|
|
|
|
#
|
|
|
|
|
2003-03-10 22:32:47 +08:00
|
|
|
test -d TSRM || $php_shtool mkdir TSRM
|
2005-01-10 05:05:06 +08:00
|
|
|
echo '#include <../main/php_config.h>' > TSRM/tsrm_config.h
|
2001-08-21 19:45:33 +08:00
|
|
|
|
2003-03-10 22:32:47 +08:00
|
|
|
test -d Zend || $php_shtool mkdir Zend
|
2000-01-13 03:44:35 +08:00
|
|
|
|
|
|
|
cat >Zend/zend_config.h <<FEO
|
2005-01-10 05:05:06 +08:00
|
|
|
#include <../main/php_config.h>
|
2000-01-13 03:56:12 +08:00
|
|
|
#if defined(APACHE) && defined(PHP_API_VERSION)
|
2000-01-13 03:44:35 +08:00
|
|
|
#undef HAVE_DLFCN_H
|
|
|
|
#endif
|
|
|
|
FEO
|
1999-10-04 23:18:26 +08:00
|
|
|
|
1999-09-29 23:17:02 +08:00
|
|
|
# run this only when generating all the files?
|
2000-07-26 22:53:54 +08:00
|
|
|
if test -n "\$REDO_ALL"; then
|
1999-07-22 05:56:25 +08:00
|
|
|
# Hacking while airborne considered harmful.
|
|
|
|
#
|
2000-06-12 02:51:17 +08:00
|
|
|
echo "creating main/internal_functions.c"
|
2000-12-21 01:21:37 +08:00
|
|
|
extensions="$EXT_STATIC"
|
2000-09-20 01:36:36 +08:00
|
|
|
dnl mv -f main/internal_functions.c main/internal_functions.c.old 2>/dev/null
|
2000-12-21 01:21:37 +08:00
|
|
|
sh $srcdir/build/genif.sh $srcdir/main/internal_functions.c.in $srcdir "$EXTRA_MODULE_PTRS" $AWK \$extensions > main/internal_functions.c
|
2002-01-20 10:30:18 +08:00
|
|
|
|
|
|
|
echo "creating main/internal_functions_cli.c"
|
2002-01-31 07:46:44 +08:00
|
|
|
cli_extensions="$EXT_CLI_STATIC"
|
2002-01-20 10:30:18 +08:00
|
|
|
sh $srcdir/build/genif.sh $srcdir/main/internal_functions.c.in $srcdir "$EXTRA_MODULE_PTRS" $AWK \$cli_extensions > main/internal_functions_cli.c
|
|
|
|
|
1999-12-12 01:48:41 +08:00
|
|
|
if test -n "$PHP_APXS_BROKEN"; then
|
|
|
|
echo "+--------------------------------------------------------------------+"
|
|
|
|
echo "| WARNING: Your $APXS script is most likely broken."
|
|
|
|
echo "| |"
|
2002-03-22 19:19:12 +08:00
|
|
|
echo "| Please go read http://www.php.net/faq.build#faq.build.apxs |"
|
2001-08-07 02:43:02 +08:00
|
|
|
echo "| and make the changes described there and try again. |"
|
1999-12-08 00:52:13 +08:00
|
|
|
fi
|
1999-05-03 19:11:23 +08:00
|
|
|
|
2000-05-18 03:08:44 +08:00
|
|
|
if test -n "$DEBUG_LOG"; then
|
2001-08-07 21:29:09 +08:00
|
|
|
rm -f config.cache
|
2000-05-18 03:08:44 +08:00
|
|
|
cat <<X
|
|
|
|
+--------------------------------------------------------------------+
|
2000-06-21 06:12:22 +08:00
|
|
|
| *** ATTENTION *** |
|
|
|
|
| |
|
2000-06-12 23:55:15 +08:00
|
|
|
| Something is likely to be messed up here, because the configure |
|
2000-05-18 03:08:44 +08:00
|
|
|
| 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 |
|
2018-07-30 12:28:40 +08:00
|
|
|
| php-install@lists.php.net mailing list and include appropriate |
|
2000-05-18 03:08:44 +08:00
|
|
|
| information about your setup. |
|
|
|
|
X
|
|
|
|
fi
|
|
|
|
|
2017-10-05 23:55:29 +08:00
|
|
|
if test "$PHP_SAPI" = "apache2handler"; then
|
2012-03-02 08:07:41 +08:00
|
|
|
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
|
|
|
|
|
2001-06-23 18:21:00 +08:00
|
|
|
# Warn about linking Apache with libpthread if oci8 extension is enabled on linux.
|
2005-09-14 05:40:46 +08:00
|
|
|
if test "$PHP_OCI8" != "no"; then
|
2001-06-23 18:21:00 +08:00
|
|
|
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
|
|
|
|
|
2001-06-24 11:29:50 +08:00
|
|
|
if test "$PHP_SIGCHILD" != "yes"; then
|
2009-07-20 00:27:59 +08:00
|
|
|
if test "$PHP_OCI8_INSTANT_CLIENT" = "no"; then
|
2001-06-23 18:21:00 +08:00
|
|
|
cat <<X
|
|
|
|
+--------------------------------------------------------------------+
|
|
|
|
| Notice: |
|
2009-07-20 00:27:59 +08:00
|
|
|
| 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. |
|
2001-06-23 18:21:00 +08:00
|
|
|
X
|
2009-07-20 00:27:59 +08:00
|
|
|
fi
|
2001-06-24 11:29:50 +08:00
|
|
|
fi
|
2001-06-23 18:21:00 +08:00
|
|
|
fi
|
1999-04-22 08:25:57 +08:00
|
|
|
|
2003-01-10 00:37:45 +08:00
|
|
|
cat <<X
|
2001-06-23 18:21:00 +08:00
|
|
|
+--------------------------------------------------------------------+
|
|
|
|
| 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. |
|
|
|
|
+--------------------------------------------------------------------+
|
2000-05-18 03:08:44 +08:00
|
|
|
|
2003-01-10 00:37:45 +08:00
|
|
|
Thank you for using PHP.
|
2003-01-23 14:42:43 +08:00
|
|
|
|
|
|
|
X
|
2000-05-18 03:08:44 +08:00
|
|
|
|
2007-07-12 07:20:37 +08:00
|
|
|
# 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
|
|
|
|
|
1999-07-22 05:56:25 +08:00
|
|
|
fi
|
1999-04-17 08:37:12 +08:00
|
|
|
])
|
2018-07-29 05:09:06 +08:00
|
|
|
AC_OUTPUT
|