Annotation of embedaddon/php/configure.in, revision 1.1.1.2

1.1.1.2 ! misho       1: ## $Id$ -*- autoconf -*-
1.1       misho       2: dnl ## Process this file with autoconf to produce a configure script.
                      3: 
                      4: dnl include Zend specific macro definitions first
                      5: dnl -------------------------------------------------------------------------
                      6: sinclude(Zend/acinclude.m4)
                      7: 
                      8: dnl Basic autoconf + automake initialization, generation of config.nice.
                      9: dnl -------------------------------------------------------------------------
                     10: 
1.1.1.2 ! misho      11: AC_PREREQ(2.59)
1.1       misho      12: AC_INIT(README.SVN-RULES)
1.1.1.2 ! misho      13: ifdef([AC_PRESERVE_HELP_ORDER], [AC_PRESERVE_HELP_ORDER], [])
1.1       misho      14: 
                     15: PHP_CONFIG_NICE(config.nice)
                     16: 
                     17: PHP_CANONICAL_HOST_TARGET
                     18: 
                     19: AC_CONFIG_HEADER(main/php_config.h)
1.1.1.2 ! misho      20: AH_TOP([
        !            21: #if defined(__GNUC__) && __GNUC__ >= 4
        !            22: # define ZEND_API __attribute__ ((visibility("default")))
        !            23: # define ZEND_DLEXPORT __attribute__ ((visibility("default")))
        !            24: #else
        !            25: # define ZEND_API
        !            26: # define ZEND_DLEXPORT
        !            27: #endif
        !            28: 
        !            29: #define ZEND_DLIMPORT
        !            30: 
        !            31: #undef uint
        !            32: #undef ulong
        !            33: 
        !            34: /* Define if you want to enable memory limit support */
        !            35: #define MEMORY_LIMIT 0
        !            36: ])
        !            37: AH_BOTTOM([
        !            38: #ifndef ZEND_ACCONFIG_H_NO_C_PROTOS
        !            39: 
        !            40: #ifdef HAVE_STDLIB_H
        !            41: # include <stdlib.h>
        !            42: #endif
        !            43: 
        !            44: #ifdef HAVE_SYS_TYPES_H
        !            45: # include <sys/types.h>
        !            46: #endif
        !            47: 
        !            48: #ifdef HAVE_SYS_SELECT_H
        !            49: #include <sys/select.h>
        !            50: #endif
        !            51: 
        !            52: #ifdef HAVE_IEEEFP_H
        !            53: # include <ieeefp.h>
        !            54: #endif
        !            55: 
        !            56: #ifdef HAVE_STRING_H
        !            57: # include <string.h>
        !            58: #else
        !            59: # include <strings.h>
        !            60: #endif
        !            61: 
        !            62: #if ZEND_BROKEN_SPRINTF
        !            63: int zend_sprintf(char *buffer, const char *format, ...);
        !            64: #else
        !            65: # define zend_sprintf sprintf
        !            66: #endif
        !            67: 
        !            68: #include <math.h>
        !            69: 
        !            70: /* To enable the is_nan, is_infinite and is_finite PHP functions */
        !            71: #ifdef NETWARE
        !            72:        #define HAVE_ISNAN 1
        !            73:        #define HAVE_ISINF 1
        !            74:        #define HAVE_ISFINITE 1
        !            75: #endif
        !            76: 
        !            77: #ifndef zend_isnan
        !            78: #ifdef HAVE_ISNAN
        !            79: #define zend_isnan(a) isnan(a)
        !            80: #elif defined(HAVE_FPCLASS)
        !            81: #define zend_isnan(a) ((fpclass(a) == FP_SNAN) || (fpclass(a) == FP_QNAN))
        !            82: #else
        !            83: #define zend_isnan(a) 0
        !            84: #endif
        !            85: #endif
        !            86: 
        !            87: #ifdef HAVE_ISINF
        !            88: #define zend_isinf(a) isinf(a)
        !            89: #elif defined(INFINITY)
        !            90: /* Might not work, but is required by ISO C99 */
        !            91: #define zend_isinf(a) (((a)==INFINITY)?1:0)
        !            92: #elif defined(HAVE_FPCLASS)
        !            93: #define zend_isinf(a) ((fpclass(a) == FP_PINF) || (fpclass(a) == FP_NINF))
        !            94: #else
        !            95: #define zend_isinf(a) 0
        !            96: #endif
        !            97: 
        !            98: #ifdef HAVE_FINITE
        !            99: #define zend_finite(a) finite(a)
        !           100: #elif defined(HAVE_ISFINITE) || defined(isfinite)
        !           101: #define zend_finite(a) isfinite(a)
        !           102: #elif defined(fpclassify)
        !           103: #define zend_finite(a) ((fpclassify((a))!=FP_INFINITE&&fpclassify((a))!=FP_NAN)?1:0)
        !           104: #else
        !           105: #define zend_finite(a) (zend_isnan(a) ? 0 : zend_isinf(a) ? 0 : 1)
        !           106: #endif
        !           107: 
        !           108: #endif /* ifndef ZEND_ACCONFIG_H_NO_C_PROTOS */
        !           109: 
        !           110: #ifdef NETWARE
        !           111: #ifdef USE_WINSOCK
        !           112: #/*This detection against winsock is of no use*/ undef HAVE_SOCKLEN_T
        !           113: #/*This detection against winsock is of no use*/ undef HAVE_SYS_SOCKET_H
        !           114: #endif
        !           115: #endif
        !           116: 
        !           117: #undef PTHREADS
        !           118: ])
1.1       misho     119: 
                    120: PHP_MAJOR_VERSION=5
1.1.1.2 ! misho     121: PHP_MINOR_VERSION=4
        !           122: PHP_RELEASE_VERSION=3
1.1       misho     123: PHP_EXTRA_VERSION=""
                    124: PHP_VERSION="$PHP_MAJOR_VERSION.$PHP_MINOR_VERSION.$PHP_RELEASE_VERSION$PHP_EXTRA_VERSION"
                    125: PHP_VERSION_ID=`expr [$]PHP_MAJOR_VERSION \* 10000 + [$]PHP_MINOR_VERSION \* 100 + [$]PHP_RELEASE_VERSION`
                    126: 
                    127: dnl Allow version values to be used in Makefile
                    128: PHP_SUBST(PHP_MAJOR_VERSION)
                    129: PHP_SUBST(PHP_MINOR_VERSION)
                    130: PHP_SUBST(PHP_RELEASE_VERSION)
                    131: PHP_SUBST(PHP_EXTRA_VERSION)
                    132: 
                    133: dnl Define where extension directories are located in the configure context
                    134: AC_DEFUN([PHP_EXT_BUILDDIR],[ext/$1])dnl
                    135: AC_DEFUN([PHP_EXT_DIR],[ext/$1])dnl
                    136: AC_DEFUN([PHP_EXT_SRCDIR],[$abs_srcdir/ext/$1])dnl
                    137: AC_DEFUN([PHP_ALWAYS_SHARED],[])dnl
                    138: 
                    139: dnl Setting up the PHP version based on the information above.
                    140: dnl -------------------------------------------------------------------------
                    141: 
                    142: echo "/* automatically generated by configure */" > php_version.h.new
                    143: echo "/* edit configure.in to change version number */" >> php_version.h.new
                    144: echo "#define PHP_MAJOR_VERSION $PHP_MAJOR_VERSION" >> php_version.h.new
                    145: echo "#define PHP_MINOR_VERSION $PHP_MINOR_VERSION" >> php_version.h.new
                    146: echo "#define PHP_RELEASE_VERSION $PHP_RELEASE_VERSION" >> php_version.h.new
                    147: echo "#define PHP_EXTRA_VERSION \"$PHP_EXTRA_VERSION\"" >> php_version.h.new
                    148: echo "#define PHP_VERSION \"$PHP_VERSION\"" >> php_version.h.new
                    149: echo "#define PHP_VERSION_ID $PHP_VERSION_ID" >> php_version.h.new
                    150: cmp php_version.h.new $srcdir/main/php_version.h >/dev/null 2>&1
                    151: if test $? -ne 0 ; then
                    152:   rm -f $srcdir/main/php_version.h && mv php_version.h.new $srcdir/main/php_version.h && \
                    153:   echo 'Updated main/php_version.h'
                    154: else
                    155:   rm -f php_version.h.new
                    156: fi
                    157: 
                    158: 
                    159: dnl Catch common errors here to save a few seconds of our users' time
                    160: dnl -------------------------------------------------------------------------
                    161: 
                    162: if test "$with_shared_apache" != "no" && test -n "$with_shared_apache" ; then
                    163:   AC_MSG_ERROR([--with-shared-apache is not supported. Please refer to the documentation for using APXS])
                    164: fi
                    165: 
                    166: if test -n "$with_apache" && test -n "$with_apxs"; then
                    167:   AC_MSG_ERROR([--with-apache and --with-apxs cannot be used together])
                    168: fi
                    169: 
                    170: if test -n "$with_apxs2filter" && test -n "$with_apxs2"; then
                    171:   AC_MSG_ERROR([--with-apxs2filter and --with-apxs2 cannot be used together])
                    172: fi
                    173: 
                    174:   
                    175: dnl Settings we want to make before the checks.
                    176: dnl -------------------------------------------------------------------------
                    177: 
                    178: cwd=`pwd`
                    179: 
                    180: php_shtool=$srcdir/build/shtool
                    181: T_MD=`$php_shtool echo -n -e %B`
                    182: T_ME=`$php_shtool echo -n -e %b`
                    183: 
                    184: PHP_INIT_BUILD_SYSTEM
                    185: 
                    186: dnl We want this one before the checks, so the checks can modify CFLAGS.
                    187: test -z "$CFLAGS" && auto_cflags=1
                    188: 
                    189: abs_srcdir=`(cd $srcdir; pwd)`
                    190: abs_builddir=`pwd`
                    191: 
                    192: php_abs_top_srcdir=$abs_srcdir
                    193: php_abs_top_builddir=$abs_builddir
                    194: 
                    195: dnl Because ``make install'' is often performed by the superuser,
                    196: dnl we create the libs subdirectory as the user who configures PHP.
                    197: dnl Otherwise, the current user will not be able to delete libs
                    198: dnl or the contents of libs.
                    199: 
                    200: $php_shtool mkdir -p libs
                    201: rm -f libs/*
                    202: 
                    203: dnl Checks for programs.
                    204: dnl -------------------------------------------------------------------------
                    205: 
                    206: AC_PROG_CC([cc gcc])
                    207: PHP_DETECT_ICC
                    208: PHP_DETECT_SUNCC
                    209: AC_PROG_CC_C_O
                    210: dnl Change to AC_PROG_CC_STDC when we start requiring a post-2.13 autoconf
                    211: dnl AC_PROG_CC_STDC
                    212: AC_PROG_CPP
                    213: AC_AIX
                    214: AC_PROG_LN_S
                    215: 
                    216: dnl Support systems with system libraries in e.g. /usr/lib64
                    217: PHP_ARG_WITH(libdir, for system library directory,
                    218: [  --with-libdir=NAME      Look for libraries in .../NAME rather than .../lib],lib,no)
                    219: 
                    220: PHP_ARG_ENABLE(rpath, whether to enable runpaths,
                    221: [  --disable-rpath         Disable passing additional runtime library
                    222:                           search paths], yes, no)
                    223: 
                    224: dnl check for -R, etc. switch
                    225: PHP_RUNPATH_SWITCH
                    226: 
                    227: dnl Checks for some support/generator progs
                    228: PHP_PROG_AWK
                    229: PHP_PROG_BISON
                    230: PHP_PROG_RE2C
                    231: 
                    232: dnl Check if bison generated files exist when bison does not..
                    233: case $php_cv_bison_version in
                    234:   ""|invalid[)]
                    235:     if ! test -f "$abs_srcdir/Zend/zend_language_parser.h" || ! test -f "$abs_srcdir/Zend/zend_language_parser.c" ; then
1.1.1.2 ! misho     236:       AC_MSG_ERROR([bison is required to build PHP/Zend when building a GIT checkout!])
1.1       misho     237:     fi
                    238:     ;;
                    239: esac
                    240: 
                    241: PHP_ARG_ENABLE(re2c-cgoto, whether to enable computed goto gcc extension with re2c,
                    242: [  --enable-re2c-cgoto     Enable -g flag to re2c to use computed goto gcc extension], no, no)
                    243: 
                    244: if test "$PHP_RE2C_CGOTO" = "no"; then
                    245:   RE2C_FLAGS=""
                    246: else
                    247:   AC_MSG_CHECKING([whether re2c -g works])
                    248:   AC_TRY_COMPILE([],[
                    249: int main(int argc, const char **argv)
                    250: {
                    251:   argc = argc;
                    252:   argv = argv;
                    253: label1:
                    254: label2:
                    255:   static void *adr[] = { &&label1, &&label2};
                    256:   goto *adr[0];
                    257:   return 0;
                    258: }
                    259:   ],[
                    260:     RE2C_FLAGS=""
                    261:     AC_MSG_RESULT([no])
                    262:   ],[
                    263:     RE2C_FLAGS="-g"
                    264:     AC_MSG_RESULT([yes])
                    265:   ])
                    266: fi
                    267: PHP_SUBST(RE2C_FLAGS)
                    268: 
                    269: dnl Platform-specific compile settings.
                    270: dnl -------------------------------------------------------------------------
                    271: 
                    272: dnl See bug #28605
                    273: case $host_cpu in
                    274:   alpha*)
                    275:     if test "$GCC" = "yes"; then
                    276:       CFLAGS="$CFLAGS -mieee"
                    277:     else
                    278:       CFLAGS="$CFLAGS -ieee"
                    279:     fi
                    280:     ;;
                    281:   sparc*)
                    282:     if test "$SUNCC" = "yes"; then
                    283:       CFLAGS="$CFLAGS -xmemalign=8s"
                    284:     fi
                    285:     ;;
                    286: esac
                    287: 
                    288: dnl activate some gcc specific optimizations for gcc >= 4
                    289: if test "$GCC" = "yes"; then
                    290:   case $host_alias in
                    291:   *darwin*)
                    292:     GCC_MAJOR_VERSION=`$CC -dumpversion | /usr/bin/sed -nE '1s/([[0-9]]+)\.[[0-9]]+\..*/\1/;1p'`
                    293:     ;;
                    294:   *)
                    295:     GCC_MAJOR_VERSION=`$CC --version | $SED -n '1s/[[^0-9]]*//;1s/\..*//;1p'`
                    296:     ;;
                    297:   esac
                    298:   if test $GCC_MAJOR_VERSION -ge 4; then
                    299:     CFLAGS="$CFLAGS -fvisibility=hidden"
                    300:   fi
                    301: fi
                    302: 
                    303: case $host_alias in
                    304:   *solaris*)
                    305:     CPPFLAGS="$CPPFLAGS -D_POSIX_PTHREAD_SEMANTICS"
                    306:     if test "${enable_libgcc+set}" != "set" && test "$GCC" = "yes"; then
                    307:       enable_libgcc=yes
                    308:     fi
                    309:     ;;
                    310:   *dgux*)
                    311:     CPPFLAGS="$CPPFLAGS -D_BSD_TIMEOFDAY_FLAVOR"
                    312:     ;;
                    313:   *darwin*|*rhapsody*)
                    314:     if test -n "$GCC"; then
                    315:       PHP_CHECK_GCC_ARG(-no-cpp-precomp, gcc_no_cpp_precomp=yes)
                    316:       if test "$gcc_no_cpp_precomp" = "yes"; then
                    317:         CPPFLAGS="$CPPFLAGS -no-cpp-precomp"
                    318:       fi
                    319:     fi
                    320:     php_multiple_shlib_versions_ok=yes
                    321:     ;;
                    322:   *beos*)
                    323:     beos_threads=1
                    324:     LIBS="$LIBS -lbe -lroot"
                    325:     ;;
                    326:   *mips*)
                    327:     CPPFLAGS="$CPPFLAGS -D_XPG_IV"
                    328:     ;;
                    329:   *hpux*)
                    330:     if test "$GCC" = "yes"; then
                    331:       CPPFLAGS="$CPPFLAGS -D_XOPEN_SOURCE_EXTENDED"
                    332:     fi
                    333:     ;;
                    334:   *netware*)
                    335:     PHP_BUILD_PROGRAM
                    336:     PHP_ADD_SOURCES(/main, internal_functions.c,,PHP_GLOBAL_OBJS)
                    337:     PHP_ADD_SOURCES(win32, sendmail.c, -I$CFLAGS, PHP_GLOBAL_OBJS)
                    338:     PHP5LIB_SHARED_LIBADD=\$\(EXTRA_LIBS\)
                    339:     EXTENSION_DIR=sys:/php$PHP_MAJOR_VERSION/ext
                    340:     PHP_SUBST(PHP5LIB_SHARED_LIBADD)
                    341:     PHP_SHARED_MODULE(php5lib, PHP_GLOBAL_OBJS, netware)
                    342:     ;;
                    343: esac
                    344: 
                    345: # Disable PIC mode by default where it is known to be safe to do so,
                    346: # to avoid the performance hit from the lost register
                    347: AC_MSG_CHECKING([whether to force non-PIC code in shared modules])
                    348: case $host_alias in
                    349:   i?86-*-linux*|i?86-*-freebsd*)
                    350:     if test "${with_pic+set}" != "set" || test "$with_pic" = "no"; then
                    351:       with_pic=no
                    352:       AC_MSG_RESULT(yes)
                    353:     else
                    354:       AC_MSG_RESULT(no)
                    355:     fi
                    356:     ;;
                    357:   *)
                    358:     AC_MSG_RESULT(no)
                    359:     ;;
                    360: esac
                    361: 
                    362: 
                    363: dnl Include Zend and TSRM configurations.
                    364: dnl -------------------------------------------------------------------------
                    365: 
                    366: sinclude(Zend/Zend.m4)
                    367: sinclude(TSRM/threads.m4)
                    368: sinclude(TSRM/tsrm.m4)
                    369: 
                    370: dnl .
                    371: dnl -------------------------------------------------------------------------
                    372: 
                    373: PHP_HELP_SEPARATOR([SAPI modules:])
                    374: PHP_SHLIB_SUFFIX_NAMES
                    375: PHP_BUILD_PROGRAM
1.1.1.2 ! misho     376: PHP_SAPI=none
1.1       misho     377: 
                    378: 
                    379: dnl SAPI configuration.
                    380: dnl -------------------------------------------------------------------------
                    381: 
                    382: dnl paths to the targets are relative to the build directory
                    383: SAPI_SHARED=libs/libphp[]$PHP_MAJOR_VERSION[.]$SHLIB_DL_SUFFIX_NAME
                    384: SAPI_STATIC=libs/libphp[]$PHP_MAJOR_VERSION[.a]
                    385: SAPI_LIBTOOL=libphp[]$PHP_MAJOR_VERSION[.la]
                    386: 
                    387: PHP_CONFIGURE_PART(Configuring SAPI modules)
                    388: 
                    389: esyscmd(./build/config-stubs sapi)
                    390: 
                    391: dnl Show which main SAPI was selected
                    392: AC_MSG_CHECKING([for chosen SAPI module])
                    393: AC_MSG_RESULT([$PHP_SAPI])
                    394: 
1.1.1.2 ! misho     395: dnl Show which binaries were selected
        !           396: AC_MSG_CHECKING([for executable SAPI binaries])
        !           397: if test "$PHP_BINARIES"; then
        !           398:   AC_MSG_RESULT([$PHP_BINARIES])
        !           399: else
        !           400:   AC_MSG_RESULT([none])
1.1       misho     401: fi
                    402: 
1.1.1.2 ! misho     403: dnl Exit early
        !           404: if test -z "$PHP_INSTALLED_SAPIS"; then
        !           405:   AC_MSG_ERROR([Nothing to build.])
        !           406: fi
1.1       misho     407: 
1.1.1.2 ! misho     408: dnl force ZTS
        !           409: if test "$enable_maintainer_zts" = "yes"; then
        !           410:   PTHREADS_ASSIGN_VARS
        !           411: fi
