php-src/configure.in

822 lines
21 KiB
Bash

dnl ## $Id$ -*- sh -*-
dnl ## Process this file with autoconf to produce a configure script.
divert(0)
AC_INIT(main.c)
if test "$with_shared_apache" != "no" && test -n "$with_shared_apache" ; then
AC_MSG_ERROR(--with-shared-apache is not supported. Please refer to the documentation for using APXS)
fi
if test -n "$with_apache" && test -n "$with_apxs"; then
AC_MSG_ERROR(--with-apache and --with-apxs cannot be used together)
fi
cwd=`pwd`
for i in $@; do passthru="$passthru \"$i\""; done
CONFIGURE_COMMAND=$0
for arg in "$@"; do
CONFIGURE_COMMAND="$CONFIGURE_COMMAND '$arg'"
done
AC_SUBST(CONFIGURE_COMMAND)
dnl ## Diversion 1 is the initial checking of OS features, programs,
dnl ## libraries and so on.
dnl ## In diversion 2 we check for compile-time options to the PHP
dnl ## core and how to deal with different system dependencies. This
dnl ## includes what regex library is used and whether debugging or short
dnl ## tags are enabled, and the default behaviour of php.ini options.
dnl ## This is also where an SAPI interface is selected (choosing between
dnl ## Apache module, CGI etc.)
dnl ## In diversion 3 we check which extensions should be compiled.
dnl ## All of these are normally in the extension directories.
dnl ## Diversion 4 is the last one. Here we generate files and clean up.
divert(1)
dnl ## This is where the version number is changed from now on!
AM_INIT_AUTOMAKE(php, 4.0b4-dev)
PHP_VERSION=$VERSION
echo "/* automatically generated by configure */" > php_version.h.new
echo "/* edit configure.in.in to change version number */" >> php_version.h.new
echo "#define PHP_VERSION \"$PHP_VERSION\"" >> php_version.h.new
cmp php_version.h.new php_version.h >/dev/null 2>&1
if test $? -ne 0 ; then
rm -f php_version.h && mv php_version.h.new php_version.h && \
echo 'Updated php_version.h'
else
rm -f php_version.h.new
fi
AM_CONFIG_HEADER(php_config.h)
AM_MAINTAINER_MODE
phplibdir=$libdir/php
AC_SUBST(phplibdir)
AC_SUBST(PHP_VERSION)
dnl We want this one before the checks, so the checks can modify CFLAGS.
test -z "$CFLAGS" && auto_cflags=1
dnl If we're using cc on HP-UX, add -Ae -D_HPUX_SOURCE [obsolete]
dnl if test -n "$auto_cflags" && test "`uname -s 2>/dev/null`" = "HP-UX"; then
dnl test -n "$GCC" || CFLAGS="-Ae $CFLAGS -D_HPUX_SOURCE"
dnl fi
dnl Checks for programs.
AC_PROG_YACC
if test "$YACC" != "bison -y"; then
AC_MSG_WARN(You will need bison if you want to regenerate the PHP parsers.)
else
AC_MSG_CHECKING(bison version)
oldIFS=$IFS; IFS=.
set `bison -V | sed -e 's/^GNU Bison version //'`
IFS=$oldIFS
if test "$1" = "1" -a "$2" -lt "25"; then
AC_MSG_WARN(Bison 1.25 or newer needed to regenerate parsers (found $1.$2).)
fi
AC_MSG_RESULT($1.$2 (ok))
fi
dnl ## there has to be a better way...
dnl## OLDLIBS=$LIBS; LIBS=""
AC_PROG_CC
dnl## LIBS=$OLDLIBS
AM_PROG_CC_STDC
AC_PROG_RANLIB
AC_PROG_CC_C_O
AC_PROG_LN_S
AM_PROG_LEX
dnl Make flex scanners use const if they can, even if __STDC__ is not
dnl true, for compilers like Sun's that only set __STDC__ true in
dnl "limit-to-ANSI-standard" mode, not in "ANSI-compatible" mode
AC_C_CONST
if test "$ac_cv_c_const" = "yes" ; then
LEX_CFLAGS="-DYY_USE_CONST"
fi
AC_SUBST(LEX_CFLAGS)
dnl Hack to work around a Mac OS X cpp problem
dnl Known versions needing this workaround are 5.3 and 5.4
if test "$ac_cv_prog_gcc" = "yes" -a "`uname -s`" = "Rhapsody"; then
CPPFLAGS="$CPPFLAGS -traditional-cpp"
fi
dnl Ugly hack to get around a problem with gcc on AIX.
if test "$CC" = "gcc" -a "$ac_cv_prog_cc_g" = "yes" -a \
"`uname -sv`" = "AIX 4"; then
CFLAGS=`echo $CFLAGS | sed -e 's/-g//'`
fi
dnl check for -R, etc. switch
AC_MSG_CHECKING(if compiler supports -R)
AC_CACHE_VAL(php_cv_cc_dashr,[
SAVE_LIBS="${LIBS}"
LIBS="-R /usr/lib ${LIBS}"
AC_TRY_LINK([], [], php_cv_cc_dashr=yes, php_cv_cc_dashr=no)
LIBS="${SAVE_LIBS}"])
AC_MSG_RESULT($php_cv_cc_dashr)
if test $php_cv_cc_dashr = "yes"; then
ld_runpath_switch="-R"
else
AC_MSG_CHECKING([if compiler supports -Wl,-rpath,])
AC_CACHE_VAL(php_cv_cc_rpath,[
SAVE_LIBS="${LIBS}"
LIBS="-Wl,-rpath,/usr/lib ${LIBS}"
AC_TRY_LINK([], [], php_cv_cc_rpath=yes, php_cv_cc_rpath=no)
LIBS="${SAVE_LIBS}"])
AC_MSG_RESULT($php_cv_cc_rpath)
if test $php_cv_cc_rpath = "yes"; then
ld_runpath_switch="-Wl,-rpath,"
else
dnl something innocuous
ld_runpath_switch="-L"
fi
fi
dnl AC_PROG_INSTALL
AC_PATH_PROG(PROG_SENDMAIL, sendmail, /usr/lib/sendmail, $PATH /usr/bin /usr/sbin /usr/etc /etc /usr/ucblib)
if test -n "$PROG_SENDMAIL"; then
AC_DEFINE(HAVE_SENDMAIL)
fi
dnl
dnl Check for /usr/pkg/{lib,include} which is where NetBSD puts binary
dnl and source packages. This should be harmless on other OSs.
dnl
if test -d /usr/pkg/include -a -d /usr/pkg/lib ; then
CFLAGS="$CFLAGS -I/usr/pkg/include"
LDFLAGS="$LDFLAGS -L/usr/pkg/lib"
fi
INCLUDES="-I\$(top_builddir)/libzend -I\$(top_srcdir) -I\$(top_srcdir)/libzend"
AC_SUBST(INCLUDES)
AC_CHECK_LIB(nsl, gethostname, [
AC_ADD_LIBRARY(nsl)
AC_DEFINE(HAVE_LIBNSL) ], [])
AC_CHECK_LIB(socket, socket, [
AC_ADD_LIBRARY(socket)
AC_DEFINE(HAVE_LIBSOCKET) ], [
AC_CHECK_LIB(socket, htonl, [
AC_ADD_LIBRARY(socket)
])])
AC_CHECK_LIB(nsl, gethostbyaddr, [
AC_ADD_LIBRARY(nsl)
AC_DEFINE(HAVE_LIBNSL) ], [])
AC_CHECK_LIB(crypt, crypt, [
AC_ADD_LIBRARY(crypt)
AC_DEFINE(HAVE_LIBCRYPT) ], [])
dnl The sin may be in a library which need not be specifed
dnl as well as res_search resides in libsocket
AC_CHECK_LIB(m, sin)
AC_CHECK_LIB(bind, inet_aton, [
AC_ADD_LIBRARY(bind)
AC_DEFINE(HAVE_LIBBIND) ], [])
AC_CHECK_LIB(resolv, inet_aton)
dnl The res_search may be in libsocket as well, and if it is
dnl make sure to check for dn_skipname in libresolv, or if res_search
dnl is in neither of these libs, still check for dn_skipname in libresolv
AC_CHECK_LIB(socket, res_search, [
AC_CHECK_LIB(resolv, dn_skipname)
AC_CHECK_LIB(resolv, __dn_skipname)
LIBS="$LIBS -lsocket"
AC_DEFINE(HAVE_LIBSOCKET) ], [
AC_CHECK_LIB(resolv, res_search, [
LIBS="$LIBS -lresolv"
AC_DEFINE(HAVE_LIBRESOLV)
], [
AC_CHECK_LIB(resolv, dn_skipname)
AC_CHECK_LIB(resolv, __dn_skipname)
])
])
dnl Checks for header files.
AC_HEADER_STDC
dnl In QNX opendir resides in libc but dirent.h is still required
if test "`uname -s 2>/dev/null`" != "QNX"; then
AC_HEADER_DIRENT
else
AC_CHECK_HEADERS(dirent.h)
fi
AC_MISSING_FCLOSE_DECL
dnl QNX requires unix.h to allow functions in libunix to work properly
AC_CHECK_HEADERS(
arpa/inet.h \
crypt.h \
dlfcn.h \
fcntl.h \
grp.h \
limits.h \
locale.h \
memory.h \
netinet/in.h \
pwd.h \
signal.h \
stdarg.h \
stdlib.h \
string.h \
sys/file.h \
sys/mman.h \
sys/select.h \
sys/socket.h \
sys/statfs.h \
sys/statvfs.h \
sys/time.h \
sys/types.h \
sys/varargs.h \
sys/wait.h \
syslog.h \
unistd.h \
unix.h \
)
dnl Checks for typedefs, structures, and compiler characteristics.
AC_STRUCT_TM
AC_STRUCT_TIMEZONE
AC_CACHE_CHECK([for tm_gmtoff in struct tm], ac_cv_struct_tm_gmtoff,
[AC_TRY_COMPILE([#include <sys/types.h>
#include <$ac_cv_struct_tm>], [struct tm tm; tm.tm_gmtoff;],
ac_cv_struct_tm_gmtoff=yes, ac_cv_struct_tm_gmtoff=no)])
if test "$ac_cv_struct_tm_gmtoff" = yes; then
AC_DEFINE(HAVE_TM_GMTOFF)
fi
AC_CACHE_CHECK(for struct flock,ac_cv_struct_flock,
AC_TRY_COMPILE([
#include <unistd.h>
#include <fcntl.h>
],
[struct flock x;],
[
ac_cv_struct_flock=yes
],[
ac_cv_struct_flock=no
])
)
AC_CACHE_CHECK(for socklen_t,ac_cv_socklen_t,
AC_TRY_COMPILE([
#include <sys/types.h>
#include <sys/socket.h>
],[
socklen_t x;
],[
ac_cv_socklen_t=yes
],[
ac_cv_socklen_t=no
]))
if test "$ac_cv_struct_flock" = "yes" ; then
AC_DEFINE(HAVE_STRUCT_FLOCK, 1)
fi
if test "$ac_cv_socklen_t" = "no"; then
AC_CHECK_TYPE(socklen_t, unsigned int)
fi
AC_CHECK_SIZEOF(long, 8)
AC_CHECK_SIZEOF(int, 4)
dnl Check for members of the stat structure
AC_STRUCT_ST_BLKSIZE
dnl AC_STRUCT_ST_BLOCKS will screw QNX because fileblocks.o does not exists
dnl The WARNING_LEVEL required because cc in QNX hates -w option without an argument
if test "`uname -s 2>/dev/null`" != "QNX"; then
AC_STRUCT_ST_BLOCKS
else
AC_MSG_WARN(warnings level for cc set to 0)
WARNING_LEVEL=0
AC_SUBST(WARNING_LEVEL)
fi
AC_STRUCT_ST_RDEV
dnl Checks for types
AC_TYPE_SIZE_T
AC_TYPE_UID_T
dnl This is required for QNX and may be some BSD derived systems
AC_CHECK_TYPE( uint, unsigned int )
AC_CHECK_TYPE( ulong, unsigned long )
dnl Checks for library functions.
AC_FUNC_VPRINTF
AC_CHECK_FUNCS(
asctime_r \
crypt \
ctime_r \
cuserid \
flock \
gcvt \
getlogin \
gethostbyaddr \
gettimeofday \
gmtime_r \
inet_aton \
link \
localtime_r \
lockf \
lrand48 \
memcpy \
memmove \
mmap \
putenv \
random \
rand_r \
regcomp \
rint \
setitimer \
setlocale \
setsockopt \
setvbuf \
shutdown \
sin \
snprintf \
srand48 \
srandom \
statfs \
statvfs \
strcasecmp \
strdup \
strerror \
strftime \
strstr \
strtok_r \
symlink \
tempnam \
tzset \
unsetenv \
usleep \
utime \
vsnprintf \
)
AC_REPLACE_FUNCS(strlcat strlcpy getopt)
AC_FUNC_UTIME_NULL
AC_FUNC_ALLOCA
dnl## OLDLIBS=$LIBS; LIBS=""
dnl This is also defined/used in libzend. To avoid a redefinition
dnl we use that version
dnl AC_BROKEN_SPRINTF
dnl## LIBS=$OLDLIBS
dnl AIX keeps in_addr_t in /usr/include/netinet/in.h
dnl AC_MSG_CHECKING(for in_addr_t)
AC_CACHE_VAL(ac_cv_type_$1,
[AC_EGREP_CPP(dnl
changequote(<<,>>)dnl
<<in_addr_t[^a-zA-Z_0-9]>>dnl
changequote([,]), [#include <sys/types.h>
#if STDC_HEADERS
#include <stdlib.h>
#include <stddef.h>
#endif
#ifdef HAVE_NETINET_IN_H
#include <netinet/in.h>
#endif], ac_cv_type_in_addr_t=yes, ac_cv_type_in_addr_t=no)])dnl
dnl AC_MSG_RESULT($ac_cv_type_in_addr_t)
if test $ac_cv_type_in_addr_t = no; then
AC_DEFINE(in_addr_t, u_int)
fi
divert(2)
abs_srcdir=`(cd $srcdir; pwd)`
abs_builddir=`pwd`
AC_SUBST(abs_srcdir)
AC_SUBST(abs_builddir)
AC_MSG_CHECKING(whether to use a configuration file)
AC_ARG_WITH(config-file-path,
[ --with-config-file-path=PATH
Sets the path in which to look for php.ini.
defaults to /usr/local/lib],
[
if test "$withval" = "yes"; then
AC_DEFINE_UNQUOTED(CONFIGURATION_FILE_PATH, "/usr/local/lib")
AC_DEFINE(USE_CONFIG_FILE, 1)
AC_MSG_RESULT(yes)
else
if test "$withval" != "no"; then
AC_DEFINE_UNQUOTED(CONFIGURATION_FILE_PATH, "$withval")
AC_DEFINE(USE_CONFIG_FILE, 1)
AC_MSG_RESULT(yes)
else
AC_DEFINE(CONFIGURATION_FILE_PATH, 0)
AC_DEFINE(USE_CONFIG_FILE, 0)
AC_MSG_RESULT(no)
fi
fi
],[
AC_DEFINE_UNQUOTED(CONFIGURATION_FILE_PATH, "/usr/local/lib")
AC_DEFINE(USE_CONFIG_FILE, 1)
AC_MSG_RESULT(yes)
])
AC_MSG_CHECKING(whether to include debugging symbols)
AC_ARG_ENABLE(debug,
[ --disable-debug Compile without debugging symbols],
[
if test "$enableval" = "yes"; then
AC_MSG_RESULT(yes)
AC_DEFINE(DEBUG,1)
PHP_DEBUG=1
DEBUG_CFLAGS="-g"
test -n "$GCC" && DEBUG_CFLAGS="$DEBUG_CFLAGS -Wall"
test -n "$GCC" && test "$USE_MAINTAINER_MODE" = "yes" && \
DEBUG_CFLAGS="$DEBUG_CFLAGS -Wmissing-prototypes -Wstrict-prototypes -Wmissing-declarations"
else
AC_MSG_RESULT(no)
AC_DEFINE(DEBUG,0)
PHP_DEBUG=0
DEBUG_CFLAGS=""
fi
],[
AC_MSG_RESULT(yes)
AC_DEFINE(DEBUG,1)
PHP_DEBUG=1
DEBUG_CFLAGS="-g"
])
AC_SUBST(DEBUG_CFLAGS)
AC_SUBST(PHP_DEBUG)
CFLAGS="$CFLAGS $DEBUG_CFLAGS"
AC_MSG_CHECKING(whether to enable safe mode by default)
AC_ARG_ENABLE(safe-mode,
[ --enable-safe-mode Enable safe mode by default.],
[
if test "$enableval" = "yes"; then
AC_DEFINE(PHP_SAFE_MODE, 1)
AC_MSG_RESULT(yes)
else
AC_DEFINE(PHP_SAFE_MODE, 0)
AC_MSG_RESULT(no)
fi
],[
AC_DEFINE(PHP_SAFE_MODE, 0)
AC_MSG_RESULT(no)
])
AC_MSG_CHECKING(for safe mode exec dir)
AC_ARG_WITH(exec-dir,
[ --with-exec-dir[=DIR] Only allow executables in DIR when in safe mode
defaults to /usr/local/php/bin],
[
if test "$withval" != "no"; then
if test "$withval" = "yes"; then
AC_DEFINE(PHP_SAFE_MODE_EXEC_DIR,"/usr/local/php/bin")
AC_MSG_RESULT(/usr/local/php/bin)
else
AC_DEFINE_UNQUOTED(PHP_SAFE_MODE_EXEC_DIR,"$withval")
AC_MSG_RESULT($withval)
fi
else
AC_DEFINE(PHP_SAFE_MODE_EXEC_DIR,"/usr/local/php/bin")
AC_MSG_RESULT(/usr/local/php/bin)
fi
],[
AC_DEFINE(PHP_SAFE_MODE_EXEC_DIR,"/usr/local/php/bin")
AC_MSG_RESULT(/usr/local/php/bin)
])
AC_MSG_CHECKING(whether to enable track_vars variables by default)
AC_ARG_ENABLE(track-vars,
[ --enable-track-vars Enable GET/POST/Cookie track variables by default.],
[
if test "$enableval" = "yes"; then
AC_DEFINE(PHP_TRACK_VARS, 1)
AC_MSG_RESULT(yes)
else
AC_DEFINE(PHP_TRACK_VARS, 0)
AC_MSG_RESULT(no)
fi
],[
AC_DEFINE(PHP_TRACK_VARS, 0)
AC_MSG_RESULT(no)
])
AC_MSG_CHECKING(whether to enable magic quotes by default)
AC_ARG_ENABLE(magic-quotes,
[ --enable-magic-quotes Enable magic quotes by default.],
[
if test "$enableval" = "yes"; then
AC_DEFINE(MAGIC_QUOTES, 1)
AC_MSG_RESULT(yes)
else
AC_DEFINE(MAGIC_QUOTES, 0)
AC_MSG_RESULT(no)
fi
],[
AC_DEFINE(MAGIC_QUOTES, 0)
AC_MSG_RESULT(no)
])
AC_MSG_CHECKING(whether to enable runpaths)
AC_ARG_ENABLE(rpath,
[ --disable-rpath Disable passing additional runtime library
search paths],
[
if test "$enableval" = "no"; then
enable_rpath=no
else
enable_rpath=yes
fi
],[
enable_rpath=yes
])
AC_MSG_RESULT($enable_rpath)
AC_MSG_CHECKING(whether to enable short tags by default)
AC_ARG_ENABLE(short-tags,
[ --disable-short-tags Disable the short-form <? start tag by default.],
[
if test "$enableval" = "no"; then
AC_DEFINE(DEFAULT_SHORT_OPEN_TAG, 0)
AC_MSG_RESULT(no)
else
AC_DEFINE(DEFAULT_SHORT_OPEN_TAG, 1)
AC_MSG_RESULT(yes)
fi
],[
AC_DEFINE(DEFAULT_SHORT_OPEN_TAG, 1)
AC_MSG_RESULT(yes)
])
AC_MSG_CHECKING(whether to enable the URL-aware fopen wrapper)
AC_ARG_ENABLE(url-fopen-wrapper,
[ --disable-url-fopen-wrapper
Disable the URL-aware fopen wrapper that allows
accessing files via http or ftp.],
[
if test "$enableval" = "yes"; then
AC_DEFINE(PHP3_URL_FOPEN, 1)
AC_MSG_RESULT(yes)
else
AC_DEFINE(PHP3_URL_FOPEN, 0)
AC_MSG_RESULT(no)
fi
],[
AC_DEFINE(PHP3_URL_FOPEN, 1)
AC_MSG_RESULT(yes)
])
DMALLOC_RESULT=no
AC_MSG_CHECKING(whether to enable dmalloc)
AC_ARG_ENABLE(dmalloc,
[ --enable-dmalloc Enable dmalloc],
[
if test "$enableval" = "yes" ; then
AC_DEFINE(HAVE_DMALLOC, 1)
AC_ADD_LIBRARY(dmalloc)
CFLAGS="$CFLAGS -DDMALLOC_FUNC_CHECK"
DMALLOC_RESULT=yes
fi
])
AC_MSG_RESULT($DMALLOC_RESULT)
AC_MSG_CHECKING(whether to enable experimental ZTS mode)
AC_ARG_ENABLE(experimental-zts,
[ --enable-experimental-zts This will most likely break your build.],[
PHP_EXPERIMENTAL_ZTS=$enableval
],[
PHP_EXPERIMENTAL_ZTS=no
])
AC_MSG_RESULT($PHP_EXPERIMENTAL_ZTS)
AC_MSG_CHECKING(whether to try to stay below resource limits)
AC_ARG_ENABLE(low-memory,
[ --enable-low-memory Try to stay below resource limits],[
PHP_LOW_MEMORY=$enableval
],[
PHP_LOW_MEMORY=no
])
AC_MSG_RESULT($PHP_LOW_MEMORY)
PHP_SAPI=cgi
PHP_BUILD_PROGRAM
dnl paths to the targets relative to the build directory
SAPI_PROGRAM=php
SAPI_SHARED=libs/libphp4.so
SAPI_STATIC=libs/libphp4.a
esyscmd(./scripts/config-stubs sapi)
divert(3)
AC_SUBST(EXTRA_LIBS)
AC_SUBST(EXTRA_LDFLAGS)
# reading config stubs
esyscmd(./scripts/config-stubs ext)
PHP_OUTPUT(sapi/$PHP_SAPI/Makefile)
AC_MSG_CHECKING(whether to enable versioning)
AC_ARG_ENABLE(versioning,
[ --enable-versioning Export only required symbols.
See INSTALL for more information],[
PHP_VERSIONING=$enableval
],[
PHP_VERSIONING=no
])
AC_MSG_RESULT($PHP_VERSIONING)
if test "$PHP_VERSIONING" = "yes"; then
test -z "$PHP_SYM_FILE" && PHP_SYM_FILE="$abs_srcdir/sapi/$PHP_SAPI/php.sym"
if test -f "$PHP_SYM_FILE"; then
EXTRA_LDFLAGS="-export-symbols $PHP_SYM_FILE"
fi
fi
if test "$PHP_LOW_MEMORY" = "yes"; then
passthru="$passthru --disable-inline"
fi
divert(4)
enable_shared=yes
enable_static=yes
case "$php_build_target" in
program)
enable_shared=no
PHP_PROGRAM=php
passthru="$passthru --disable-shared"
;;
shared)
enable_static=no
passthru="$passthru --disable-static"
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -avoid-version"
;;
static)
enable_shared=no
passthru="$passthru --disable-shared"
;;
esac
AM_PROG_LIBTOOL
if test "$enable_debug" != "yes"; then
AM_SET_LIBTOOL_VARIABLE([--silent])
fi
PHP_REGEX
dnl If we are using gcc and the user has not specified CFLAGS, add -O2.
test -n "$auto_cflags" && test -n "$GCC" && CFLAGS="$CFLAGS -O2"
CPPFLAGS="$CPPFLAGS -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT"
export CPPFLAGS
if test "$PHP_THREAD_SAFETY" = "yes" || test "$PHP_EXPERIMENTAL_ZTS" = "yes"; then
passthru="$passthru --enable-thread-safety"
TSRM_LIB='TSRM/libtsrm.la'
TSRM_DIR=TSRM
AC_DEFINE(ZTS)
INCLUDES="$INCLUDES -I\$(top_builddir)/TSRM -I\$(top_srcdir)/TSRM"
PHP_THREAD_SAFETY=yes
else
PHP_THREAD_SAFETY=no
fi
AC_MSG_CHECKING(whether to build PHP thread-safe)
AC_MSG_RESULT($PHP_THREAD_SAFETY)
AC_SUBST(TSRM_DIR)
AC_SUBST(TSRM_LIB)
dnl *** Commented out - generates slow code and consumes a lot of
dnl *** resources during compilation - we need to figure out how
dnl *** to supply it only when absolutely necessary
dnl If we are using gcc add -fpic to make dl() work on some platforms
dnl test -n "$GCC" && CFLAGS="$CFLAGS -fpic"
dnl add -fPIC option on Solaris if we are building dynamic extensions
dnl PHP_SOLARIS_PIC_WEIRDNESS
AC_BUILD_RPATH
phplibdir="`pwd`/modules"
phptempdir="`pwd`/libs"
AC_SUBST(phplibdir)
AC_SUBST(phptempdir)
EXTRA_LIBS="$LIBS $EXTRA_LIBS"
LIBS=""
AC_SUBST(CFLAGS)
AC_SUBST(PROG_SENDMAIL)
AC_SUBST(PHP_RPATHS)
AC_SUBST(NATIVE_RPATHS)
AC_SUBST(PHP_PROGRAM)
PHP_BUILD_DATE=`date '+%Y-%m-%d'`
AC_SUBST(PHP_BUILD_DATE)
AC_DEFINE_UNQUOTED(PHP_BUILD_DATE,"$PHP_BUILD_DATE")
PHP_UNAME=`uname -a`
AC_DEFINE_UNQUOTED(PHP_UNAME,"$PHP_UNAME")
PHP_OS=`uname`
AC_DEFINE_UNQUOTED(PHP_OS,"$PHP_OS")
AC_SUBST(PHP_LIBS)
AC_SUBST(PHP_SAPI)
AC_SUBST(INSTALL_IT)
#libphp4.module
AC_OUTPUT([Makefile php4.spec ext/Makefile sapi/Makefile pear/Makefile
$PHP_OUTPUT_FILES
scripts/mkextlib build-defs.h], [], [
if test ! -f $srcdir/ext/bcmath/number.c; then
echo "creating number.c"
echo "/* Dummy File */" > $srcdir/ext/bcmath/number.c
echo "creating number.h"
echo "/* Dummy File */" > $srcdir/ext/bcmath/number.h
fi
if test "$no_recursion" != "yes"; then
(set -x; test -d libzend || mkdir libzend; cd libzend; $cwd/$srcdir/libzend/configure --cache-file=../$cache_file $passthru) || exit 1
if test "$PHP_THREAD_SAFETY" = "yes"; then
(set -x; test -d TSRM || mkdir TSRM; cd TSRM && $cwd/$srcdir/TSRM/configure --cache-file=../$cache_file $passthru) || exit 1
fi
dnl (set -x; cd $srcdir; sh ltconfig --disable-static --enable-dlopen --cache-file=$cache_file ltmain.sh)
fi
# run this only when generating all the files?
if true; then
chmod +x scripts/mkextlib
# Hacking while airborne considered harmful.
#
echo "creating internal_functions.c"
extensions=\`grep '^s.@EXT_STATIC@' \$0|sed -e 's/^.*@% *//' -e 's/%.*$//'\`
mv -f internal_functions.c internal_functions.c.old 2>/dev/null
sh $srcdir/genif.sh $srcdir/internal_functions.c.in $srcdir \$extensions > internal_functions.c
if cmp internal_functions.c.old internal_functions.c > /dev/null 2>&1; then
echo "internal_functions.c is unchanged"
mv internal_functions.c.old internal_functions.c
else
rm -f internal_functions.c.old
fi
# Warn about CGI version with no extra security options.
if test "$PHP_SAPI" = "cgi"; then
if test "$REDIRECT" = "0"; then
if test "$DISCARD_PATH" = "0"; then
echo "+--------------------------------------------------------------------+"
echo "| Warning: |"
echo "| You will be compiling the CGI version of PHP without any |"
echo "| redirection checking. By putting this cgi binary somewhere in |"
echo "| your web space, users may be able to circumvent existing .htaccess |"
echo "| security by loading files directly through the parser. See |"
echo "| http://www.php.net/manual/config-security.php3 for more details. |"
fi
fi
fi
echo "+--------------------------------------------------------------------+"
echo "| License: |"
echo "| This software is subject to the PHP License, available in this |"
echo "| distribution in the file LICENSE. By continuing this installation |"
echo "| process, you are bound by the terms of this license agreement. |"
echo "| If you do not agree with the terms of this license, you must abort |"
echo "| the installation process at this point. |"
echo "+--------------------------------------------------------------------+"
fi
])
divert
dnl ## Local Variables:
dnl ## tab-width: 4
dnl ## End: