|
|
dnl $Id$dnldnl This file contains local autoconf functions.
sinclude(dynlib.m4)
AC_DEFUN(PHP_REMOVE_USR_LIB,[ unset ac_new_flags for i in [$]$1; do case [$]i in -L/usr/lib|-L/usr/lib/) ;; *) ac_new_flags="[$]ac_new_flags [$]i" ;; esac done $1=[$]ac_new_flags]) AC_DEFUN(PHP_SETUP_OPENSSL,[ if test "$PHP_OPENSSL" = "no"; then PHP_OPENSSL="/usr/local/ssl /usr/local /usr /usr/local/openssl" fi
for i in $PHP_OPENSSL; do if test -r $i/include/openssl/evp.h; then OPENSSL_DIR=$i OPENSSL_INC=$i/include fi done
if test -z "$OPENSSL_DIR"; then AC_MSG_ERROR(Cannot find OpenSSL's <evp.h>) fi
old_CPPFLAGS=$CPPFLAGS CPPFLAGS=-I$OPENSSL_INC AC_MSG_CHECKING(for OpenSSL version) AC_EGREP_CPP(yes,[ #include <openssl/opensslv.h> #if OPENSSL_VERSION_NUMBER >= 0x0090500fL yes #endif ],[ AC_MSG_RESULT(>= 0.9.5) ],[ AC_MSG_ERROR(OpenSSL version 0.9.5 or greater required.) ]) CPPFLAGS=$old_CPPFLAGS
PHP_ADD_LIBPATH($OPENSSL_DIR/lib)
AC_CHECK_LIB(crypto, CRYPTO_free, [ PHP_ADD_LIBRARY(crypto) ],[ AC_MSG_ERROR(libcrypto not found!) ])
AC_CHECK_LIB(ssl, SSL_CTX_set_ssl_version, [ PHP_ADD_LIBRARY(ssl) ],[ AC_MSG_ERROR(libssl not found!) ]) PHP_ADD_INCLUDE($OPENSSL_INC)])
dnl PHP_EVAL_LIBLINE(LINE, SHARED-LIBADD)dnldnl Use this macro, if you need to add libraries and or library searchdnl paths to the PHP build system which are only given in compilerdnl notation.dnlAC_DEFUN(PHP_EVAL_LIBLINE,[ for ac_i in $1; do case $ac_i in -l*) ac_ii=`echo $ac_i|cut -c 3-` PHP_ADD_LIBRARY($ac_ii,,$2) ;; -L*) ac_ii=`echo $ac_i|cut -c 3-` PHP_ADD_LIBPATH($ac_ii,$2) ;; esac done])
dnl PHP_EVAL_INCLINE(LINE)dnldnl Use this macro, if you need to add header search paths to the PHPdnl build system which are only given in compiler notation.dnlAC_DEFUN(PHP_EVAL_INCLINE,[ for ac_i in $1; do case $ac_i in -I*) ac_ii=`echo $ac_i|cut -c 3-` PHP_ADD_INCLUDE($ac_ii) ;; esac done]) AC_DEFUN(PHP_READDIR_R_TYPE,[ dnl HAVE_READDIR_R is also defined by libmysql AC_CHECK_FUNC(readdir_r,ac_cv_func_readdir_r=yes,ac_cv_func_readdir=no) if test "$ac_cv_func_readdir_r" = "yes"; then AC_CACHE_CHECK(for type of readdir_r, ac_cv_what_readdir_r,[ AC_TRY_RUN([#define _REENTRANT#include <sys/types.h>#include <dirent.h>
#ifndef PATH_MAX#define PATH_MAX 1024#endif
main() { DIR *dir; char entry[sizeof(struct dirent)+PATH_MAX]; struct dirent *pentry = (struct dirent *) &entry;
dir = opendir("/"); if (!dir) exit(1); if (readdir_r(dir, (struct dirent *) entry, &pentry) == 0) exit(0); exit(1);} ],[ ac_cv_what_readdir_r=POSIX ],[ AC_TRY_CPP([#define _REENTRANT#include <sys/types.h>#include <dirent.h>int readdir_r(DIR *, struct dirent *); ],[ ac_cv_what_readdir_r=old-style ],[ ac_cv_what_readdir_r=none ]) ],[ ac_cv_what_readdir_r=none ]) ]) case $ac_cv_what_readdir_r in POSIX) AC_DEFINE(HAVE_POSIX_READDIR_R,1,[whether you have POSIX readdir_r]);; old-style) AC_DEFINE(HAVE_OLD_READDIR_R,1,[whether you have old-style readdir_r]);; esac fi])
AC_DEFUN(PHP_SHLIB_SUFFIX_NAME,[ PHP_SUBST(SHLIB_SUFFIX_NAME) SHLIB_SUFFIX_NAME=so case $host_alias in *hpux*) SHLIB_SUFFIX_NAME=sl ;; esac])
AC_DEFUN(PHP_DEBUG_MACRO,[ DEBUG_LOG=$1 cat >$1 <<XCONFIGURE: $CONFIGURE_COMMANDCC: $CCCFLAGS: $CFLAGSCPPFLAGS: $CPPFLAGSCXX: $CXXCXXFLAGS: $CXXFLAGSINCLUDES: $INCLUDESLDFLAGS: $LDFLAGSLIBS: $LIBSDLIBS: $DLIBSSAPI: $PHP_SAPIPHP_RPATHS: $PHP_RPATHSuname -a: `uname -a`
X cat >conftest.$ac_ext <<Xmain(){ exit(0);}X (eval echo \"$ac_link\"; eval $ac_link && ./conftest) >>$1 2>&1 rm -fr conftest*]) AC_DEFUN(PHP_MISSING_TIME_R_DECL,[ AC_MSG_CHECKING(for missing declarations of reentrant functions) AC_TRY_COMPILE([#include <time.h>],[struct tm *(*func)() = localtime_r],[ : ],[ AC_DEFINE(MISSING_LOCALTIME_R_DECL,1,[Whether localtime_r is declared]) ]) AC_TRY_COMPILE([#include <time.h>],[struct tm *(*func)() = gmtime_r],[ : ],[ AC_DEFINE(MISSING_GMTIME_R_DECL,1,[Whether gmtime_r is declared]) ]) AC_TRY_COMPILE([#include <time.h>],[char *(*func)() = asctime_r],[ : ],[ AC_DEFINE(MISSING_ASCTIME_R_DECL,1,[Whether asctime_r is declared]) ]) AC_TRY_COMPILE([#include <time.h>],[char *(*func)() = ctime_r],[ : ],[ AC_DEFINE(MISSING_CTIME_R_DECL,1,[Whether ctime_r is declared]) ]) AC_TRY_COMPILE([#include <string.h>],[char *(*func)() = strtok_r],[ : ],[ AC_DEFINE(MISSING_STRTOK_R_DECL,1,[Whether strtok_r is declared]) ]) AC_MSG_RESULT(done)])
dnldnl PHP_LIBGCC_LIBPATH(gcc)dnl Stores the location of libgcc in libgcc_libpathdnlAC_DEFUN(PHP_LIBGCC_LIBPATH,[ changequote({,}) libgcc_libpath=`$1 --print-libgcc-file-name|sed 's%/*[^/][^/]*$%%'` changequote([,])])
AC_DEFUN(PHP_ARG_ANALYZE,[case [$]$1 inshared,*) ext_output="yes, shared" ext_shared=yes $1=`echo "[$]$1"|sed 's/^shared,//'` ;;shared) ext_output="yes, shared" ext_shared=yes $1=yes ;;no) ext_output=no ext_shared=no ;;*) ext_output=yes ext_shared=no ;;esac
if test "$php_always_shared" = "yes"; then ext_output="yes, shared" ext_shared=yes test "[$]$1" = "no" && $1=yesfi
AC_MSG_RESULT($ext_output)])
dnldnl PHP_ARG_WITH(arg-name, check message, help text[, default-val])dnl Sets PHP_ARG_NAME either to the user value or to the default value.dnl default-val defaults to no. This will also set the variable ext_shared,dnl and will overwrite any previous variable of that name.dnlAC_DEFUN(PHP_ARG_WITH,[PHP_REAL_ARG_WITH([$1],[$2],[$3],[$4],PHP_[]translit($1,a-z0-9-,A-Z0-9_))])
AC_DEFUN(PHP_REAL_ARG_WITH,[AC_MSG_CHECKING($2)AC_ARG_WITH($1,[$3],$5=[$]withval,$5=ifelse($4,,no,$4))PHP_ARG_ANALYZE($5)])
dnldnl PHP_ARG_ENABLE(arg-name, check message, help text[, default-val])dnl Sets PHP_ARG_NAME either to the user value or to the default value.dnl default-val defaults to no. This will also set the variable ext_shared,dnl and will overwrite any previous variable of that name.dnlAC_DEFUN(PHP_ARG_ENABLE,[PHP_REAL_ARG_ENABLE([$1],[$2],[$3],[$4],PHP_[]translit($1,a-z-,A-Z_))])
AC_DEFUN(PHP_REAL_ARG_ENABLE,[AC_MSG_CHECKING($2)AC_ARG_ENABLE($1,[$3],$5=[$]enableval,$5=ifelse($4,,no,$4))PHP_ARG_ANALYZE($5)])
AC_DEFUN(PHP_MODULE_PTR,[ EXTRA_MODULE_PTRS="$EXTRA_MODULE_PTRS $1,"]) AC_DEFUN(PHP_CONFIG_NICE,[ rm -f $1 cat >$1<<EOF#! /bin/sh## Created by configure
EOF
for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS LIBS CC CXX; do eval val=\$$var if test -n "$val"; then echo "$var='$val' \\" >> $1 fi done
for arg in [$]0 "[$]@"; do echo "'[$]arg' \\" >> $1 done echo '"[$]@"' >> $1 chmod +x $1])
AC_DEFUN(PHP_TIME_R_TYPE,[AC_CACHE_CHECK(for type of reentrant time-related functions, ac_cv_time_r_type,[AC_TRY_RUN([#include <time.h>
main() {char buf[27];struct tm t;time_t old = 0;int r, s;
s = gmtime_r(&old, &t);r = (int) asctime_r(&t, buf, 26);if (r == s && s == 0) return (0);return (1);}],[ ac_cv_time_r_type=hpux],[ AC_TRY_RUN([#include <time.h>main() { struct tm t, *s; time_t old = 0; char buf[27], *p; s = gmtime_r(&old, &t); p = asctime_r(&t, buf, 26); if (p == buf && s == t) return (0); return (1);} ],[ ac_cv_time_r_type=irix ],[ ac_cv_time_r_type=POSIX ])],[ ac_cv_time_r_type=POSIX])]) case $ac_cv_time_r_type in hpux) AC_DEFINE(PHP_HPUX_TIME_R,1,[Whether you have HP-UX 10.x]) ;; irix) AC_DEFINE(PHP_IRIX_TIME_R,1,[Whether you have IRIX-style functions]) ;; esacfi])
AC_DEFUN(PHP_SUBST,[ PHP_VAR_SUBST="$PHP_VAR_SUBST $1"])
AC_DEFUN(PHP_SUBST_OLD,[ PHP_SUBST($1) AC_SUBST($1)])
AC_DEFUN(PHP_FAST_OUTPUT,[ PHP_FAST_OUTPUT_FILES="$PHP_FAST_OUTPUT_FILES $1"])
AC_DEFUN(PHP_MKDIR_P_CHECK,[ AC_CACHE_CHECK(for working mkdir -p, ac_cv_mkdir_p,[ test -d conftestdir && rm -rf conftestdir mkdir -p conftestdir/somedir >/dev/null 2>&1dnl `mkdir -p' must be quiet about creating existing directories mkdir -p conftestdir/somedir >/dev/null 2>&1 if test "$?" = "0" && test -d conftestdir/somedir; then ac_cv_mkdir_p=yes else ac_cv_mkdir_p=no fi rm -rf conftestdir ])])
AC_DEFUN(PHP_GEN_CONFIG_VARS,[ PHP_MKDIR_P_CHECK echo creating config_vars.mk > config_vars.mk for i in $PHP_VAR_SUBST; do eval echo "$i = \$$i" >> config_vars.mk done])
AC_DEFUN(PHP_GEN_MAKEFILES,[ $SHELL $srcdir/build/fastgen.sh $srcdir $ac_cv_mkdir_p $BSD_MAKEFILE $1])
AC_DEFUN(PHP_TM_GMTOFF,[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,1,[whether you have tm_gmtoff in struct tm])fi])
dnl PHP_CONFIGURE_PART(MESSAGE)dnl Idea borrowed from mmAC_DEFUN(PHP_CONFIGURE_PART,[ AC_MSG_RESULT() AC_MSG_RESULT(${T_MD}$1${T_ME})])
AC_DEFUN(PHP_PROG_SENDMAIL,[AC_PATH_PROG(PROG_SENDMAIL, sendmail,[], $PATH:/usr/bin:/usr/sbin:/usr/etc:/etc:/usr/ucblib:/usr/lib)if test -n "$PROG_SENDMAIL"; then AC_DEFINE(HAVE_SENDMAIL,1,[whether you have sendmail])fi])
AC_DEFUN(PHP_RUNPATH_SWITCH,[dnl check for -R, etc. switchAC_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=-Relse 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 fifi])
AC_DEFUN(PHP_STRUCT_FLOCK,[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 ]))if test "$ac_cv_struct_flock" = "yes" ; then AC_DEFINE(HAVE_STRUCT_FLOCK, 1,[whether you have struct flock])fi])
AC_DEFUN(PHP_SOCKLEN_T,[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_socklen_t" = "yes"; then AC_DEFINE(HAVE_SOCKLEN_T, 1, [Whether you have socklen_t])fi])
dnldnl PHP_SET_SYM_FILE(path)dnldnl set the path of the file which contains the symbol export listdnlAC_DEFUN(PHP_SET_SYM_FILE,[ PHP_SYM_FILE=$1])
dnldnl PHP_BUILD_THREAD_SAFEdnlAC_DEFUN(PHP_BUILD_THREAD_SAFE,[ enable_experimental_zts=yes if test "$pthreads_working" != "yes"; then AC_MSG_ERROR(ZTS currently requires working POSIX threads. We were unable to verify that your system supports Pthreads.) fi])
AC_DEFUN(PHP_REQUIRE_CXX,[ if test -z "$php_cxx_done"; then AC_PROG_CXX AC_PROG_CXXCPP php_cxx_done=yes fi])
dnldnl PHP_BUILD_SHAREDdnlAC_DEFUN(PHP_BUILD_SHARED,[ php_build_target=shared])
dnldnl PHP_BUILD_STATICdnlAC_DEFUN(PHP_BUILD_STATIC,[ php_build_target=static])
dnldnl PHP_BUILD_PROGRAMdnlAC_DEFUN(PHP_BUILD_PROGRAM,[ php_build_target=program])
dnldnl AC_PHP_ONCE(namespace, variable, code)dnldnl execute code, if variable is not set in namespacednlAC_DEFUN(AC_PHP_ONCE,[ changequote({,}) unique=`echo $2|sed 's/[^a-zA-Z0-9]/_/g'` changequote([,]) cmd="echo $ac_n \"\$$1$unique$ac_c\"" if test -n "$unique" && test "`eval $cmd`" = "" ; then eval "$1$unique=set" $3 fi])
dnldnl PHP_EXPAND_PATH(path, variable)dnldnl expands path to an absolute path and assigns it to variablednlAC_DEFUN(PHP_EXPAND_PATH,[ if test -z "$1" || echo "$1" | grep '^/' >/dev/null ; then $2=$1 else changequote({,}) ep_dir="`echo $1|sed 's%/*[^/][^/]*/*$%%'`" changequote([,]) ep_realdir="`(cd \"$ep_dir\" && pwd)`" $2="$ep_realdir/`basename \"$1\"`" fi])
dnldnl PHP_ADD_LIBPATH(path[, shared-libadd])dnldnl add a library to linkpath/runpathdnlAC_DEFUN(PHP_ADD_LIBPATH,[ if test "$1" != "/usr/lib"; then PHP_EXPAND_PATH($1, ai_p) if test "$ext_shared" = "yes" && test -n "$2"; then $2="-R$1 -L$1 [$]$2" else AC_PHP_ONCE(LIBPATH, $ai_p, [ test -n "$ld_runpath_switch" && LDFLAGS="$LDFLAGS $ld_runpath_switch$ai_p" LDFLAGS="$LDFLAGS -L$ai_p" PHP_RPATHS="$PHP_RPATHS $ai_p" ]) fi fi])
dnldnl PHP_BUILD_RPATH()dnldnl builds RPATH from PHP_RPATHSdnlAC_DEFUN(PHP_BUILD_RPATH,[ if test "$PHP_RPATH" = "yes" && test -n "$PHP_RPATHS"; then OLD_RPATHS="$PHP_RPATHS" unset PHP_RPATHS for i in $OLD_RPATHS; do PHP_LDFLAGS="$PHP_LDFLAGS -L$i" PHP_RPATHS="$PHP_RPATHS -R $i" NATIVE_RPATHS="$NATIVE_RPATHS $ld_runpath_switch$i" done fi])
dnldnl PHP_ADD_INCLUDE(path)dnldnl add a include pathdnlAC_DEFUN(PHP_ADD_INCLUDE,[ if test "$1" != "/usr/include"; then PHP_EXPAND_PATH($1, ai_p) AC_PHP_ONCE(INCLUDEPATH, $ai_p, [ INCLUDES="$INCLUDES -I$ai_p" ]) fi])
AC_DEFUN(PHP_X_ADD_LIBRARY,[ ifelse($2,,$3="-l$1 [$]$3", $3="[$]$3 -l$1")])
dnldnl PHP_ADD_LIBRARY(library[, append[, shared-libadd]])dnldnl add a library to the link linednlAC_DEFUN(PHP_ADD_LIBRARY,[ case $1 in c|c_r|pthread*) ;; *)ifelse($3,,[ PHP_X_ADD_LIBRARY($1,$2,LIBS)],[ if test "$ext_shared" = "yes"; then PHP_X_ADD_LIBRARY($1,$2,$3) else PHP_ADD_LIBRARY($1,$2) fi]) ;; esac])
dnldnl PHP_ADD_LIBRARY_DEFER(library[, append])dnldnl add a library to the link line (deferred)AC_DEFUN(PHP_ADD_LIBRARY_DEFER,[ ifelse($#, 1, DLIBS="-l$1 $DLIBS", DLIBS="$DLIBS -l$1")])
dnldnl PHP_ADD_LIBRARY_WITH_PATH(library, path[, shared-libadd])dnldnl add a library to the link line and path to linkpath/runpath.dnl if shared-libadd is not empty and $ext_shared is yes,dnl shared-libadd will be assigned the library informationdnlAC_DEFUN(PHP_ADD_LIBRARY_WITH_PATH,[ifelse($3,,[ if test -n "$2"; then PHP_ADD_LIBPATH($2) fi PHP_ADD_LIBRARY($1)],[ if test "$ext_shared" = "yes"; then $3="-l$1 [$]$3" if test -n "$2"; then PHP_ADD_LIBPATH($2,$3) fi else PHP_ADD_LIBRARY_WITH_PATH($1,$2) fi])])
dnldnl PHP_ADD_LIBRARY_DEFER_WITH_PATH(library, path)dnldnl add a library to the link line (deferred)dnl and path to linkpath/runpath (not deferred)dnlAC_DEFUN(PHP_ADD_LIBRARY_DEFER_WITH_PATH,[ PHP_ADD_LIBPATH($2) PHP_ADD_LIBRARY_DEFER($1)])
dnldnl Set libtool variablednlAC_DEFUN(AM_SET_LIBTOOL_VARIABLE,[ LIBTOOL='$(SHELL) $(top_builddir)/libtool $1'])
dnldnl Check for cc optiondnlAC_DEFUN(PHP_CHECK_CC_OPTION,[ echo "main(){return 0;}" > conftest.$ac_ext opt=$1 changequote({,}) var=`echo $opt|sed 's/[^a-zA-Z0-9]/_/g'` changequote([,]) AC_MSG_CHECKING([if compiler supports -$1 really]) ac_php_compile="${CC-cc} -$opt -o conftest $CFLAGS $CPPFLAGS conftest.$ac_ext 2>&1" if eval $ac_php_compile 2>&1 | egrep "$opt" > /dev/null 2>&1 ; then eval php_cc_$var=no AC_MSG_RESULT(no) else if eval ./conftest 2>/dev/null ; then eval php_cc_$var=yes AC_MSG_RESULT(yes) else eval php_cc_$var=no AC_MSG_RESULT(no) fi fi])
AC_DEFUN(PHP_REGEX,[
if test "$REGEX_TYPE" = "php"; then REGEX_LIB=regex/libregex.la REGEX_DIR=regex AC_DEFINE(HSREGEX,1,[ ]) AC_DEFINE(REGEX,1,[ ]) PHP_FAST_OUTPUT(regex/Makefile)elif test "$REGEX_TYPE" = "system"; then AC_DEFINE(REGEX,0,[ ])fi
AC_MSG_CHECKING(which regex library to use)AC_MSG_RESULT($REGEX_TYPE)
PHP_SUBST(REGEX_DIR)PHP_SUBST(REGEX_LIB)PHP_SUBST(HSREGEX)])
dnldnl See if we have broken header files like SunOS has.dnlAC_DEFUN(PHP_MISSING_FCLOSE_DECL,[ AC_MSG_CHECKING([for fclose declaration]) AC_TRY_COMPILE([#include <stdio.h>],[int (*func)() = fclose],[ AC_DEFINE(MISSING_FCLOSE_DECL,0,[ ]) AC_MSG_RESULT(ok) ],[ AC_DEFINE(MISSING_FCLOSE_DECL,1,[ ]) AC_MSG_RESULT(missing) ])])
dnldnl Check for broken sprintf()dnlAC_DEFUN(PHP_AC_BROKEN_SPRINTF,[ AC_CACHE_CHECK(whether sprintf is broken, ac_cv_broken_sprintf,[ AC_TRY_RUN([main() {char buf[20];exit(sprintf(buf,"testing 123")!=11); }],[ ac_cv_broken_sprintf=no ],[ ac_cv_broken_sprintf=yes ],[ ac_cv_broken_sprintf=no ]) ]) if test "$ac_cv_broken_sprintf" = "yes"; then AC_DEFINE(PHP_BROKEN_SPRINTF, 1, [ ]) else AC_DEFINE(PHP_BROKEN_SPRINTF, 0, [ ]) fi])
dnldnl PHP_EXTENSION(extname [, shared])dnldnl Includes an extension in the build.dnldnl "extname" is the name of the ext/ subdir where the extension residesdnl "shared" can be set to "shared" or "yes" to build the extension asdnl a dynamically loadable library.dnlAC_DEFUN(PHP_EXTENSION,[ EXT_SUBDIRS="$EXT_SUBDIRS $1" if test -d "$abs_srcdir/ext/$1"; thendnl ---------------------------------------------- Internal Module ext_builddir=ext/$1 ext_srcdir=$abs_srcdir/ext/$1 elsednl ---------------------------------------------- External Module ext_builddir=. ext_srcdir=$abs_srcdir fi
if test "$2" != "shared" && test "$2" != "yes"; thendnl ---------------------------------------------- Static module LIB_BUILD($ext_builddir) EXT_LTLIBS="$EXT_LTLIBS $ext_builddir/lib$1.la" EXT_STATIC="$EXT_STATIC $1" else dnl ---------------------------------------------- Shared module LIB_BUILD($ext_builddir,yes) AC_DEFINE_UNQUOTED([COMPILE_DL_]translit($1,a-z-,A-Z_), 1, Whether to build $1 as dynamic module) fi
PHP_FAST_OUTPUT($ext_builddir/Makefile)])
PHP_SUBST(EXT_SUBDIRS)PHP_SUBST(EXT_STATIC)PHP_SUBST(EXT_SHARED)PHP_SUBST(EXT_LIBS)PHP_SUBST(EXT_LTLIBS)
dnldnl Solaris requires main code to be position independent in orderdnl to let shared objects find symbols. Weird. Ugly.dnldnl Must be run after all --with-NN options that let the userdnl choose dynamic extensions, and after the gcc test.dnlAC_DEFUN(PHP_SOLARIS_PIC_WEIRDNESS,[ AC_MSG_CHECKING(whether -fPIC is required) if test -n "$EXT_SHARED"; then os=`uname -sr 2>/dev/null` case $os in "SunOS 5.6"|"SunOS 5.7") case $CC in gcc*|egcs*) CFLAGS="$CFLAGS -fPIC";; *) CFLAGS="$CFLAGS -fpic";; esac AC_MSG_RESULT(yes);; *) AC_MSG_RESULT(no);; esac else AC_MSG_RESULT(no) fi])
dnldnl Checks whether $withval is "shared" or starts with "shared,XXX"dnl and sets $shared to "yes" or "no", and removes "shared,?" stuffdnl from $withval.dnlAC_DEFUN(PHP_WITH_SHARED,[ case $withval in shared) shared=yes withval=yes ;; shared,*) shared=yes withval=`echo $withval | sed -e 's/^shared,//'` ;; *) shared=no ;; esac if test -n "$php_always_shared"; then shared=yes fi])
dnl The problem is that the default compilation flags in Solaris 2.6 won'tdnl let programs access large files; you need to tell the compiler thatdnl you actually want your programs to work on large files. For morednl details about this brain damage please see:dnl http://www.sas.com/standards/large.file/x_open.20Mar96.html
dnl Written by Paul Eggert <eggert@twinsun.com>.
AC_DEFUN(PHP_SYS_LFS,[dnl # If available, prefer support for large files unless the user specified # one of the CPPFLAGS, LDFLAGS, or LIBS variables. AC_MSG_CHECKING(whether large file support needs explicit enabling) ac_getconfs='' ac_result=yes ac_set='' ac_shellvars='CPPFLAGS LDFLAGS LIBS' for ac_shellvar in $ac_shellvars; do case $ac_shellvar in CPPFLAGS) ac_lfsvar=LFS_CFLAGS ;; *) ac_lfsvar=LFS_$ac_shellvar ;; esac eval test '"${'$ac_shellvar'+set}"' = set && ac_set=$ac_shellvar (getconf $ac_lfsvar) >/dev/null 2>&1 || { ac_result=no; break; } ac_getconf=`getconf $ac_lfsvar` ac_getconfs=$ac_getconfs$ac_getconf eval ac_test_$ac_shellvar=\$ac_getconf done case "$ac_result$ac_getconfs" in yes) ac_result=no ;; esac case "$ac_result$ac_set" in yes?*) ac_result="yes, but $ac_set is already set, so use its settings" esac AC_MSG_RESULT($ac_result) case $ac_result in yes) for ac_shellvar in $ac_shellvars; do eval $ac_shellvar=\$ac_test_$ac_shellvar done ;; esac])
AC_DEFUN(PHP_SOCKADDR_SA_LEN,[ AC_CACHE_CHECK([for field sa_len in struct sockaddr],ac_cv_sockaddr_sa_len,[ AC_TRY_COMPILE([#include <sys/types.h>#include <sys/socket.h>], [struct sockaddr s; s.sa_len;], [ac_cv_sockaddr_sa_len=yes AC_DEFINE(HAVE_SOCKADDR_SA_LEN,1,[ ])], [ac_cv_sockaddr_sa_len=no]) ])])
dnl ## PHP_OUTPUT(file)dnl ## adds "file" to the list of files generated by AC_OUTPUTdnl ## This macro can be used several times.AC_DEFUN(PHP_OUTPUT,[ PHP_OUTPUT_FILES="$PHP_OUTPUT_FILES $1"])
AC_DEFUN(PHP_DECLARED_TIMEZONE,[ AC_CACHE_CHECK(for declared timezone, ac_cv_declared_timezone,[ AC_TRY_COMPILE([#include <sys/types.h>#include <time.h>#ifdef HAVE_SYS_TIME_H#include <sys/time.h>#endif],[ time_t foo = (time_t) timezone;],[ ac_cv_declared_timezone=yes],[ ac_cv_declared_timezone=no])]) if test "$ac_cv_declared_timezone" = "yes"; then AC_DEFINE(HAVE_DECLARED_TIMEZONE, 1, [Whether system headers declare timezone]) fi])
AC_DEFUN(PHP_EBCDIC,[ AC_CACHE_CHECK([whether system uses EBCDIC],ac_cv_ebcdic,[ AC_TRY_RUN( [int main(void) { return (unsigned char)'A' != (unsigned char)0xC1; } ],[ ac_cv_ebcdic=yes],[ ac_cv_ebcdic=no],[ ac_cv_ebcdic=no])]) if test "$ac_cv_ebcdic" = "yes"; then AC_DEFINE(CHARSET_EBCDIC,1, [Define if system uses EBCDIC]) fi])
AC_DEFUN(PHP_FOPENCOOKIE,[ AC_CHECK_FUNC(fopencookie, [ have_glibc_fopencookie=yes ])
if test "$have_glibc_fopencookie" = "yes" ; then dnl this comes in two flavors: dnl newer glibcs (since 2.1.2 ? ) dnl have a type called cookie_io_functions_t AC_TRY_COMPILE([ #define _GNU_SOURCE #include <stdio.h> ], [ cookie_io_functions_t cookie; ], [ have_cookie_io_functions_t=yes ], [ ] )
if test "$have_cookie_io_functions_t" = "yes" ; then cookie_io_functions_t=cookie_io_functions_t have_fopen_cookie=yes else dnl older glibc versions (up to 2.1.2 ?) dnl call it _IO_cookie_io_functions_t AC_TRY_COMPILE([ #define _GNU_SOURCE #include <stdio.h> ], [ _IO_cookie_io_functions_t cookie; ], [ have_IO_cookie_io_functions_t=yes ], [] ) if test "$have_cookie_io_functions_t" = "yes" ; then cookie_io_functions_t=_IO_cookie_io_functions_t have_fopen_cookie=yes fi fi
if test "$have_fopen_cookie" = "yes" ; then AC_DEFINE(HAVE_FOPENCOOKIE, 1, [ ]) AC_DEFINE_UNQUOTED(COOKIE_IO_FUNCTIONS_T, $cookie_io_functions_t, [ ]) fi
fi])
|