1.1       misho     412: 
                    413: dnl Starting system checks.
                    414: dnl -------------------------------------------------------------------------
                    415: 
                    416: PHP_CONFIGURE_PART(Running system checks)
                    417: 
                    418: dnl Find sendmail binary
                    419: PHP_PROG_SENDMAIL
                    420: 
                    421: dnl Check whether the system uses EBCDIC (not ASCII) as its native codeset
                    422: PHP_EBCDIC
                    423: 
                    424: dnl Check whether the system byte ordering is bigendian
                    425: PHP_C_BIGENDIAN
                    426: 
                    427: dnl Check whether writing to stdout works
                    428: PHP_TEST_WRITE_STDOUT
                    429: 
                    430: dnl Check for /usr/pkg/{lib,include} which is where NetBSD puts binary
                    431: dnl and source packages.  This should be harmless on other OSs.
                    432: if test -d /usr/pkg/include -a -d /usr/pkg/lib ; then
                    433:    CPPFLAGS="$CPPFLAGS -I/usr/pkg/include"
                    434:    LDFLAGS="$LDFLAGS -L/usr/pkg/lib"
                    435: fi
                    436: test -d /usr/ucblib && PHP_ADD_LIBPATH(/usr/ucblib)
                    437: 
                    438: 
                    439: dnl First, library checks.
                    440: dnl -------------------------------------------------------------------------
                    441: 
                    442: dnl Some systems (OpenServer 5) dislike -lsocket -lnsl, so we try
                    443: dnl to avoid -lnsl checks, if we already have the functions which
                    444: dnl are usually in libnsl
                    445: dnl Also, uClibc will bark at linking with glibc's libnsl.
                    446: 
                    447: PHP_CHECK_FUNC(socket, socket)
                    448: PHP_CHECK_FUNC(socketpair, socket)
                    449: PHP_CHECK_FUNC(htonl, socket)
                    450: PHP_CHECK_FUNC(gethostname, nsl)
                    451: PHP_CHECK_FUNC(gethostbyaddr, nsl)
                    452: PHP_CHECK_FUNC(yp_get_default_domain, nsl)
                    453: 
                    454: PHP_CHECK_FUNC(dlopen, dl)
                    455: if test "$ac_cv_func_dlopen" = "yes"; then
                    456:   AC_DEFINE(HAVE_LIBDL, 1, [ ])
                    457: fi
                    458: AC_CHECK_LIB(m, sin)
                    459: 
                    460: dnl Check for inet_aton
                    461: dnl in -lc, -lbind and -lresolv
                    462: PHP_CHECK_FUNC(inet_aton, resolv, bind)
                    463: 
                    464: dnl Then headers.
                    465: dnl -------------------------------------------------------------------------
                    466: 
                    467: dnl Checks for header files.
                    468: AC_HEADER_STDC
                    469: AC_HEADER_DIRENT
                    470: 
                    471: dnl QNX requires unix.h to allow functions in libunix to work properly
                    472: AC_CHECK_HEADERS([ \
                    473: inttypes.h \
                    474: stdint.h \
                    475: dirent.h \
                    476: ApplicationServices/ApplicationServices.h \
                    477: sys/param.h \
                    478: sys/types.h \
                    479: sys/time.h \
                    480: netinet/in.h \
                    481: alloca.h \
                    482: arpa/inet.h \
                    483: arpa/nameser.h \
                    484: assert.h \
                    485: crypt.h \
                    486: dns.h \
                    487: fcntl.h \
                    488: grp.h \
                    489: ieeefp.h \
                    490: langinfo.h \
                    491: limits.h \
                    492: locale.h \
                    493: monetary.h \
                    494: netdb.h \
                    495: pwd.h \
                    496: resolv.h \
                    497: signal.h \
                    498: stdarg.h \
                    499: stdlib.h \
                    500: string.h \
                    501: syslog.h \
                    502: sysexits.h \
                    503: sys/ioctl.h \
                    504: sys/file.h \
                    505: sys/mman.h \
                    506: sys/mount.h \
                    507: sys/poll.h \
                    508: sys/resource.h \
                    509: sys/select.h \
                    510: sys/socket.h \
                    511: sys/stat.h \
                    512: sys/statfs.h \
                    513: sys/statvfs.h \
                    514: sys/vfs.h \
                    515: sys/sysexits.h \
                    516: sys/varargs.h \
                    517: sys/wait.h \
                    518: sys/loadavg.h \
                    519: termios.h \
                    520: unistd.h \
                    521: unix.h \
                    522: utime.h \
                    523: sys/utsname.h \
                    524: sys/ipc.h \
                    525: dlfcn.h \
                    526: assert.h
                    527: ],[],[],[
                    528: #ifdef HAVE_SYS_PARAM_H
                    529: #include <sys/param.h>
                    530: #endif
                    531: #ifdef HAVE_SYS_TYPES_H
                    532: #include <sys/types.h>
                    533: #endif
                    534: #ifdef HAVE_SYS_TIME_H
                    535: #include <sys/time.h>
                    536: #endif
                    537: #ifdef HAVE_NETINET_IN_H
                    538: #include <netinet/in.h>
                    539: #endif
                    540: #ifdef HAVE_ARPA_NAMESER_H
                    541: #include <arpa/nameser.h>
                    542: #endif
                    543: ])
                    544: 
                    545: PHP_FOPENCOOKIE
                    546: PHP_BROKEN_GETCWD
                    547: PHP_BROKEN_GLIBC_FOPEN_APPEND
                    548: 
                    549: dnl Checks for typedefs, structures, and compiler characteristics.
                    550: dnl -------------------------------------------------------------------------
                    551: 
                    552: AC_STRUCT_TM
                    553: AC_STRUCT_TIMEZONE
                    554: 
                    555: PHP_MISSING_TIME_R_DECL
                    556: PHP_MISSING_FCLOSE_DECL
                    557: 
                    558: PHP_TM_GMTOFF
                    559: PHP_STRUCT_FLOCK
                    560: PHP_SOCKLEN_T
                    561: 
                    562: AC_CHECK_SIZEOF(size_t, 8)
                    563: AC_CHECK_SIZEOF(long long, 8)
                    564: AC_CHECK_SIZEOF(long long int, 8)
                    565: AC_CHECK_SIZEOF(long, 8)
                    566: AC_CHECK_SIZEOF(int, 4)
                    567: 
                    568: dnl These are defined elsewhere than stdio.h
                    569: PHP_CHECK_SIZEOF(intmax_t, 0)
                    570: PHP_CHECK_SIZEOF(ssize_t, 8)
                    571: PHP_CHECK_SIZEOF(ptrdiff_t, 8)
                    572: 
                    573: dnl Check for members of the stat structure
                    574: AC_STRUCT_ST_BLKSIZE
                    575: dnl AC_STRUCT_ST_BLOCKS will screw QNX because fileblocks.o does not exists
                    576: dnl The WARNING_LEVEL required because cc in QNX hates -w option without an argument
                    577: if test "`uname -s 2>/dev/null`" != "QNX"; then
                    578:   AC_STRUCT_ST_BLOCKS
                    579: else
                    580:   AC_MSG_WARN([warnings level for cc set to 0])
                    581:   WARNING_LEVEL=0
                    582: fi
                    583: AC_STRUCT_ST_RDEV
                    584: 
                    585: dnl Checks for types
                    586: AC_TYPE_SIZE_T
                    587: AC_TYPE_UID_T
                    588: 
                    589: dnl Checks for sockaddr_storage and sockaddr.sa_len
                    590: PHP_SOCKADDR_CHECKS
                    591: 
                    592: dnl Check for IPv6 support
                    593: AC_CACHE_CHECK([for IPv6 support], ac_cv_ipv6_support,
                    594: [AC_TRY_LINK([ #include <sys/types.h>
                    595: #include <sys/socket.h>
                    596: #include <netinet/in.h>], [struct sockaddr_in6 s; struct in6_addr t=in6addr_any; int i=AF_INET6; s; t.s6_addr[0] = 0;],
                    597:   [ac_cv_ipv6_support=yes], [ac_cv_ipv6_support=no])])
                    598: 
                    599: dnl Checks for library functions.
                    600: dnl -------------------------------------------------------------------------
                    601: 
                    602: AC_FUNC_VPRINTF
                    603: AC_CHECK_FUNCS(
                    604: alphasort \
                    605: asctime_r \
                    606: chroot \
                    607: ctime_r \
                    608: cuserid \
                    609: crypt \
                    610: flock \
                    611: ftok \
                    612: funopen \
                    613: gai_strerror \
                    614: gcvt \
                    615: getloadavg \
                    616: getlogin \
                    617: getprotobyname \
                    618: getprotobynumber \
                    619: getservbyname \
                    620: getservbyport \
                    621: gethostname \
                    622: getrusage \
                    623: gettimeofday \
                    624: gmtime_r \
                    625: getpwnam_r \
                    626: getgrnam_r \
                    627: getpwuid_r \
                    628: grantpt \
                    629: inet_ntoa \
                    630: inet_ntop \
                    631: inet_pton \
                    632: isascii \
                    633: link \
                    634: localtime_r \
                    635: lockf \
                    636: lchown \
                    637: lrand48 \
                    638: memcpy \
                    639: memmove \
                    640: mkstemp \
                    641: mmap \
                    642: nl_langinfo \
                    643: perror \
                    644: poll \
                    645: ptsname \
                    646: putenv \
                    647: realpath \
                    648: random \
                    649: rand_r \
                    650: scandir \
                    651: setitimer \
                    652: setlocale \
                    653: localeconv \
                    654: setenv \
                    655: setpgid \
                    656: setsockopt \
                    657: setvbuf \
                    658: shutdown \
                    659: sin \
                    660: snprintf \
                    661: srand48 \
                    662: srandom \
                    663: statfs \
                    664: statvfs \
                    665: std_syslog \
                    666: strcasecmp \
                    667: strcoll \
                    668: strdup \
                    669: strerror \
                    670: strftime \
                    671: strnlen \
                    672: strptime \
                    673: strstr \
                    674: strtok_r \
                    675: symlink \
                    676: tempnam \
                    677: tzset \
                    678: unlockpt \
                    679: unsetenv \
                    680: usleep \
                    681: utime \
                    682: vsnprintf \
                    683: vasprintf \
                    684: asprintf \
                    685: nanosleep \
                    686: )
                    687: 
                    688: dnl Some systems (like OpenSolaris) do not have nanosleep in libc
                    689: PHP_CHECK_FUNC(nanosleep, rt)
                    690: 
                    691: dnl Check for getaddrinfo, should be a better way, but...
                    692: dnl Also check for working getaddrinfo
                    693: AC_CACHE_CHECK([for getaddrinfo], ac_cv_func_getaddrinfo,
                    694: [AC_TRY_LINK([#include <netdb.h>],
                    695:                 [struct addrinfo *g,h;g=&h;getaddrinfo("","",g,&g);], 
                    696:   AC_TRY_RUN([
                    697: #include <netdb.h>
                    698: #include <sys/types.h>
                    699: #ifndef AF_INET
                    700: # include <sys/socket.h>
                    701: #endif
                    702: int main(void) {
                    703:   struct addrinfo *ai, *pai, hints;
                    704: 
                    705:   memset(&hints, 0, sizeof(hints));
                    706:   hints.ai_flags = AI_NUMERICHOST;
                    707: 
                    708:   if (getaddrinfo("127.0.0.1", 0, &hints, &ai) < 0) {
                    709:     exit(1);
                    710:   }
                    711: 
                    712:   if (ai == 0) {
                    713:     exit(1);
                    714:   }
                    715: 
                    716:   pai = ai;
                    717:   
                    718:   while (pai) {
                    719:     if (pai->ai_family != AF_INET) {
                    720:       /* 127.0.0.1/NUMERICHOST should only resolve ONE way */
                    721:       exit(1);
                    722:     }
                    723:     if (pai->ai_addr->sa_family != AF_INET) {
                    724:       /* 127.0.0.1/NUMERICHOST should only resolve ONE way */
                    725:       exit(1);
                    726:     }
                    727:     pai = pai->ai_next;
                    728:   }
                    729:   freeaddrinfo(ai);
                    730:   exit(0);
                    731: }
                    732:   ],ac_cv_func_getaddrinfo=yes, ac_cv_func_getaddrinfo=no, ac_cv_func_getaddrinfo=no),
                    733: ac_cv_func_getaddrinfo=no)])
                    734: if test "$ac_cv_func_getaddrinfo" = yes; then
                    735:   AC_DEFINE(HAVE_GETADDRINFO,1,[Define if you have the getaddrinfo function])
                    736: fi
                    737: 
                    738: dnl Check for the __sync_fetch_and_add builtin
                    739: AC_CACHE_CHECK([for __sync_fetch_and_add], ac_cv_func_sync_fetch_and_add,
                    740: [AC_TRY_LINK([],[int x;__sync_fetch_and_add(&x,1);],ac_cv_func_sync_fetch_and_add=yes,ac_cv_func_sync_fetch_and_add=no)])
                    741: if test "$ac_cv_func_sync_fetch_and_add" = yes; then
                    742:   AC_DEFINE(HAVE_SYNC_FETCH_AND_ADD,1,[Define if you have the __sync_fetch_and_add function])
                    743: fi
                    744: 
                    745: AC_REPLACE_FUNCS(strlcat strlcpy getopt)
                    746: AC_FUNC_UTIME_NULL
                    747: AC_FUNC_ALLOCA
                    748: dnl PHP_AC_BROKEN_SPRINTF
                    749: dnl PHP_AC_BROKEN_SNPRINTF
                    750: PHP_DECLARED_TIMEZONE
                    751: PHP_TIME_R_TYPE
                    752: PHP_READDIR_R_TYPE
                    753: PHP_CHECK_IN_ADDR_T
                    754: 
                    755: AC_CHECK_FUNCS(crypt_r, [ php_crypt_r="1" ], [ php_crypt_r="0" ])
                    756: if test "x$php_crypt_r" = "x1"; then
                    757:   PHP_CRYPT_R_STYLE
                    758: fi
                    759: 
                    760: dnl General settings.
                    761: dnl -------------------------------------------------------------------------
                    762: PHP_CONFIGURE_PART(General settings)
                    763: 
                    764: PHP_HELP_SEPARATOR([General settings:])
                    765: 
                    766: PHP_ARG_ENABLE(gcov,  whether to include gcov symbols,
                    767: [  --enable-gcov           Enable GCOV code coverage (requires LTP) - FOR DEVELOPERS ONLY!!], no, no)
                    768: 
                    769: if test "$PHP_GCOV" = "yes"; then
                    770: 
                    771:   if test "$GCC" != "yes"; then
                    772:     AC_MSG_ERROR([GCC is required for --enable-gcov])
                    773:   fi
                    774:   
                    775:   dnl Check if ccache is being used
                    776:   case `$php_shtool path $CC` in
                    777:     *ccache*[)] gcc_ccache=yes;;
                    778:     *[)] gcc_ccache=no;;
                    779:   esac
                    780: 
                    781:   if test "$gcc_ccache" = "yes" && (test -z "$CCACHE_DISABLE" || test "$CCACHE_DISABLE" != "1"); then
                    782:     AC_MSG_ERROR([ccache must be disabled when --enable-gcov option is used. You can disable ccache by setting environment variable CCACHE_DISABLE=1.])
                    783:   fi
                    784:   
                    785:   ltp_version_list="1.5 1.6 1.7"
                    786: 
                    787:   AC_CHECK_PROG(LTP, lcov, lcov)
                    788:   AC_CHECK_PROG(LTP_GENHTML, genhtml, genhtml)
                    789:   PHP_SUBST(LTP)
                    790:   PHP_SUBST(LTP_GENHTML)
                    791: 
                    792:   if test "$LTP"; then
                    793:     AC_CACHE_CHECK([for ltp version], php_cv_ltp_version, [
                    794:       php_cv_ltp_version=invalid
                    795:       ltp_version=`$LTP -v 2>/dev/null | $SED -e 's/^.* //'`
                    796:       for ltp_check_version in $ltp_version_list; do
                    797:         if test "$ltp_version" = "$ltp_check_version"; then
                    798:           php_cv_ltp_version="$ltp_check_version (ok)"
                    799:         fi
                    800:       done
                    801:     ])
                    802:   else
                    803:     ltp_msg="To enable code coverage reporting you must have one of the following LTP versions installed: $ltp_version_list"      
                    804:     AC_MSG_ERROR([$ltp_msg])
                    805:   fi
                    806: 
                    807:   case $php_cv_ltp_version in
                    808:     ""|invalid[)]
                    809:       ltp_msg="You must have one of the following versions of LTP: $ltp_version_list (found: $ltp_version)."
                    810:       AC_MSG_ERROR([$ltp_msg])
                    811:       LTP="exit 0;"
                    812:       ;;
                    813:   esac
                    814: 
                    815:   if test -z "$LTP_GENHTML"; then
                    816:     AC_MSG_ERROR([Could not find genhtml from the LTP package])
                    817:   fi
                    818: 
                    819:   AC_DEFINE(HAVE_GCOV, 1, [Whether you have gcov])
                    820:   PHP_ADD_MAKEFILE_FRAGMENT($abs_srcdir/Makefile.gcov, $abs_srcdir)
                    821: 
                    822:   dnl Remove all optimization flags from CFLAGS
                    823:   changequote({,})
                    824:   CFLAGS=`echo "$CFLAGS" | $SED -e 's/-O[0-9s]*//g'`
                    825:   CXXFLAGS=`echo "$CXXFLAGS" | $SED -e 's/-O[0-9s]*//g'`
                    826:   changequote([,])
                    827: 
                    828:   dnl Add the special gcc flags
                    829:   CFLAGS="$CFLAGS -O0 -fprofile-arcs -ftest-coverage"
                    830:   CXXFLAGS="$CXXFLAGS -O0 -fprofile-arcs -ftest-coverage"
                    831: fi
                    832: 
                    833: PHP_ARG_ENABLE(debug, whether to include debugging symbols,
                    834: [  --enable-debug          Compile with debugging symbols], no, no)
                    835: 
                    836: if test "$PHP_DEBUG" = "yes"; then
                    837:   PHP_DEBUG=1
                    838:   ZEND_DEBUG=yes
                    839:   changequote({,})
                    840:   CFLAGS=`echo "$CFLAGS" | $SED -e 's/-O[0-9s]*//g'`
                    841:   CXXFLAGS=`echo "$CXXFLAGS" | $SED -e 's/-O[0-9s]*//g'`
                    842:   changequote([,])
                    843:   dnl add -O0 only if GCC or ICC is used
                    844:   if test "$GCC" = "yes" || test "$ICC" = "yes"; then
                    845:     CFLAGS="$CFLAGS -O0"
                    846:     CXXFLAGS="$CXXFLAGS -g -O0"
                    847:   fi
                    848:   if test "$SUNCC" = "yes"; then
                    849:     if test -n "$auto_cflags"; then
                    850:       CFLAGS="-g"
                    851:       CXXFLAGS="-g"
                    852:     else
                    853:       CFLAGS="$CFLAGS -g"
                    854:       CXXFLAGS="$CFLAGS -g"
                    855:     fi
                    856:   fi
                    857: else
                    858:   PHP_DEBUG=0
                    859:   ZEND_DEBUG=no
                    860: fi
                    861: 
                    862: PHP_ARG_WITH(layout, layout of installed files,
                    863: [  --with-layout=TYPE      Set how installed files will be laid out.  Type can
1.1.1.2 ! misho     864:                           be either PHP or GNU @<:@PHP@:>@], PHP, no)
1.1       misho     865: 
                    866: case $PHP_LAYOUT in
                    867:   GNU)
                    868:     oldstyleextdir=no
                    869:     ;;
                    870:   *)
                    871:     oldstyleextdir=yes
                    872:     ;;
                    873: esac
                    874: 
                    875: PHP_ARG_WITH(config-file-path, path to configuration file,
                    876: [  --with-config-file-path=PATH
1.1.1.2 ! misho     877:                           Set the path in which to look for php.ini @<:@PREFIX/lib@:>@], DEFAULT, no)
1.1       misho     878: 
                    879: if test "$PHP_CONFIG_FILE_PATH" = "DEFAULT"; then
                    880:   case $PHP_LAYOUT in
                    881:     GNU)
                    882:       PHP_CONFIG_FILE_PATH=$sysconfdir
                    883:       ;;
                    884:     *)
                    885:       PHP_CONFIG_FILE_PATH=$libdir
                    886:       ;;
                    887:   esac
                    888: fi
                    889: 
                    890: AC_MSG_CHECKING([where to scan for configuration files])
                    891: PHP_ARG_WITH(config-file-scan-dir,,
                    892: [  --with-config-file-scan-dir=PATH
                    893:                           Set the path where to scan for configuration files], DEFAULT, no) 
                    894: if test "$PHP_CONFIG_FILE_SCAN_DIR" = "DEFAULT"; then
                    895:   PHP_CONFIG_FILE_SCAN_DIR=
                    896: fi
                    897: AC_MSG_RESULT([$PHP_CONFIG_FILE_SCAN_DIR])
                    898: 
                    899: test -n "$DEBUG_CFLAGS" && CFLAGS="$CFLAGS $DEBUG_CFLAGS"
                    900: 
                    901: PHP_ARG_ENABLE(sigchild, whether to enable PHP's own SIGCHLD handler,
                    902: [  --enable-sigchild       Enable PHP's own SIGCHLD handler], no, no)
                    903: 
                    904: if test "$PHP_SIGCHILD" = "yes"; then
                    905:   AC_DEFINE(PHP_SIGCHILD, 1, [ ])
                    906: else
                    907:   AC_DEFINE(PHP_SIGCHILD, 0, [ ])
                    908: fi
                    909: 
                    910: PHP_ARG_ENABLE(libgcc, whether to explicitly link against libgcc,
                    911: [  --enable-libgcc         Enable explicitly linking against libgcc], no, no)
                    912: 
                    913: if test "$PHP_LIBGCC" = "yes"; then
                    914:   PHP_LIBGCC_LIBPATH(gcc)
                    915:   if test -z "$libgcc_libpath"; then
                    916:     AC_MSG_ERROR([Cannot locate libgcc. Make sure that gcc is in your path])
                    917:   fi
                    918:   PHP_ADD_LIBPATH($libgcc_libpath)
                    919:   PHP_ADD_LIBRARY(gcc, yes)
                    920: fi
                    921: 
                    922: PHP_ARG_ENABLE(short-tags, whether to enable short tags by default,
                    923: [  --disable-short-tags    Disable the short-form <? start tag by default], yes, no)
                    924: 
                    925: if test "$PHP_SHORT_TAGS" = "yes"; then
                    926:   AC_DEFINE(DEFAULT_SHORT_OPEN_TAG, "1", [ ])
                    927: else
                    928:   AC_DEFINE(DEFAULT_SHORT_OPEN_TAG, "0", [ ])
                    929: fi
                    930: 
                    931: PHP_ARG_ENABLE(dmalloc, whether to enable dmalloc,
                    932: [  --enable-dmalloc        Enable dmalloc], no, no)
                    933: 
                    934: if test "$PHP_DMALLOC" = "yes"; then
                    935:   AC_CHECK_LIB(dmalloc, dmalloc_error, [
                    936:     PHP_ADD_LIBRARY(dmalloc)
                    937:     AC_DEFINE(HAVE_DMALLOC,1,[Whether you have dmalloc])
                    938:     CPPFLAGS="$CPPFLAGS -DDMALLOC_FUNC_CHECK"
                    939:   ], [
                    940:     AC_MSG_ERROR([Problem with enabling dmalloc. Please check config.log for details.])
                    941:   ])
                    942: fi
                    943: 
                    944: PHP_ARG_ENABLE(ipv6, whether to enable IPv6 support,
                    945: [  --disable-ipv6          Disable IPv6 support], yes, no)
                    946: 
                    947: if test "$PHP_IPV6" != "no" && test "$ac_cv_ipv6_support" = yes; then
                    948:   AC_DEFINE(HAVE_IPV6, 1, [Whether to enable IPv6 support])
                    949: fi
                    950: 
1.1.1.2 ! misho     951: dnl ##
        !           952: dnl ## DTRACE CHECKS
        !           953: dnl ## Note: this has to be done after SAPI configuration!
        !           954: dnl ##
        !           955: PHP_ARG_ENABLE(dtrace, whether to enable DTrace support,
        !           956: [  --enable-dtrace         Enable DTrace support], no, no)
        !           957: 
        !           958: if test "$PHP_DTRACE" = "yes"; then
        !           959:   AC_CHECK_HEADERS([sys/sdt.h], [
        !           960:     PHP_INIT_DTRACE([Zend/zend_dtrace.d],[Zend/zend_dtrace_gen.h],[main/main.c Zend/zend_API.c \
        !           961:       Zend/zend_execute.c Zend/zend_exceptions.c \
        !           962:       Zend/zend_dtrace.c Zend/zend.c])
        !           963:     AC_DEFINE(HAVE_DTRACE, 1, [Whether to enable DTrace support])
        !           964:     PHP_SUBST(PHP_DTRACE_OBJS)
        !           965:   ], [
        !           966:     AC_MSG_ERROR([Cannot find sys/sdt.h which is required for DTrace support])
        !           967:   ])
        !           968: fi
        !           969: 
1.1       misho     970: AC_MSG_CHECKING([how big to make fd sets])
                    971: PHP_ARG_ENABLE(fd-setsize,,
                    972: [  --enable-fd-setsize     Set size of descriptor sets], no, no)
                    973: 
                    974: if test "$PHP_FD_SETSIZE" != "no"; then
                    975:   if test "0$PHP_FD_SETSIZE" -gt 0 2>/dev/null; then
                    976:     CPPFLAGS="$CPPFLAGS -DFD_SETSIZE=$PHP_FD_SETSIZE"
                    977:     AC_MSG_RESULT([using $PHP_FD_SETSIZE])
                    978:   else
                    979:     AC_MSG_ERROR([Invalid value passed to --enable-fd-setsize!])
                    980:   fi
                    981: else
                    982:   AC_MSG_RESULT([using system default])
                    983: fi
                    984: 
                    985: dnl Extension configuration.
                    986: dnl -------------------------------------------------------------------------
                    987: 
                    988: PHP_HELP_SEPARATOR([Extensions:
                    989: 
                    990:   --with-EXTENSION=[shared[,PATH]]
                    991:   
                    992:     NOTE: Not all extensions can be build as 'shared'.
                    993: 
                    994:     Example: --with-foobar=shared,/usr/local/foobar/
                    995: 
                    996:       o Builds the foobar extension as shared extension.
                    997:       o foobar package install prefix is /usr/local/foobar/
                    998: ])
                    999: 
                   1000: PHP_CONFIGURE_PART(Configuring extensions)
                   1001: 
                   1002: dnl
                   1003: dnl Check if all enabled by default extensions should be disabled
                   1004: dnl
                   1005: 
                   1006: AC_ARG_ENABLE(all,
                   1007: [ --disable-all   Disable all extensions which are enabled by default
                   1008: ], [
                   1009:   PHP_ENABLE_ALL=$enableval
                   1010: ])
                   1011: 
                   1012: # reading config stubs
                   1013: esyscmd(./build/config-stubs ext)
                   1014: 
                   1015: dnl Extensions post-config
                   1016: dnl -------------------------------------------------------------------------
                   1017: 
                   1018: enable_shared=yes
                   1019: enable_static=yes
                   1020: 
1.1.1.2 ! misho    1021: case $php_sapi_module in
        !          1022:   shared[)]
1.1       misho    1023:     enable_static=no
                   1024:     case $with_pic in
                   1025:       yes)
                   1026:         standard_libtool_flag='-prefer-pic'
                   1027:         ;;
                   1028:       no)
                   1029:         standard_libtool_flag='-prefer-non-pic'
                   1030:         ;;
                   1031:     esac
                   1032:     EXTRA_LDFLAGS="$EXTRA_LDFLAGS -avoid-version -module"
                   1033:     ;;
