123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749 |
- dnl Process this file with autoconf to produce a configure script.
- dnl Include external macro definitions before the AC_INIT to also remove
- dnl comments starting with # and empty newlines from the included files.
- dnl ----------------------------------------------------------------------------
- m4_include([build/ax_check_compile_flag.m4])
- m4_include([build/ax_func_which_gethostbyname_r.m4])
- m4_include([build/ax_gcc_func_attribute.m4])
- m4_include([build/libtool.m4])
- m4_include([build/php_cxx_compile_stdcxx.m4])
- m4_include([build/php.m4])
- m4_include([build/pkg.m4])
- m4_include([TSRM/threads.m4])
- m4_include([TSRM/tsrm.m4])
- dnl Basic autoconf initialization, generation of config.nice.
- dnl ----------------------------------------------------------------------------
- AC_PREREQ([2.68])
- AC_INIT([PHP],[8.1.10],[https://bugs.php.net],[php],[https://www.php.net])
- AC_CONFIG_SRCDIR([main/php_version.h])
- AC_CONFIG_AUX_DIR([build])
- AC_PRESERVE_HELP_ORDER
- PHP_CONFIG_NICE(config.nice)
- PHP_CANONICAL_HOST_TARGET
- AC_CONFIG_HEADERS([main/php_config.h])
- AH_TOP([
- #ifndef PHP_CONFIG_H
- #define PHP_CONFIG_H
- #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([
- #include <stdlib.h>
- #ifdef HAVE_SYS_TYPES_H
- # include <sys/types.h>
- #endif
- #ifdef HAVE_SYS_SELECT_H
- #include <sys/select.h>
- #endif
- #include <string.h>
- #endif /* PHP_CONFIG_H */
- ])
- ac_IFS=$IFS; IFS="."
- set $(echo AC_PACKAGE_VERSION | "${SED}" 's/\([[0-9\.]]*\)\(.*\)/\1\.\2/')
- IFS=$ac_IFS
- PHP_MAJOR_VERSION=[$]1
- PHP_MINOR_VERSION=[$]2
- PHP_RELEASE_VERSION=[$]3
- PHP_EXTRA_VERSION=[$]4
- 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 Settings we want to make before the checks.
- dnl ----------------------------------------------------------------------------
- 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`
- dnl Because `make install` is often performed by the superuser, we create the
- dnl libs subdirectory as the user who configures PHP. Otherwise, the current
- dnl user will not be able to delete libs or the contents of libs.
- $php_shtool mkdir -p libs
- rm -f libs/*
- dnl Checks for programs.
- dnl ----------------------------------------------------------------------------
- PKG_PROG_PKG_CONFIG
- AC_PROG_CC([cc gcc])
- PHP_DETECT_ICC
- PHP_DETECT_SUNCC
- AC_PROG_CC_C99
- AC_PROG_CPP
- AC_USE_SYSTEM_EXTENSIONS
- AC_PROG_LN_S
- if test "$cross_compiling" = yes ; then
- AC_MSG_CHECKING(for native build C compiler)
- AC_CHECK_PROGS(BUILD_CC, [gcc clang c99 c89 cc cl],none)
- AC_MSG_RESULT($BUILD_CC)
- else
- BUILD_CC=$CC
- fi
- dnl Support systems with system libraries in e.g. /usr/lib64.
- PHP_ARG_WITH([libdir],
- [for system library directory],
- [AS_HELP_STRING([--with-libdir=NAME],
- [Look for libraries in .../NAME rather than .../lib])],
- [lib],
- [no])
- PHP_ARG_ENABLE([rpath],
- [whether to enable runpaths],
- [AS_HELP_STRING([--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([3.0.0])
- PHP_PROG_RE2C([0.13.4])
- PHP_PROG_PHP()
- PHP_ARG_ENABLE([re2c-cgoto],
- [whether to enable computed goto gcc extension with re2c],
- [AS_HELP_STRING([--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_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[
- 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"
- ;;
- *dgux*)
- CPPFLAGS="$CPPFLAGS -D_BSD_TIMEOFDAY_FLAVOR"
- ;;
- *mips*)
- CPPFLAGS="$CPPFLAGS -D_XPG_IV"
- ;;
- *hpux*)
- if test "$GCC" = "yes"; then
- CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED"
- fi
- ;;
- esac
- dnl Disable PIC mode by default where it is known to be safe to do so, to avoid
- dnl 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 Detect musl libc
- AC_MSG_CHECKING([whether we are using musl libc])
- if command -v ldd >/dev/null && ldd --version 2>&1 | grep -q ^musl
- then
- AC_MSG_RESULT(yes)
- AC_DEFINE([__MUSL__], [1], [Define when using musl libc])
- else
- AC_MSG_RESULT(no)
- fi
- dnl Include Zend configurations.
- dnl ----------------------------------------------------------------------------
- sinclude(Zend/Zend.m4)
- 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.[]$SHLIB_DL_SUFFIX_NAME
- SAPI_STATIC=libs/libphp.a
- SAPI_LIBTOOL=libphp.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_zts" = "yes"; then
- dnl Add pthreads linker and compiler flags.
- if test -n "$ac_cv_pthreads_lib"; then
- LIBS="$LIBS -l$ac_cv_pthreads_lib"
- fi
- if test -n "$ac_cv_pthreads_cflags"; then
- CFLAGS="$CFLAGS $ac_cv_pthreads_cflags"
- fi
- 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 and
- dnl 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 to avoid -lnsl
- dnl checks, if we already have the functions which are usually in libnsl. Also,
- dnl uClibc will bark at linking with glibc's libnsl.
- PHP_CHECK_FUNC(socket, socket, network)
- PHP_CHECK_FUNC(socketpair, socket, network)
- PHP_CHECK_FUNC(htonl, socket, network)
- PHP_CHECK_FUNC(gethostname, nsl, network)
- PHP_CHECK_FUNC(gethostbyaddr, nsl, network)
- PHP_CHECK_FUNC(dlopen, dl, root)
- PHP_CHECK_FUNC(dlsym, dl, root)
- if test "$ac_cv_func_dlopen" = "yes"; then
- AC_DEFINE(HAVE_LIBDL, 1, [ ])
- fi
- AC_CHECK_LIB(m, sin)
- dnl Check for inet_aton in -lc, -lbind and -lresolv.
- PHP_CHECK_FUNC(inet_aton, resolv, bind)
- dnl Then headers.
- dnl ----------------------------------------------------------------------------
- dnl QNX requires unix.h to allow functions in libunix to work properly.
- AC_CHECK_HEADERS([ \
- stdint.h \
- dirent.h \
- sys/param.h \
- sys/types.h \
- sys/time.h \
- netinet/in.h \
- alloca.h \
- arpa/inet.h \
- arpa/nameser.h \
- crypt.h \
- dns.h \
- fcntl.h \
- grp.h \
- ieeefp.h \
- langinfo.h \
- malloc.h \
- poll.h \
- pty.h \
- pwd.h \
- resolv.h \
- strings.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/uio.h \
- sys/wait.h \
- sys/loadavg.h \
- unistd.h \
- unix.h \
- utime.h \
- sys/utsname.h \
- sys/ipc.h \
- dlfcn.h \
- tmmintrin.h \
- nmmintrin.h \
- wmmintrin.h \
- immintrin.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
- if test "$GCC" = "yes"; then
- PHP_BROKEN_GCC_STRLEN_OPT
- fi
- dnl Checks for typedefs, structures, and compiler characteristics.
- dnl ----------------------------------------------------------------------------
- AC_STRUCT_TIMEZONE
- PHP_MISSING_TIME_R_DECL
- PHP_MISSING_FCLOSE_DECL
- PHP_STRUCT_FLOCK
- AC_CHECK_TYPES(socklen_t, [], [], [
- #ifdef HAVE_SYS_TYPES_H
- # include <sys/types.h>
- #endif
- #ifdef HAVE_SYS_SOCKET_H
- # include <sys/socket.h>
- #endif
- ])
- 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_clzl
- PHP_CHECK_BUILTIN_CLZL
- dnl Check __builtin_clzll
- PHP_CHECK_BUILTIN_CLZLL
- 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 __builtin_cpu_init
- PHP_CHECK_BUILTIN_CPU_INIT
- dnl Check __builtin_cpu_supports
- PHP_CHECK_BUILTIN_CPU_SUPPORTS
- dnl Check for __alignof__ support in the compiler
- AC_CACHE_CHECK(whether the compiler supports __alignof__, ac_cv_alignof_exists,[
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
- ]],[[
- int align = __alignof__(int);
- ]])],[
- ac_cv_alignof_exists=yes
- ],[
- ac_cv_alignof_exists=no
- ])])
- if test "$ac_cv_alignof_exists" = "yes"; then
- AC_DEFINE([HAVE_ALIGNOF], 1, [whether the compiler supports __alignof__])
- fi
- dnl Check for structure members.
- AC_CHECK_MEMBERS([struct tm.tm_gmtoff],,,[#include <time.h>])
- AC_CHECK_MEMBERS([struct stat.st_blksize, struct stat.st_rdev])
- dnl AC_STRUCT_ST_BLOCKS will screw QNX because fileblocks.o does not exist.
- if test "`uname -s 2>/dev/null`" != "QNX"; then
- AC_STRUCT_ST_BLOCKS
- fi
- 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 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.
- 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*|*openbsd*], [true], [
- AX_GCC_FUNC_ATTRIBUTE([ifunc])
- AX_GCC_FUNC_ATTRIBUTE([target])
- ])
- dnl Check for IPv6 support.
- AC_CACHE_CHECK([for IPv6 support], ac_cv_ipv6_support,
- [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#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_CHECK_FUNCS(
- alphasort \
- asctime_r \
- chroot \
- ctime_r \
- explicit_memset \
- fdatasync \
- flock \
- ftok \
- funopen \
- gai_strerror \
- getcwd \
- getloadavg \
- getlogin \
- getprotobyname \
- getprotobynumber \
- getservbyname \
- getservbyport \
- getrusage \
- gettimeofday \
- gmtime_r \
- getpwnam_r \
- getgrnam_r \
- getpwuid_r \
- getwd \
- glob \
- inet_ntoa \
- inet_ntop \
- inet_pton \
- localtime_r \
- lchown \
- memmove \
- mkstemp \
- mmap \
- nice \
- nl_langinfo \
- poll \
- putenv \
- scandir \
- setitimer \
- setenv \
- shutdown \
- sigprocmask \
- statfs \
- statvfs \
- std_syslog \
- strcasecmp \
- strnlen \
- strptime \
- strtok_r \
- symlink \
- tzset \
- unsetenv \
- usleep \
- utime \
- vasprintf \
- asprintf \
- nanosleep \
- memmem \
- )
- AX_FUNC_WHICH_GETHOSTBYNAME_R
- dnl Some systems (like OpenSolaris) do not have nanosleep in libc.
- PHP_CHECK_FUNC_LIB(nanosleep, rt)
- dnl Haiku does not have network api in libc.
- PHP_CHECK_FUNC_LIB(setsockopt, network)
- dnl Check for getaddrinfo, should be a better way, but... Also check for working
- dnl getaddrinfo.
- AC_CACHE_CHECK([for getaddrinfo], ac_cv_func_getaddrinfo,
- [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <netdb.h>]],
- [[struct addrinfo *g,h;g=&h;getaddrinfo("","",g,&g);]])],[AC_RUN_IFELSE([AC_LANG_SOURCE([[
- #include <string.h>
- #include <netdb.h>
- #include <sys/types.h>
- #include <string.h>
- #include <stdlib.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) {
- return 1;
- }
- if (ai == 0) {
- return 1;
- }
- pai = ai;
- while (pai) {
- if (pai->ai_family != AF_INET) {
- /* 127.0.0.1/NUMERICHOST should only resolve ONE way */
- return 1;
- }
- if (pai->ai_addr->sa_family != AF_INET) {
- /* 127.0.0.1/NUMERICHOST should only resolve ONE way */
- return 1;
- }
- pai = pai->ai_next;
- }
- freeaddrinfo(ai);
- return 0;
- }
- ]])],[ac_cv_func_getaddrinfo=yes], [ac_cv_func_getaddrinfo=no], [
- dnl Cross compilation.
- case $host_alias in
- *linux*)
- ac_cv_func_getaddrinfo=yes
- ;;
- *)
- ac_cv_func_getaddrinfo=no
- ;;
- esac
- ])],
- [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
- AC_REPLACE_FUNCS(strlcat strlcpy explicit_bzero getopt)
- AC_FUNC_ALLOCA
- PHP_TIME_R_TYPE
- PHP_CHECK_IN_ADDR_T
- AC_CACHE_CHECK([for aarch64 CRC32 API], ac_cv_func___crc32d,
- [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <arm_acle.h>]],[[__crc32d(0, 0);]])],[ac_cv_func___crc32d=yes],[ac_cv_func___crc32d="no"])])
- if test "$ac_cv_func___crc32d" = "yes"; then
- AC_DEFINE([HAVE_AARCH64_CRC32], [1], [Define when aarch64 CRC32 API is available.])
- fi
- dnl Check for asm goto support.
- AC_CACHE_CHECK([for asm goto], ac_cv__asm_goto,
- [AC_RUN_IFELSE([AC_LANG_SOURCE([[
- int main(void) {
- #if defined(__x86_64__) || defined(__i386__)
- __asm__ goto("jmp %l0\n" :::: end);
- #elif defined(__aarch64__)
- __asm__ goto("b %l0\n" :::: end);
- #endif
- end:
- return 0;
- }
- ]])], [ac_cv__asm_goto=yes], [ac_cv__asm_goto=no], [
- AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
- int main(void) {
- #if defined(__x86_64__) || defined(__i386__)
- __asm__ goto("jmp %l0\n" :::: end);
- #elif defined(__aarch64__)
- __asm__ goto("b %l0\n" :::: end);
- #endif
- end:
- return 0;
- }
- ]])], [ac_cv__asm_goto=yes], [ac_cv__asm_goto=no])
- ])])
- if test "$ac_cv__asm_goto" = yes; then
- AC_DEFINE(HAVE_ASM_GOTO,1,[Define if asm goto support])
- fi
- dnl Check valgrind support.
- PHP_ARG_WITH([valgrind],
- [whether to enable valgrind support],
- [AS_HELP_STRING([--with-valgrind],
- [Enable valgrind support])],
- [yes],
- [no])
- if test "$PHP_VALGRIND" != "no"; then
- PKG_CHECK_MODULES([VALGRIND], [valgrind], [have_valgrind="yes"], [have_valgrind="no"])
- if test "$have_valgrind" = "yes"; then
- PHP_EVAL_INCLINE($VALGRIND_CFLAGS)
- AC_DEFINE(HAVE_VALGRIND, 1, [ ])
- else
- if test "$with_valgrind" = "yes"; then
- AC_MSG_ERROR([Valgrind not found. Please install Valgrind.])
- fi
- fi
- fi
- dnl Check for openpty. It may require linking against libutil or libbsd.
- PHP_CHECK_FUNC(openpty, util, bsd)
- dnl General settings.
- dnl ----------------------------------------------------------------------------
- PHP_CONFIGURE_PART(General settings)
- PHP_HELP_SEPARATOR([General settings:])
- PHP_ARG_ENABLE([gcov],
- [whether to include gcov symbols],
- [AS_HELP_STRING([--enable-gcov],
- [Enable GCOV code coverage - 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
- AC_DEFINE(HAVE_GCOV, 1, [Whether you have gcov])
- PHP_ADD_MAKEFILE_FRAGMENT($abs_srcdir/build/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],
- [AS_HELP_STRING([--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_ENABLE([debug-assertions],
- [whether to enable debug assertions in release mode],
- [AS_HELP_STRING([--enable-debug-assertions],
- [Compile with debug assertions even in release mode])],
- [no],
- [no])
- if test "$PHP_DEBUG_ASSERTIONS" = "yes"; then
- PHP_DEBUG=1
- ZEND_DEBUG=yes
- fi
- AC_ARG_ENABLE([zts],
- [AS_HELP_STRING([--enable-zts],
- [Enable thread safety])],
- [ZEND_ZTS=$enableval],
- [ZEND_ZTS=no])
- if test "$ZEND_ZTS" = "yes"; then
- AC_DEFINE(ZTS, 1,[ ])
- PHP_THREAD_SAFETY=yes
- else
- PHP_THREAD_SAFETY=no
- fi
- PHP_ARG_ENABLE([rtld-now],
- [whether to dlopen extensions with RTLD_NOW instead of RTLD_LAZY],
- [AS_HELP_STRING([--enable-rtld-now],
- [Use dlopen with RTLD_NOW instead of RTLD_LAZY])],
- [no],
- [no])
- if test "$PHP_RTLD_NOW" = "yes"; then
- AC_DEFINE(PHP_USE_RTLD_NOW, 1, [ Use dlopen with RTLD_NOW instead of RTLD_LAZY ])
- fi
- PHP_ARG_WITH([layout],
- [layout of installed files],
- [AS_HELP_STRING([--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],
- [AS_HELP_STRING([--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],,
- [AS_HELP_STRING([--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],
- [AS_HELP_STRING([--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],
- [AS_HELP_STRING([--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],
- [AS_HELP_STRING([--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],
- [AS_HELP_STRING([--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],
- [AS_HELP_STRING([--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 DTRACE checks. Note: this has to be done after SAPI configuration.
- PHP_ARG_ENABLE([dtrace],
- [whether to enable DTrace support],
- [AS_HELP_STRING([--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],,
- [AS_HELP_STRING([--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
- PHP_ARG_ENABLE([werror],,
- [AS_HELP_STRING([--enable-werror],
- [Enable -Werror])],
- [no],
- [no])
- PHP_ARG_ENABLE([memory-sanitizer],,
- [AS_HELP_STRING([--enable-memory-sanitizer],
- [Enable memory sanitizer (clang only)])],
- [no],
- [no])
- PHP_ARG_ENABLE([address-sanitizer],,
- [AS_HELP_STRING([--enable-address-sanitizer],
- [Enable address sanitizer])],
- [no],
- [no])
- PHP_ARG_ENABLE([undefined-sanitizer],,
- [AS_HELP_STRING([--enable-undefined-sanitizer],
- [Enable undefined sanitizer])],
- [no],
- [no])
- 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 Check if all enabled by default extensions should be disabled.
- AC_ARG_ENABLE([all],
- [AS_HELP_STRING([--disable-all],
- [Disable all extensions which are enabled by default])],
- [PHP_ENABLE_ALL=$enableval])
- dnl Reading config stubs.
- esyscmd(./build/config-stubs ext)
- dnl Extensions post-config.
- dnl ----------------------------------------------------------------------------
- dnl Align segments on huge page boundary
- case $host_alias in
- i[[3456]]86-*-linux-* | x86_64-*-linux-*)
- AC_MSG_CHECKING(linker support for -zcommon-page-size=2097152)
- save_LDFLAGS=$LDFLAGS
- LDFLAGS="$LDFLAGS -Wl,-zcommon-page-size=2097152 -Wl,-zmax-page-size=2097152"
- AC_RUN_IFELSE(
- [AC_LANG_SOURCE([[int main() {return 0;}]])],
- [ac_cv_common_page_size=yes],
- [ac_cv_common_page_size=no],
- [ac_cv_common_page_size=no])
- LDFLAGS=$save_LDFLAGS
- if test "$ac_cv_common_page_size" = "yes"; then
- AC_MSG_RESULT([yes])
- EXTRA_LDFLAGS_PROGRAM="$EXTRA_LDFLAGS_PROGRAM -Wl,-zcommon-page-size=2097152 -Wl,-zmax-page-size=2097152"
- else
- AC_MSG_RESULT([no])
- AC_MSG_CHECKING(linker support for -zmax-page-size=2097152)
- save_LDFLAGS=$LDFLAGS
- LDFLAGS="$LDFLAGS -Wl,-zmax-page-size=2097152"
- AC_RUN_IFELSE(
- [AC_LANG_SOURCE([[int main() {return 0;}]])],
- [ac_cv_max_page_size=yes],
- [ac_cv_max_page_size=no],
- [ac_cv_max_page_size=no])
- LDFLAGS=$save_LDFLAGS
- if test "$ac_cv_max_page_size" = "yes"; then
- AC_MSG_RESULT([yes])
- EXTRA_LDFLAGS_PROGRAM="$EXTRA_LDFLAGS_PROGRAM -Wl,-zmax-page-size=2097152"
- else
- AC_MSG_RESULT([no])
- fi
- fi
- ;;
- esac
- enable_shared=yes
- enable_static=yes
- case $php_sapi_module in
- shared[)]
- if test "$PHP_CGI" = "no" && test "$PHP_CLI" = "no" && test "$PHP_FPM" = "no" && test "$PHP_LITESPEED" = "no" && test "$PHP_PHPDBG" = "no"; then
- enable_static=no
- fi
- 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 overriding the
- dnl 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)
- dnl Compatibility
- if test -z "$with_pear" && test "$enable_pear" = "no"; then
- with_pear=no
- fi
- dnl If CLI is disabled disable PEAR.
- if test "$PHP_CLI" = "no"; then
- with_pear=no
- fi
- PHP_ARG_WITH([pear],
- [whether to install PEAR],
- [AS_HELP_STRING([[--with-pear[=DIR]]],
- [Install PEAR in DIR [PREFIX/lib/php]])],
- [no],
- [yes])
- if test "$PHP_PEAR" != "no"; then
- dnl PEAR dependencies.
- 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
- if test "$pear_error_msg"; then
- AC_MSG_ERROR([$pear_error_msg])
- fi
- AC_MSG_WARN([The --with-pear option is deprecated])
- install_pear="install-pear"
- PEAR_INSTALLDIR=$PHP_PEAR
- if 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 ----------------------------------------------------------------------------
- AC_ARG_ENABLE([fiber-asm],
- [AS_HELP_STRING([--disable-fiber-asm],
- [Disable the use of boost fiber assembly files])],
- [fiber_asm=$enableval], [fiber_asm='yes'])
- PHP_HELP_SEPARATOR([Zend:])
- PHP_CONFIGURE_PART(Configuring Zend)
- AS_CASE([$host_cpu],
- [x86_64*|amd64*], [fiber_cpu="x86_64"],
- [x86*|amd*|i?86*|pentium], [fiber_cpu="i386"],
- [aarch64*|arm64*], [fiber_cpu="arm64"],
- [arm*], [fiber_cpu="arm32"],
- [ppc64*|powerpc64*], [fiber_cpu="ppc64"],
- [ppc*|powerpc*], [fiber_cpu="ppc32"],
- [riscv64*], [fiber_cpu="riscv64"],
- [s390x*], [fiber_cpu="s390x"],
- [mips64*], [fiber_cpu="mips64"],
- [mips*], [fiber_cpu="mips32"],
- [fiber_cpu="unknown"]
- )
- AS_CASE([$host_os],
- [darwin*], [fiber_os="mac"],
- [aix*|os400*], [fiber_os="aix"],
- [fiber_os="other"]
- )
- AS_CASE([$fiber_cpu],
- [x86_64], [fiber_asm_file_prefix="x86_64_sysv"],
- [i386], [fiber_asm_file_prefix="i386_sysv"],
- [arm64], [fiber_asm_file_prefix="arm64_aapcs"],
- [arm32], [fiber_asm_file_prefix="arm_aapcs"],
- [ppc64], [fiber_asm_file_prefix="ppc64_sysv"],
- [ppc32], [fiber_asm_file_prefix="ppc32_sysv"],
- [riscv64], [fiber_asm_file_prefix="riscv64_sysv"],
- [s390x], [fiber_asm_file_prefix="s390x_sysv"],
- [mips64], [fiber_asm_file_prefix="mips64_n64"],
- [mips32], [fiber_asm_file_prefix="mips32_o32"],
- [fiber_asm_file_prefix="unknown"]
- )
- if test "$fiber_os" = 'mac'; then
- fiber_asm_file="combined_sysv_macho_gas"
- elif test "$fiber_os" = 'aix'; then
- # AIX uses a different calling convention (shared with non-_CALL_ELF Linux).
- # The AIX assembler isn't GNU, but the file is compatible.
- fiber_asm_file="${fiber_asm_file_prefix}_xcoff_gas"
- elif test "$fiber_asm_file_prefix" != 'unknown'; then
- fiber_asm_file="${fiber_asm_file_prefix}_elf_gas"
- else
- fiber_asm="no"
- fi
- if test "$fiber_asm" = 'yes'; then
- AC_MSG_CHECKING([for fiber switching context])
- AC_DEFINE([ZEND_FIBER_ASM], 1, [ ])
- PHP_ADD_SOURCES(Zend/asm, make_${fiber_asm_file}.S jump_${fiber_asm_file}.S)
- AC_MSG_RESULT([$fiber_asm_file])
- else
- if test "$fiber_os" = 'mac'; then
- AC_DEFINE([_XOPEN_SOURCE], 1, [ ])
- fi
- AC_CHECK_HEADER(ucontext.h, [
- AC_DEFINE([ZEND_FIBER_UCONTEXT], 1, [ ])
- ], [
- AC_MSG_ERROR([fibers not available on this platform])
- ])
- fi
- LIBZEND_BASIC_CHECKS
- LIBZEND_DLSYM_CHECK
- LIBZEND_OTHER_CHECKS
- 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)
- if test "$PHP_THREAD_SAFETY" = "yes"; then
- TSRM_CHECK_PTHREADS
- fi
- EXTRA_LDFLAGS="$EXTRA_LDFLAGS $LDFLAGS"
- EXTRA_LDFLAGS_PROGRAM="$EXTRA_LDFLAGS_PROGRAM $LDFLAGS"
- EXTRA_LIBS="$EXTRA_LIBS $LIBS"
- unset LIBS LDFLAGS
- AC_ARG_PROGRAM
- 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_zts" = "yes"; then
- part2=zts
- else
- part2=non-zts
- fi
- extbasedir=$part1-$part2-$extbasedir
- EXTENSION_DIR=$libdir/extensions/$extbasedir
- else
- if test "$enable_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)
- PHP_UTILIZE_RPATHS
- PHP_REMOVE_USR_LIB(PHP_LDFLAGS)
- PHP_REMOVE_USR_LIB(LDFLAGS)
- EXTRA_LDFLAGS="$EXTRA_LDFLAGS $PHP_LDFLAGS"
- EXTRA_LDFLAGS_PROGRAM="$EXTRA_LDFLAGS_PROGRAM $PHP_LDFLAGS"
- UNAME=`uname -a | xargs`
- PHP_UNAME=${PHP_UNAME:-$UNAME}
- AC_DEFINE_UNQUOTED(PHP_UNAME,"$PHP_UNAME",[uname -a output])
- PHP_OS=`uname | xargs`
- AC_DEFINE_UNQUOTED(PHP_OS,"$PHP_OS",[uname output])
- PHP_BUILD_SYSTEM=${PHP_BUILD_SYSTEM:-$PHP_UNAME}
- AC_DEFINE_UNQUOTED(PHP_BUILD_SYSTEM,"$PHP_BUILD_SYSTEM",[builder uname output])
- if test -n "${PHP_BUILD_PROVIDER}"; then
- AC_DEFINE_UNQUOTED(PHP_BUILD_PROVIDER,"$PHP_BUILD_PROVIDER",[build provider])
- fi
- if test -n "${PHP_BUILD_COMPILER}"; then
- AC_DEFINE_UNQUOTED(PHP_BUILD_COMPILER,"$PHP_BUILD_COMPILER",[used compiler for build])
- fi
- if test -n "${PHP_BUILD_ARCH}"; then
- AC_DEFINE_UNQUOTED(PHP_BUILD_ARCH,"$PHP_BUILD_ARCH",[build architecture])
- fi
- PHP_SUBST_OLD(PHP_INSTALLED_SAPIS)
- 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(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(BUILD_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_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(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"
- CPPFLAGS="$CPPFLAGS $ac_cv_pthreads_cflags"
- fi
- dnl Enable -Werror late, because it may break configure checks throwing warnings.
- if test "$PHP_WERROR" = "yes"; then
- CFLAGS="$CFLAGS -Werror"
- CXXFLAGS="$CXXFLAGS -Werror"
- fi
- if test "$PHP_MEMORY_SANITIZER" = "yes" &&
- test "$PHP_ADDRESS_SANITIZER" = "yes"; then
- AC_MSG_ERROR([MemorySanitizer and AddressSanitizer are mutually exclusive])
- fi
- dnl Enable -fsanitize=memory late, because interceptors may break linking detection.
- if test "$PHP_MEMORY_SANITIZER" = "yes"; then
- AX_CHECK_COMPILE_FLAG([-fsanitize=memory -fsanitize-memory-track-origins], [
- CFLAGS="$CFLAGS -fsanitize=memory -fsanitize-memory-track-origins"
- CXXFLAGS="$CXXFLAGS -fsanitize=memory -fsanitize-memory-track-origins"
- ], [AC_MSG_ERROR([MemorySanitizer is not available])])
- fi
- if test "$PHP_ADDRESS_SANITIZER" = "yes"; then
- AX_CHECK_COMPILE_FLAG([-fsanitize=address], [
- CFLAGS="$CFLAGS -fsanitize=address -DZEND_TRACK_ARENA_ALLOC"
- CXXFLAGS="$CXXFLAGS -fsanitize=address -DZEND_TRACK_ARENA_ALLOC"
- ], [AC_MSG_ERROR([AddressSanitizer is not available])])
- fi
- if test "$PHP_UNDEFINED_SANITIZER" = "yes"; then
- AX_CHECK_COMPILE_FLAG([-fsanitize=undefined], [
- CFLAGS="$CFLAGS -fsanitize=undefined"
- CXXFLAGS="$CXXFLAGS -fsanitize=undefined"
- ], [AC_MSG_ERROR([UndefinedBehaviorSanitizer is not available])])
- fi
- if test "$PHP_MEMORY_SANITIZER" = "yes" ||
- test "$PHP_ADDRESS_SANITIZER" = "yes" ||
- test "$PHP_UNDEFINED_SANITIZER" = "yes"; then
- CFLAGS="$CFLAGS -fno-omit-frame-pointer"
- CXXFLAGS="$CXXFLAGS -fno-omit-frame-pointer"
- fi
- dnl
- dnl Libtool creation.
- dnl
- PHP_HELP_SEPARATOR([Libtool:])
- PHP_CONFIGURE_PART(Configuring libtool)
- dnl Silence warning: `ar: 'u' modifier ignored since 'D' is the default`
- dnl See https://github.com/php/php-src/pull/3017
- AC_SUBST(AR_FLAGS, [cr])
- dnl Only allow AC_PROG_CXX and AC_PROG_CXXCPP if they are explicitly called (by
- dnl PHP_REQUIRE_CXX). Otherwise AC_PROG_LIBTOOL fails if there is no working C++
- dnl 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])
- dnl This needs to be passed explicitly to allow scan-build compiler overrides.
- PHP_SET_LIBTOOL_VARIABLE([--tag CC])
- 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"
- 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_INSTALL_HEADERS([Zend/Optimizer], [ \
- zend_call_graph.h \
- zend_cfg.h \
- zend_dfg.h \
- zend_dump.h \
- zend_func_info.h \
- zend_inference.h \
- zend_optimizer.h \
- zend_ssa.h])
- PHP_ADD_SOURCES(TSRM, TSRM.c, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
- PHP_ADD_SOURCES(main, main.c snprintf.c spprintf.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 reentrancy.c php_variables.c php_ticks.c \
- network.c php_open_temporary_file.c \
- output.c getopt.c php_syslog.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_attributes.c zend_execute.c \
- zend_ini.c zend_sort.c zend_multibyte.c zend_stream.c \
- zend_iterators.c zend_interfaces.c zend_exceptions.c zend_strtod.c zend_gc.c \
- zend_closures.c zend_weakrefs.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 zend_cpuinfo.c zend_gdb.c \
- zend_observer.c zend_system_id.c zend_enum.c zend_fibers.c \
- Optimizer/zend_optimizer.c \
- Optimizer/pass1.c \
- Optimizer/pass3.c \
- Optimizer/optimize_func_calls.c \
- Optimizer/block_pass.c \
- Optimizer/optimize_temp_vars_5.c \
- Optimizer/nop_removal.c \
- Optimizer/compact_literals.c \
- Optimizer/zend_cfg.c \
- Optimizer/zend_dfg.c \
- Optimizer/dfa_pass.c \
- Optimizer/zend_ssa.c \
- Optimizer/zend_inference.c \
- Optimizer/zend_func_info.c \
- Optimizer/zend_call_graph.c \
- Optimizer/sccp.c \
- Optimizer/scdf.c \
- Optimizer/dce.c \
- Optimizer/escape_analysis.c \
- Optimizer/compact_vars.c \
- Optimizer/zend_dump.c \
- , -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
- PHP_ADD_BUILD_DIR(main main/streams)
- PHP_ADD_BUILD_DIR(TSRM)
- PHP_ADD_BUILD_DIR(Zend Zend/asm Zend/Optimizer)
- PHP_ADD_MAKEFILE_FRAGMENT($abs_srcdir/scripts/Makefile.frag,$abs_srcdir/scripts,scripts)
- 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, [ ])
- dnl Make directories when building in a separate build directory.
- $php_shtool mkdir -p pear
- $php_shtool mkdir -p scripts
- $php_shtool mkdir -p scripts/man1
- ALL_OUTPUT_FILES="main/build-defs.h \
- scripts/phpize scripts/man1/phpize.1 \
- scripts/php-config scripts/man1/php-config.1 \
- $PHP_OUTPUT_FILES"
- dnl Generate build files.
- AC_CONFIG_FILES([$ALL_OUTPUT_FILES])
- AC_CONFIG_COMMANDS_PRE([PHP_PATCH_CONFIG_HEADERS([main/php_config.h.in])])
- AC_CONFIG_COMMANDS([default],[
- 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
- ],[
- if test "\$CONFIG_FILES" = "$ALL_OUTPUT_FILES" || test "\$CONFIG_FILES" = " $ALL_OUTPUT_FILES" || test -z "\$CONFIG_FILES"; then
- REDO_ALL=yes
- fi
- dnl Create configuration headers.
- dnl ----------------------------------------------------------------------------
- test -d Zend || $php_shtool mkdir Zend
- cat >Zend/zend_config.h <<FEO
- #include <../main/php_config.h>
- FEO
- dnl Run this only when generating all the files.
- if test -n "\$REDO_ALL"; then
- echo "creating main/internal_functions.c"
- AWK="$AWK" sh $srcdir/build/genif.sh $srcdir/main/internal_functions.c.in "$EXT_STATIC" > main/internal_functions.c
- echo "creating main/internal_functions_cli.c"
- AWK="$AWK" sh $srcdir/build/genif.sh $srcdir/main/internal_functions.c.in "$EXT_CLI_STATIC" > main/internal_functions_cli.c
- if test "$PHP_SAPI" = "apache2handler"; 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-zts |
- X
- fi
- fi
- fi
- dnl Warn about Apache if oci8 extension is enabled on Linux.
- if test "$PHP_OCI8" != "no"; then
- 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
- fi
- ])
- AC_OUTPUT
|