1.1.1.2 ! misho    1034:   *[)]
        !          1035:     standard_libtool_flag='-prefer-non-pic -static'
        !          1036:     if test -z "$PHP_MODULES" && test -z "$PHP_ZEND_EX"; then
        !          1037:       enable_shared=no
        !          1038:     fi
        !          1039:     ;;
1.1       misho    1040: esac
                   1041: 
                   1042: EXTRA_LIBS="$EXTRA_LIBS $DLIBS $LIBS"
                   1043: 
                   1044: dnl this has to be here to prevent the openssl crypt() from
                   1045: dnl overriding the system provided crypt().
                   1046: if test "$ac_cv_lib_crypt_crypt" = "yes"; then
                   1047:   EXTRA_LIBS="-lcrypt $EXTRA_LIBS -lcrypt"
                   1048: fi
                   1049: 
                   1050: unset LIBS LDFLAGS
                   1051: 
                   1052: dnl PEAR
                   1053: dnl -------------------------------------------------------------------------
                   1054: 
                   1055: PHP_HELP_SEPARATOR([PEAR:])
                   1056: PHP_CONFIGURE_PART(Configuring PEAR)
                   1057: 
                   1058: # compatibility
                   1059: if test -z "$with_pear" && test "$enable_pear" = "no"; then
                   1060:   with_pear=no
                   1061: fi
                   1062: 
                   1063: # If CLI is disabled -> disable PEAR
                   1064: if test "$PHP_CLI" = "no"; then
                   1065:   with_pear=no
                   1066: fi
                   1067: 
                   1068: PHP_ARG_WITH(pear, [whether to install PEAR],
1.1.1.2 ! misho    1069: [  --with-pear=DIR         Install PEAR in DIR @<:@PREFIX/lib/php@:>@
1.1       misho    1070:   --without-pear          Do not install PEAR], DEFAULT, yes)
                   1071: 
                   1072: if test "$PHP_PEAR" != "no"; then
                   1073: 
                   1074:   dnl
                   1075:   dnl PEAR dependancies
                   1076:   dnl
                   1077:   if test "$PHP_XML" = "no"; then
                   1078:     pear_error_msg="$pear_error_msg 
                   1079:                     PEAR requires XML to be enabled.     Add --enable-xml to the configure line. (or --without-pear)"
                   1080:   fi
                   1081: 
                   1082: dnl
                   1083: dnl  if test "$PHP_XMLRPC" = "no"; then
                   1084: dnl    pear_error_msg="$pear_error_msg 
                   1085: dnl                    PEAR requires XML-RPC to be enabled. Add --with-xmlrpc to the configure line. (or --without-pear)"
                   1086: dnl  fi
                   1087: dnl
                   1088: 
                   1089:   if test "$pear_error_msg"; then
                   1090:     AC_MSG_ERROR([$pear_error_msg])
                   1091:   fi
                   1092: 
                   1093:   install_pear="install-pear"
                   1094:   PEAR_INSTALLDIR=$PHP_PEAR
                   1095: 
                   1096:   if test "$PHP_PEAR" = "DEFAULT" || test "$PHP_PEAR" = "yes"; then
                   1097:     case $PHP_LAYOUT in
                   1098:       GNU) PEAR_INSTALLDIR=$datadir/pear;;
                   1099:       *)   PEAR_INSTALLDIR=$libdir/php;;
                   1100:     esac
                   1101:   fi
                   1102: 
                   1103:   PHP_ADD_MAKEFILE_FRAGMENT($abs_srcdir/pear/Makefile.frag,$abs_srcdir/pear,pear)
                   1104: fi
                   1105: 
                   1106: 
                   1107: dnl Configuring Zend and TSRM.
                   1108: dnl -------------------------------------------------------------------------
                   1109: 
                   1110: PHP_HELP_SEPARATOR([Zend:])
                   1111: PHP_CONFIGURE_PART(Configuring Zend)
                   1112: 
                   1113: LIBZEND_BASIC_CHECKS
                   1114: LIBZEND_DLSYM_CHECK
                   1115: LIBZEND_OTHER_CHECKS
                   1116: 
                   1117: if test "$ZEND_MAINTAINER_ZTS" = "yes"; then
                   1118:   AC_DEFINE(ZTS,1,[ ])
                   1119:   PHP_THREAD_SAFETY=yes
                   1120: else
                   1121:   PHP_THREAD_SAFETY=no
                   1122: fi
                   1123: 
                   1124: INCLUDES="$INCLUDES -I\$(top_builddir)/TSRM"
                   1125: INCLUDES="$INCLUDES -I\$(top_builddir)/Zend"
                   1126: 
                   1127: if test "$abs_srcdir" != "$abs_builddir"; then
                   1128:   INCLUDES="$INCLUDES -I\$(top_srcdir)/main -I\$(top_srcdir)/Zend"
                   1129:   INCLUDES="$INCLUDES -I\$(top_srcdir)/TSRM -I\$(top_builddir)/"
                   1130: fi
                   1131: 
                   1132: ZEND_EXTRA_LIBS="$LIBS"
                   1133: unset LIBS LDFLAGS
                   1134: 
                   1135: PHP_HELP_SEPARATOR([TSRM:])
                   1136: PHP_CONFIGURE_PART(Configuring TSRM)
                   1137: TSRM_BASIC_CHECKS
                   1138: if test "$PHP_THREAD_SAFETY" = "yes"; then
                   1139:   TSRM_THREADS_CHECKS
                   1140: fi
                   1141: 
                   1142: EXTRA_LDFLAGS="$EXTRA_LDFLAGS $LDFLAGS"
                   1143: EXTRA_LDFLAGS_PROGRAM="$EXTRA_LDFLAGS_PROGRAM $LDFLAGS"
                   1144: EXTRA_LIBS="$EXTRA_LIBS $LIBS"
                   1145: unset LIBS LDFLAGS
                   1146: 
                   1147: test "$prefix" = "NONE" && prefix=/usr/local
                   1148: test "$exec_prefix" = "NONE" && exec_prefix='${prefix}'
                   1149: test "$program_prefix" = "NONE" && program_prefix=
                   1150: test "$program_suffix" = "NONE" && program_suffix=
                   1151: 
                   1152: case $libdir in
                   1153:   '${exec_prefix}/lib')
                   1154:     libdir=$libdir/php
                   1155:     ;;
                   1156: esac
                   1157: case $datadir in
                   1158:   '${prefix}/share')
                   1159:     datadir=$datadir/php
                   1160:     ;;
                   1161: esac
                   1162: 
                   1163: phplibdir=`pwd`/modules
                   1164: $php_shtool mkdir -p $phplibdir
                   1165: phptempdir=`pwd`/libs
                   1166: 
                   1167: old_exec_prefix=$exec_prefix
                   1168: old_libdir=$libdir
                   1169: old_datadir=$datadir
                   1170: exec_prefix=`eval echo $exec_prefix`
                   1171: libdir=`eval echo $libdir`
                   1172: datadir=`eval echo $datadir`
                   1173: 
                   1174: dnl Build extension directory path
                   1175: 
                   1176: ZEND_MODULE_API_NO=`$EGREP '#define ZEND_MODULE_API_NO ' $srcdir/Zend/zend_modules.h|$SED 's/#define ZEND_MODULE_API_NO //'`
                   1177: 
                   1178: if test -z "$EXTENSION_DIR"; then
                   1179:   extbasedir=$ZEND_MODULE_API_NO
                   1180:   if test "$oldstyleextdir" = "yes"; then
                   1181:     if test "$PHP_DEBUG" = "1"; then
                   1182:       part1=debug
                   1183:     else
                   1184:       part1=no-debug
                   1185:     fi
                   1186:     if test "$enable_maintainer_zts" = "yes"; then
                   1187:       part2=zts
                   1188:     else
                   1189:       part2=non-zts
                   1190:     fi
                   1191:     extbasedir=$part1-$part2-$extbasedir
                   1192:     EXTENSION_DIR=$libdir/extensions/$extbasedir
                   1193:   else
                   1194:     if test "$enable_maintainer_zts" = "yes"; then
                   1195:       extbasedir=$extbasedir-zts
                   1196:     fi
                   1197:     
                   1198:     if test "$PHP_DEBUG" = "1"; then
                   1199:       extbasedir=$extbasedir-debug
                   1200:     fi
                   1201:     EXTENSION_DIR=$libdir/$extbasedir
                   1202:   fi
                   1203: fi
                   1204: 
                   1205: case $PHP_LAYOUT in
                   1206:   GNU)
                   1207:     datarootdir=$prefix/share
                   1208:     ;;
                   1209:   *)
                   1210:     datarootdir=$prefix/php
                   1211:     ;;
                   1212: esac
                   1213: 
                   1214: dnl Expand all directory names for use in macros/constants
                   1215: EXPANDED_PEAR_INSTALLDIR=`eval echo $PEAR_INSTALLDIR`
                   1216: EXPANDED_EXTENSION_DIR=`eval echo $EXTENSION_DIR`
                   1217: EXPANDED_LOCALSTATEDIR=`eval echo $localstatedir`
                   1218: EXPANDED_BINDIR=`eval echo $bindir`
                   1219: EXPANDED_SBINDIR=`eval echo $sbindir`
                   1220: EXPANDED_MANDIR=`eval echo $mandir`
                   1221: EXPANDED_LIBDIR=$libdir
                   1222: EXPANDED_SYSCONFDIR=`eval echo $sysconfdir`
                   1223: EXPANDED_DATADIR=$datadir
                   1224: EXPANDED_PHP_CONFIG_FILE_PATH=`eval echo "$PHP_CONFIG_FILE_PATH"`
                   1225: EXPANDED_PHP_CONFIG_FILE_SCAN_DIR=`eval echo "$PHP_CONFIG_FILE_SCAN_DIR"`
                   1226: INCLUDE_PATH=.:${prefix}/share/pear
                   1227: 
                   1228: exec_prefix=$old_exec_prefix
                   1229: libdir=$old_libdir
                   1230: datadir=$old_datadir
                   1231: 
                   1232: AC_SUBST(INCLUDE_PATH)
                   1233: AC_SUBST(EXPANDED_PEAR_INSTALLDIR)
                   1234: AC_SUBST(EXPANDED_EXTENSION_DIR)
                   1235: AC_SUBST(EXPANDED_BINDIR)
                   1236: AC_SUBST(EXPANDED_SBINDIR)
                   1237: AC_SUBST(EXPANDED_MANDIR)
                   1238: AC_SUBST(EXPANDED_LIBDIR)
                   1239: AC_SUBST(EXPANDED_DATADIR)
                   1240: AC_SUBST(EXPANDED_SYSCONFDIR)
                   1241: AC_SUBST(EXPANDED_LOCALSTATEDIR)
                   1242: AC_SUBST(EXPANDED_PHP_CONFIG_FILE_PATH)
                   1243: AC_SUBST(EXPANDED_PHP_CONFIG_FILE_SCAN_DIR)
                   1244: 
                   1245: if test -n "$php_ldflags_add_usr_lib"; then
                   1246:   PHP_RPATHS="$PHP_RPATHS /usr/lib"
                   1247: fi
                   1248: 
                   1249: PHP_UTILIZE_RPATHS
                   1250: 
                   1251: if test -z "$php_ldflags_add_usr_lib"; then
                   1252:   PHP_REMOVE_USR_LIB(PHP_LDFLAGS)
                   1253:   PHP_REMOVE_USR_LIB(LDFLAGS)
                   1254: fi
                   1255: 
                   1256: EXTRA_LDFLAGS="$EXTRA_LDFLAGS $PHP_LDFLAGS"
                   1257: EXTRA_LDFLAGS_PROGRAM="$EXTRA_LDFLAGS_PROGRAM $PHP_LDFLAGS"
                   1258: 
                   1259: PHP_BUILD_DATE=`date '+%Y-%m-%d'`
                   1260: AC_DEFINE_UNQUOTED(PHP_BUILD_DATE,"$PHP_BUILD_DATE",[PHP build date])
                   1261: 
                   1262: case $host_alias in
                   1263: *netware*)
                   1264:   PHP_OS="NetWare"
                   1265:   PHP_UNAME="NetWare"
                   1266:   AC_DEFINE_UNQUOTED(PHP_OS,"$PHP_OS",[hardcode for each of the cross compiler host])
                   1267:   AC_DEFINE_UNQUOTED(PHP_UNAME,"$PHP_UNAME",[hardcode for each of the cross compiler host])
                   1268:   ;;
                   1269: *)
                   1270:   PHP_UNAME=`uname -a | xargs`
                   1271:   AC_DEFINE_UNQUOTED(PHP_UNAME,"$PHP_UNAME",[uname -a output])
                   1272:   PHP_OS=`uname | xargs`
                   1273:   AC_DEFINE_UNQUOTED(PHP_OS,"$PHP_OS",[uname output])
                   1274:   ;;
                   1275: esac
                   1276: 
                   1277: PHP_SUBST_OLD(PHP_INSTALLED_SAPIS)
                   1278: 
                   1279: PHP_SUBST(PHP_EXECUTABLE)
1.1.1.2 ! misho    1280: 
1.1       misho    1281: PHP_SUBST(PHP_SAPI_OBJS)
1.1.1.2 ! misho    1282: PHP_SUBST(PHP_BINARY_OBJS)
1.1       misho    1283: PHP_SUBST(PHP_GLOBAL_OBJS)
                   1284: 
1.1.1.2 ! misho    1285: PHP_SUBST(PHP_BINARIES)
1.1       misho    1286: PHP_SUBST(PHP_MODULES)
                   1287: PHP_SUBST(PHP_ZEND_EX)
                   1288: 
                   1289: PHP_SUBST(EXT_LIBS)
                   1290: 
                   1291: PHP_SUBST_OLD(abs_builddir)
                   1292: PHP_SUBST_OLD(abs_srcdir)
                   1293: PHP_SUBST_OLD(php_abs_top_builddir)
                   1294: PHP_SUBST_OLD(php_abs_top_srcdir)
                   1295: 
                   1296: PHP_SUBST(bindir)
                   1297: PHP_SUBST(sbindir)
                   1298: PHP_SUBST(exec_prefix)
                   1299: PHP_SUBST_OLD(program_prefix)
                   1300: PHP_SUBST_OLD(program_suffix)
                   1301: PHP_SUBST(includedir)
                   1302: PHP_SUBST(libdir)
                   1303: PHP_SUBST(mandir)
                   1304: PHP_SUBST(phplibdir)
                   1305: PHP_SUBST(phptempdir)
                   1306: PHP_SUBST(prefix)
                   1307: PHP_SUBST(localstatedir)
                   1308: PHP_SUBST(datadir)
                   1309: PHP_SUBST(datarootdir)
                   1310: PHP_SUBST(sysconfdir)
                   1311: 
                   1312: PHP_SUBST(EXEEXT)
                   1313: PHP_SUBST(CC)
                   1314: PHP_SUBST(CFLAGS)
                   1315: PHP_SUBST(CFLAGS_CLEAN)
                   1316: PHP_SUBST(CPP)
                   1317: PHP_SUBST(CPPFLAGS)
                   1318: PHP_SUBST(CXX)
                   1319: PHP_SUBST(CXXFLAGS)
                   1320: PHP_SUBST(CXXFLAGS_CLEAN)
                   1321: PHP_SUBST_OLD(DEBUG_CFLAGS)
                   1322: PHP_SUBST_OLD(EXTENSION_DIR)
                   1323: PHP_SUBST_OLD(EXTRA_LDFLAGS)
                   1324: PHP_SUBST_OLD(EXTRA_LDFLAGS_PROGRAM)
                   1325: PHP_SUBST_OLD(EXTRA_LIBS)
                   1326: PHP_SUBST_OLD(ZEND_EXTRA_LIBS)
                   1327: PHP_SUBST_OLD(INCLUDES)
                   1328: PHP_SUBST_OLD(EXTRA_INCLUDES)
                   1329: PHP_SUBST_OLD(INCLUDE_PATH)
                   1330: PHP_SUBST_OLD(INSTALL_IT)
                   1331: PHP_SUBST(LFLAGS)
                   1332: PHP_SUBST(LIBTOOL)
                   1333: PHP_SUBST(LN_S)
                   1334: PHP_SUBST_OLD(NATIVE_RPATHS)
                   1335: PHP_SUBST_OLD(PEAR_INSTALLDIR)
                   1336: PHP_SUBST(PHP_BUILD_DATE)
                   1337: PHP_SUBST_OLD(PHP_LDFLAGS)
                   1338: PHP_SUBST_OLD(PHP_LIBS)
                   1339: PHP_SUBST(OVERALL_TARGET)
                   1340: PHP_SUBST(PHP_RPATHS)
                   1341: PHP_SUBST(PHP_SAPI)
                   1342: PHP_SUBST_OLD(PHP_VERSION)
                   1343: PHP_SUBST_OLD(PHP_VERSION_ID)
                   1344: PHP_SUBST(SHELL)
                   1345: PHP_SUBST(SHARED_LIBTOOL)
                   1346: PHP_SUBST(WARNING_LEVEL)
                   1347: PHP_SUBST(PHP_FRAMEWORKS)
                   1348: PHP_SUBST(PHP_FRAMEWORKPATH)
                   1349: PHP_SUBST(INSTALL_HEADERS)
                   1350: 
                   1351: old_CC=$CC
                   1352: 
                   1353: if test "$PHP_THREAD_SAFETY" = "yes" && test -n "$ac_cv_pthreads_cflags"; then
                   1354:   CXXFLAGS="$CXXFLAGS $ac_cv_pthreads_cflags"
                   1355:   INLINE_CFLAGS="$INLINE_CFLAGS $ac_cv_pthreads_cflags"
                   1356:   cat >meta_ccld<<EOF
                   1357: #! /bin/sh
                   1358: exec $CC $ac_cv_pthreads_cflags \$@
                   1359: EOF
                   1360:   CC="$abs_builddir/meta_ccld"
                   1361:   chmod +x meta_ccld
                   1362: fi
                   1363: 
                   1364: dnl This will go away, if we have a facility to run per-extension code
                   1365: dnl after the thread_safety decision was done
                   1366: if test "$PHP_THREAD_SAFETY" = "yes" && test "$PHP_MYSQL" = "yes"; then
                   1367:   CPPFLAGS="$CPPFLAGS -DTHREAD=1"
                   1368: fi
                   1369: 
                   1370: ZEND_EXT_TYPE="zend_extension"
                   1371: PHP_SUBST(ZEND_EXT_TYPE)
                   1372: 
                   1373: dnl
                   1374: dnl Libtool creation
                   1375: dnl
                   1376: 
                   1377: PHP_HELP_SEPARATOR([Libtool:])
                   1378: PHP_CONFIGURE_PART(Configuring libtool)
                   1379: 
                   1380: LDFLAGS="$LDFLAGS $PHP_AIX_LDFLAGS"
                   1381: 
                   1382: dnl Autoconf 2.13's libtool checks go slightly nuts on Mac OS X 10.5 and 10.6.
                   1383: dnl This hack works around it. Ugly.
                   1384: case $host_alias in
                   1385: *darwin9*|*darwin10*)
                   1386:   ac_cv_exeext=
                   1387:   ;;
                   1388: esac
                   1389: 
                   1390: dnl Only allow AC_PROG_CXX and AC_PROG_CXXCPP if they are explicitly called (by PHP_REQUIRE_CXX).
                   1391: dnl Otherwise AC_PROG_LIBTOOL fails if there is no working C++ compiler.
                   1392: AC_PROVIDE_IFELSE([PHP_REQUIRE_CXX], [], [
                   1393:   undefine([AC_PROG_CXX])
                   1394:   AC_DEFUN([AC_PROG_CXX], [])
                   1395:   undefine([AC_PROG_CXXCPP])
                   1396:   AC_DEFUN([AC_PROG_CXXCPP], [php_prog_cxxcpp=disabled])
                   1397: ])
                   1398: AC_PROG_LIBTOOL
                   1399: 
                   1400: if test "$enable_debug" != "yes"; then
                   1401:   PHP_SET_LIBTOOL_VARIABLE([--silent])
                   1402: fi
                   1403: 
                   1404: dnl libtool 1.4.3 needs this.
                   1405: PHP_SET_LIBTOOL_VARIABLE([--preserve-dup-deps])
                   1406: 
                   1407: test -z "$PHP_COMPILE" && PHP_COMPILE='$(LIBTOOL) --mode=compile $(COMPILE) -c $<'
                   1408: test -z "$CXX_PHP_COMPILE" && CXX_PHP_COMPILE='$(LIBTOOL) --mode=compile $(CXX_COMPILE) -c $<'
                   1409: SHARED_LIBTOOL='$(LIBTOOL)'
                   1410: 
                   1411: CC=$old_CC
                   1412: 
                   1413: PHP_CONFIGURE_PART(Generating files)
                   1414: 
                   1415: CXXFLAGS_CLEAN=$CXXFLAGS
                   1416: CFLAGS_CLEAN=$CFLAGS
                   1417: CFLAGS="\$(CFLAGS_CLEAN) $standard_libtool_flag"
                   1418: INLINE_CFLAGS="$INLINE_CFLAGS $standard_libtool_flag"
                   1419: CXXFLAGS="$CXXFLAGS $standard_libtool_flag"
                   1420: 
                   1421: if test "$PHP_PHAR" != "no" && test "$PHP_CLI" != "no"; then
                   1422:   pharcmd=pharcmd
                   1423:   pharcmd_install=install-pharcmd
                   1424: else
                   1425:   pharcmd=
                   1426:   pharcmd_install=
                   1427: fi;
                   1428: 
1.1.1.2 ! misho    1429: all_targets="$lcov_target \$(OVERALL_TARGET) \$(PHP_MODULES) \$(PHP_ZEND_EX) \$(PHP_BINARIES) $pharcmd"
        !          1430: install_targets="$install_sapi $install_modules $install_binaries install-build install-headers install-programs $install_pear $pharcmd_install"
1.1       misho    1431: 
                   1432: PHP_SUBST(all_targets)
                   1433: PHP_SUBST(install_targets)
1.1.1.2 ! misho    1434: PHP_SUBST(install_binary_targets)
1.1       misho    1435: 
1.1.1.2 ! misho    1436: PHP_INSTALL_HEADERS([Zend/ TSRM/ main/ main/streams/ sapi/cli/cli.h])
1.1       misho    1437: 
                   1438: PHP_ADD_SOURCES(TSRM, TSRM.c tsrm_strtok_r.c tsrm_virtual_cwd.c)
                   1439: 
                   1440: PHP_ADD_SOURCES(main, main.c snprintf.c spprintf.c php_sprintf.c \
1.1.1.2 ! misho    1441:        fopen_wrappers.c alloca.c  php_scandir.c \
1.1       misho    1442:        php_ini.c SAPI.c rfc1867.c php_content_types.c strlcpy.c \
                   1443:        strlcat.c mergesort.c reentrancy.c php_variables.c php_ticks.c \
                   1444:        network.c php_open_temporary_file.c php_logos.c \
1.1.1.2 ! misho    1445:        output.c getopt.c)
1.1       misho    1446: 
                   1447: PHP_ADD_SOURCES(main/streams, streams.c cast.c memory.c filter.c \
                   1448:        plain_wrapper.c userspace.c transports.c xp_socket.c mmap.c \
                   1449:        glob_wrapper.c)
                   1450: 
                   1451: PHP_ADD_SOURCES(/main, internal_functions.c,, sapi)
                   1452: 
                   1453: case $host_alias in
                   1454:   *netware*)
                   1455:     PHP_ADD_BUILD_DIR(win32)
                   1456:     PHP_ADD_BUILD_DIR(netware)
                   1457:     ;;
                   1458:   *)
1.1.1.2 ! misho    1459:     PHP_ADD_SOURCES_X(/main, internal_functions_cli.c,, PHP_BINARY_OBJS)
1.1       misho    1460:     ;;
                   1461: esac
                   1462: 
                   1463: PHP_ADD_SOURCES(Zend, \
                   1464:     zend_language_parser.c zend_language_scanner.c \
                   1465:     zend_ini_parser.c zend_ini_scanner.c \
1.1.1.2 ! misho    1466:     zend_alloc.c zend_compile.c zend_constants.c zend_dynamic_array.c zend_dtrace.c \
1.1       misho    1467:     zend_execute_API.c zend_highlight.c zend_llist.c \
                   1468:     zend_opcode.c zend_operators.c zend_ptr_stack.c zend_stack.c \
                   1469:     zend_variables.c zend.c zend_API.c zend_extensions.c zend_hash.c \
                   1470:     zend_list.c zend_indent.c zend_builtin_functions.c zend_sprintf.c \
                   1471:     zend_ini.c zend_qsort.c zend_multibyte.c zend_ts_hash.c zend_stream.c \
                   1472:     zend_iterators.c zend_interfaces.c zend_exceptions.c zend_strtod.c zend_gc.c \
1.1.1.2 ! misho    1473:     zend_closures.c zend_float.c zend_string.c zend_signal.c)
1.1       misho    1474: 
                   1475: if test -r "$abs_srcdir/Zend/zend_objects.c"; then
                   1476:   PHP_ADD_SOURCES(Zend, zend_objects.c zend_object_handlers.c zend_objects_API.c zend_default_classes.c)
                   1477: fi
                   1478: 
                   1479: dnl Selectively disable optimization due to high RAM usage during
                   1480: dnl compiling the executor.
                   1481: if test -n "$GCC" && test "$ZEND_INLINE_OPTIMIZATION" != "yes"; then
                   1482:   flag=-O0
                   1483: else
                   1484:   flag=
                   1485: fi
                   1486: 
                   1487: PHP_ADD_SOURCES_X(Zend, zend_execute.c,,PHP_GLOBAL_OBJS,,$flag)
                   1488: 
                   1489: PHP_ADD_BUILD_DIR(main main/streams)
                   1490: PHP_ADD_BUILD_DIR(TSRM)
                   1491: PHP_ADD_BUILD_DIR(Zend)
                   1492: 
                   1493: PHP_ADD_MAKEFILE_FRAGMENT($abs_srcdir/scripts/Makefile.frag,$abs_srcdir/scripts,scripts)
                   1494: PHP_ADD_MAKEFILE_FRAGMENT($abs_srcdir/Makefile.frag,$abs_srcdir/Zend,Zend)
                   1495: PHP_ADD_MAKEFILE_FRAGMENT($abs_srcdir/Zend/Makefile.frag,$abs_srcdir/Zend,Zend)
                   1496: 
                   1497: PHP_GEN_BUILD_DIRS
                   1498: PHP_GEN_GLOBAL_MAKEFILE
                   1499: 
                   1500: AC_DEFINE([HAVE_BUILD_DEFS_H], 1, [ ])
                   1501: 
                   1502: $php_shtool mkdir -p pear/scripts
                   1503: $php_shtool mkdir -p scripts
                   1504: $php_shtool mkdir -p scripts/man1
                   1505: 
                   1506: ALL_OUTPUT_FILES="php5.spec main/build-defs.h \
                   1507: scripts/phpize scripts/man1/phpize.1 \
                   1508: scripts/php-config scripts/man1/php-config.1 \
                   1509: $PHP_OUTPUT_FILES"
                   1510: 
                   1511: dnl
                   1512: dnl Check for unknown configure options
                   1513: dnl
                   1514: PHP_CHECK_CONFIGURE_OPTIONS
                   1515: 
                   1516: dnl
                   1517: dnl Generate build files
                   1518: dnl
                   1519: AC_OUTPUT($ALL_OUTPUT_FILES, [], [
                   1520: 
                   1521: if test "\$CONFIG_FILES" = "$ALL_OUTPUT_FILES" || test "\$CONFIG_FILES" = " $ALL_OUTPUT_FILES" || test -z "\$CONFIG_FILES"; then
                   1522:   REDO_ALL=yes
                   1523: fi
                   1524: 
                   1525: ################################################################
                   1526: # Create configuration headers
                   1527: #
                   1528: 
                   1529: test -d TSRM || $php_shtool mkdir TSRM
                   1530: echo '#include <../main/php_config.h>' > TSRM/tsrm_config.h
                   1531: 
                   1532: test -d Zend || $php_shtool mkdir Zend
                   1533: 
                   1534: cat >Zend/zend_config.h <<FEO
                   1535: #include <../main/php_config.h>
                   1536: #if defined(APACHE) && defined(PHP_API_VERSION)
                   1537: #undef HAVE_DLFCN_H
                   1538: #endif
                   1539: FEO
                   1540: 
                   1541: # run this only when generating all the files?
                   1542: if test -n "\$REDO_ALL"; then
                   1543:   # Hacking while airborne considered harmful.
                   1544:   #
                   1545:   echo "creating main/internal_functions.c"
                   1546:   extensions="$EXT_STATIC"
                   1547: dnl mv -f main/internal_functions.c main/internal_functions.c.old 2>/dev/null
                   1548:   sh $srcdir/build/genif.sh $srcdir/main/internal_functions.c.in $srcdir "$EXTRA_MODULE_PTRS" $AWK \$extensions > main/internal_functions.c
                   1549: 
                   1550:   echo "creating main/internal_functions_cli.c"
                   1551:   cli_extensions="$EXT_CLI_STATIC"
                   1552:   sh $srcdir/build/genif.sh $srcdir/main/internal_functions.c.in $srcdir "$EXTRA_MODULE_PTRS" $AWK \$cli_extensions > main/internal_functions_cli.c
                   1553: 
                   1554:   if test "$UNAME" = "FreeBSD" && test "$PHP_SAPI" = "apache2filter" && test "$TSRM_PTH" != "pth-config" ; then
                   1555:     echo "+--------------------------------------------------------------------+"
                   1556:     echo "|                        *** WARNING ***                             |"
                   1557:     echo "|                                                                    |"
                   1558:     echo "| In order to build PHP as a Apache2 module on FreeBSD, you have to  |"
                   1559:     echo "| add  --with-tsrm-pth to your ./configure line. Therefore you need  |"
                   1560:     echo "| to install gnu-pth from /usr/ports/devel/pth.                      |"
                   1561:   fi
                   1562: 
                   1563:   if test -n "$PHP_APXS_BROKEN"; then
                   1564:     echo "+--------------------------------------------------------------------+"
                   1565:     echo "| WARNING: Your $APXS script is most likely broken."
                   1566:     echo "|                                                                    |"
                   1567:     echo "| Please go read http://www.php.net/faq.build#faq.build.apxs         |"
                   1568:     echo "| and make the changes described there and try again.                |"
                   1569:   fi
                   1570: 
                   1571:   if test -n "$DEBUG_LOG"; then
                   1572:     rm -f config.cache
                   1573: cat <<X
                   1574: +--------------------------------------------------------------------+
                   1575: |                       *** ATTENTION ***                            |
                   1576: |                                                                    |
                   1577: | Something is likely to be messed up here, because the configure    |
                   1578: | script was not able to detect a simple feature on your platform.   |
                   1579: | This is often caused by incorrect configuration parameters. Please |
                   1580: | see the file debug.log for error messages.                         |
                   1581: |                                                                    |
                   1582: | If you are unable to fix this, send the file debug.log to the      |
                   1583: | php-install@lists.php.net mailing list and include appropiate      |
                   1584: | information about your setup.                                      |
                   1585: X
                   1586:   fi
                   1587: 
1.1.1.2 ! misho    1588:   if test "$PHP_SAPI" = "apache2handler" || test "$PHP_SAPI" = "apache2filter"; then
        !          1589:     if test "$APACHE_VERSION" -ge 2004001; then
        !          1590:       if test -z "$APACHE_THREADED_MPM"; then
        !          1591: cat <<X
        !          1592: +--------------------------------------------------------------------+
        !          1593: |                        *** WARNING ***                             |
        !          1594: |                                                                    |
        !          1595: | You have built PHP for Apache's current non-threaded MPM.          |
        !          1596: | If you change Apache to use a threaded MPM you must reconfigure    |
        !          1597: | PHP with --enable-maintainer-zts                                   |
        !          1598: X
        !          1599:       fi
        !          1600:     fi
        !          1601:   fi
        !          1602: 
1.1       misho    1603:   # Warn about linking Apache with libpthread if oci8 extension is enabled on linux.
                   1604:   if test "$PHP_OCI8" != "no"; then
                   1605:     if test "$PHP_SAPI" = "apache"; then
                   1606:       if test `uname` = "Linux"; then
                   1607: cat <<X
                   1608: +--------------------------------------------------------------------+
                   1609: |                        *** WARNING ***                             |
                   1610: |                                                                    |
                   1611: | Please check that your Apache (httpd) is linked with libpthread.   |
                   1612: | If not, you have to recompile Apache with pthread. For more        |
                   1613: | details, see this page: http://www.php.net/manual/ref.oci8.php     |
                   1614: X
                   1615:       fi
                   1616:     fi
                   1617: 
                   1618:     if test "$PHP_SIGCHILD" != "yes"; then
                   1619:       if test "$PHP_OCI8_INSTANT_CLIENT" = "no"; then
                   1620: cat <<X
                   1621: +--------------------------------------------------------------------+
                   1622: | Notice:                                                            |
                   1623: | If you encounter <defunc> processes when using a local Oracle      |
                   1624: | database, set the value BEQUEATH_DETACH=YES in Oracle Net's        |
                   1625: | sqlnet.ora file on the PHP host, or set the environment variable   |
                   1626: | BEQUEATH_DETACH to YES before starting Apache.  If the problem     |
                   1627: | still occurs, then recompile PHP and specify --enable-sigchild     |
                   1628: | when configuring.                                                  |
                   1629: X
                   1630:       fi
                   1631:     fi
                   1632:   fi
                   1633: 
                   1634: cat <<X
                   1635: +--------------------------------------------------------------------+
                   1636: | License:                                                           |
                   1637: | This software is subject to the PHP License, available in this     |
                   1638: | distribution in the file LICENSE.  By continuing this installation |
                   1639: | process, you are bound by the terms of this license agreement.     |
                   1640: | If you do not agree with the terms of this license, you must abort |
                   1641: | the installation process at this point.                            |
                   1642: +--------------------------------------------------------------------+
                   1643: 
                   1644: Thank you for using PHP.
                   1645: 
                   1646: X
                   1647: 
                   1648:   # Output unknown configure options
                   1649:   if test "$PHP_UNKNOWN_CONFIGURE_OPTIONS"; then
                   1650:     echo "Notice: Following unknown configure options were used:
                   1651: $PHP_UNKNOWN_CONFIGURE_OPTIONS
                   1652: 
                   1653: Check '[$]0 --help' for available options
                   1654: "
                   1655:   fi
                   1656: 
                   1657: fi
                   1658: ])
                   1659: 
                   1660: dnl ## Local Variables:
                   1661: dnl ## tab-width: 4
                   1662: dnl ## End:

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>