diff options
Diffstat (limited to 'tests/lib/xhprof-0.9.2/extension/acinclude.m4')
-rwxr-xr-x | tests/lib/xhprof-0.9.2/extension/acinclude.m4 | 2884 |
1 files changed, 0 insertions, 2884 deletions
diff --git a/tests/lib/xhprof-0.9.2/extension/acinclude.m4 b/tests/lib/xhprof-0.9.2/extension/acinclude.m4 deleted file mode 100755 index d04b9b2010..0000000000 --- a/tests/lib/xhprof-0.9.2/extension/acinclude.m4 +++ /dev/null @@ -1,2884 +0,0 @@ -dnl -dnl $Id: acinclude.m4 308352 2011-02-15 08:28:22Z pajoye $ -dnl -dnl This file contains local autoconf functions. -dnl - -dnl ------------------------------------------------------------------------- -dnl Output stylize macros for configure (help/runtime) -dnl ------------------------------------------------------------------------- - -dnl -dnl PHP_HELP_SEPARATOR(title) -dnl -dnl Adds separator title into the configure --help display. -dnl -AC_DEFUN([PHP_HELP_SEPARATOR],[ -AC_ARG_ENABLE([],[ -$1 -],[]) -]) - -dnl -dnl PHP_CONFIGURE_PART(title) -dnl -dnl Adds separator title configure output (idea borrowed from mm) -dnl -AC_DEFUN([PHP_CONFIGURE_PART],[ - AC_MSG_RESULT() - AC_MSG_RESULT([${T_MD}$1${T_ME}]) -]) - -dnl ------------------------------------------------------------------------- -dnl Build system helper macros -dnl ------------------------------------------------------------------------- - -dnl -dnl PHP_DEF_HAVE(what) -dnl -dnl Generates 'AC_DEFINE(HAVE_WHAT, 1, [ ])' -dnl -AC_DEFUN([PHP_DEF_HAVE],[AC_DEFINE([HAVE_]translit($1,a-z_.-,A-Z___), 1, [ ])]) - -dnl -dnl PHP_RUN_ONCE(namespace, variable, code) -dnl -dnl execute code, if variable is not set in namespace -dnl -AC_DEFUN([PHP_RUN_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 -]) - -dnl -dnl PHP_EXPAND_PATH(path, variable) -dnl -dnl expands path to an absolute path and assigns it to variable -dnl -AC_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 -]) - -dnl -dnl PHP_DEFINE(WHAT [, value[, directory]]) -dnl -dnl Creates builddir/include/what.h and in there #define WHAT value -dnl -AC_DEFUN([PHP_DEFINE],[ - [echo "#define ]$1[]ifelse([$2],,[ 1],[ $2])[" > ]ifelse([$3],,[include],[$3])[/php_]translit($1,A-Z,a-z)[.h] -]) - -dnl -dnl PHP_SUBST(varname) -dnl -dnl Adds variable with it's value into Makefile, e.g.: -dnl CC = gcc -dnl -AC_DEFUN([PHP_SUBST],[ - PHP_VAR_SUBST="$PHP_VAR_SUBST $1" -]) - -dnl -dnl PHP_SUBST_OLD(varname) -dnl -dnl Same as PHP_SUBST() but also substitutes all @VARNAME@ -dnl instances in every file passed to AC_OUTPUT() -dnl -AC_DEFUN([PHP_SUBST_OLD],[ - PHP_SUBST($1) - AC_SUBST($1) -]) - -dnl -dnl PHP_OUTPUT(file) -dnl -dnl Adds "file" to the list of files generated by AC_OUTPUT -dnl This macro can be used several times. -dnl -AC_DEFUN([PHP_OUTPUT],[ - PHP_OUTPUT_FILES="$PHP_OUTPUT_FILES $1" -]) - - -dnl ------------------------------------------------------------------------- -dnl Build system base macros -dnl ------------------------------------------------------------------------- - -dnl -dnl PHP_CANONICAL_HOST_TARGET -dnl -AC_DEFUN([PHP_CANONICAL_HOST_TARGET],[ - AC_REQUIRE([AC_CANONICAL_HOST])dnl - AC_REQUIRE([AC_CANONICAL_TARGET])dnl - dnl Make sure we do not continue if host_alias is empty. - if test -z "$host_alias" && test -n "$host"; then - host_alias=$host - fi - if test -z "$host_alias"; then - AC_MSG_ERROR([host_alias is not set!]) - fi -]) - -dnl -dnl PHP_INIT_BUILD_SYSTEM -dnl -AC_DEFUN([PHP_INIT_BUILD_SYSTEM],[ -AC_REQUIRE([PHP_CANONICAL_HOST_TARGET])dnl -test -d include || $php_shtool mkdir include -> Makefile.objects -> Makefile.fragments -dnl We need to play tricks here to avoid matching the grep line itself -pattern=define -$EGREP $pattern'.*include/php' $srcdir/configure|$SED 's/.*>//'|xargs touch 2>/dev/null -]) - -dnl -dnl PHP_GEN_GLOBAL_MAKEFILE -dnl -dnl Generates the global makefile. -dnl -AC_DEFUN([PHP_GEN_GLOBAL_MAKEFILE],[ - cat >Makefile <<EOF -srcdir = $abs_srcdir -builddir = $abs_builddir -top_srcdir = $abs_srcdir -top_builddir = $abs_builddir -EOF - for i in $PHP_VAR_SUBST; do - eval echo "$i = \$$i" >> Makefile - done - - cat $abs_srcdir/Makefile.global Makefile.fragments Makefile.objects >> Makefile -]) - -dnl -dnl PHP_ADD_MAKEFILE_FRAGMENT([srcfile [, ext_srcdir [, ext_builddir]]]) -dnl -dnl Processes a file called Makefile.frag in the source directory -dnl of the most recently added extension. $(srcdir) and $(builddir) -dnl are substituted with the proper paths. Can be used to supply -dnl custom rules and/or additional targets. -dnl -AC_DEFUN([PHP_ADD_MAKEFILE_FRAGMENT],[ - ifelse($1,,src=$ext_srcdir/Makefile.frag,src=$1) - ifelse($2,,ac_srcdir=$ext_srcdir,ac_srcdir=$2) - ifelse($3,,ac_builddir=$ext_builddir,ac_builddir=$3) - test -f "$src" && $SED -e "s#\$(srcdir)#$ac_srcdir#g" -e "s#\$(builddir)#$ac_builddir#g" $src >> Makefile.fragments -]) - -dnl -dnl PHP_ADD_SOURCES(source-path, sources [, special-flags [, type]]) -dnl -dnl Adds sources which are located relative to source-path to the -dnl array of type type. Sources are processed with optional -dnl special-flags which are passed to the compiler. Sources -dnl can be either written in C or C++ (filenames shall end in .c -dnl or .cpp, respectively). -dnl -dnl Note: If source-path begins with a "/", the "/" is removed and -dnl the path is interpreted relative to the top build-directory. -dnl -dnl which array to append to? -AC_DEFUN([PHP_ADD_SOURCES],[ - PHP_ADD_SOURCES_X($1, $2, $3, ifelse($4,cli,PHP_CLI_OBJS,ifelse($4,sapi,PHP_SAPI_OBJS,PHP_GLOBAL_OBJS))) -]) - -dnl -dnl _PHP_ASSIGN_BUILD_VARS(type) -dnl internal, don't use -AC_DEFUN([_PHP_ASSIGN_BUILD_VARS],[ -ifelse($1,shared,[ - b_c_pre=$shared_c_pre - b_cxx_pre=$shared_cxx_pre - b_c_meta=$shared_c_meta - b_cxx_meta=$shared_cxx_meta - b_c_post=$shared_c_post - b_cxx_post=$shared_cxx_post -],[ - b_c_pre=$php_c_pre - b_cxx_pre=$php_cxx_pre - b_c_meta=$php_c_meta - b_cxx_meta=$php_cxx_meta - b_c_post=$php_c_post - b_cxx_post=$php_cxx_post -])dnl - b_lo=[$]$1_lo -]) - -dnl -dnl PHP_ADD_SOURCES_X(source-path, sources[, special-flags[, target-var[, shared[, special-post-flags]]]]) -dnl -dnl Additional to PHP_ADD_SOURCES (see above), this lets you set the -dnl name of the array target-var directly, as well as whether -dnl shared objects will be built from the sources. -dnl -dnl Should not be used directly. -dnl -AC_DEFUN([PHP_ADD_SOURCES_X],[ -dnl relative to source- or build-directory? -dnl ac_srcdir/ac_bdir include trailing slash - case $1 in - ""[)] ac_srcdir="$abs_srcdir/"; unset ac_bdir; ac_inc="-I. -I$abs_srcdir" ;; - /*[)] ac_srcdir=`echo "$1"|cut -c 2-`"/"; ac_bdir=$ac_srcdir; ac_inc="-I$ac_bdir -I$abs_srcdir/$ac_bdir" ;; - *[)] ac_srcdir="$abs_srcdir/$1/"; ac_bdir="$1/"; ac_inc="-I$ac_bdir -I$ac_srcdir" ;; - esac - -dnl how to build .. shared or static? - ifelse($5,yes,_PHP_ASSIGN_BUILD_VARS(shared),_PHP_ASSIGN_BUILD_VARS(php)) - -dnl iterate over the sources - old_IFS=[$]IFS - for ac_src in $2; do - -dnl remove the suffix - IFS=. - set $ac_src - ac_obj=[$]1 - IFS=$old_IFS - -dnl append to the array which has been dynamically chosen at m4 time - $4="[$]$4 [$]ac_bdir[$]ac_obj.lo" - -dnl choose the right compiler/flags/etc. for the source-file - case $ac_src in - *.c[)] ac_comp="$b_c_pre $3 $ac_inc $b_c_meta -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $6$b_c_post" ;; - *.s[)] ac_comp="$b_c_pre $3 $ac_inc $b_c_meta -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $6$b_c_post" ;; - *.S[)] ac_comp="$b_c_pre $3 $ac_inc $b_c_meta -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $6$b_c_post" ;; - *.cpp|*.cc|*.cxx[)] ac_comp="$b_cxx_pre $3 $ac_inc $b_cxx_meta -c $ac_srcdir$ac_src -o $ac_bdir$ac_obj.$b_lo $6$b_cxx_post" ;; - esac - -dnl create a rule for the object/source combo - cat >>Makefile.objects<<EOF -$ac_bdir[$]ac_obj.lo: $ac_srcdir[$]ac_src - $ac_comp -EOF - done -]) - -dnl ------------------------------------------------------------------------- -dnl Compiler characteristics checks -dnl ------------------------------------------------------------------------- - -dnl -dnl PHP_TARGET_RDYNAMIC -dnl -dnl Checks whether -rdynamic is supported by the compiler. This -dnl is necessary for some targets to populate the global symbol -dnl table. Otherwise, dynamic modules would not be able to resolve -dnl PHP-related symbols. -dnl -dnl If successful, adds -rdynamic to PHP_LDFLAGS. -dnl -AC_DEFUN([PHP_TARGET_RDYNAMIC],[ - if test -n "$GCC"; then - dnl we should use a PHP-specific macro here - PHP_CHECK_GCC_ARG(-rdynamic, gcc_rdynamic=yes) - if test "$gcc_rdynamic" = "yes"; then - PHP_LDFLAGS="$PHP_LDFLAGS -rdynamic" - fi - fi -]) - -dnl -dnl PHP_RUNPATH_SWITCH -dnl -dnl Checks for -R, etc. switch -dnl -AC_DEFUN([PHP_RUNPATH_SWITCH],[ -AC_MSG_CHECKING([if compiler supports -R]) -AC_CACHE_VAL(php_cv_cc_dashr,[ - SAVE_LIBS=$LIBS - LIBS="-R /usr/$PHP_LIBDIR $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/$PHP_LIBDIR $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 -if test "$PHP_RPATH" = "no"; then - ld_runpath_switch= -fi -]) - -dnl -dnl PHP_CHECK_GCC_ARG(arg, action-if-found, action-if-not-found) -dnl -AC_DEFUN([PHP_CHECK_GCC_ARG],[ - gcc_arg_name=[ac_cv_gcc_arg]translit($1,A-Z-,a-z_) - AC_CACHE_CHECK([whether $CC supports $1], [ac_cv_gcc_arg]translit($1,A-Z-,a-z_), [ - echo 'void somefunc() { };' > conftest.c - cmd='$CC $1 -c conftest.c' - if eval $cmd 2>&1 | $EGREP -e $1 >/dev/null ; then - ac_result=no - else - ac_result=yes - fi - eval $gcc_arg_name=$ac_result - rm -f conftest.* - ]) - if eval test "\$$gcc_arg_name" = "yes"; then - $2 - else - : - $3 - fi -]) - -dnl -dnl PHP_LIBGCC_LIBPATH(gcc) -dnl -dnl Stores the location of libgcc in libgcc_libpath -dnl -AC_DEFUN([PHP_LIBGCC_LIBPATH],[ - changequote({,}) - libgcc_libpath=`$1 --print-libgcc-file-name|$SED 's%/*[^/][^/]*$%%'` - changequote([,]) -]) - -dnl ------------------------------------------------------------------------- -dnl Macros to modify LIBS, INCLUDES, etc. variables -dnl ------------------------------------------------------------------------- - -dnl -dnl PHP_REMOVE_USR_LIB(NAME) -dnl -dnl Removes all -L/usr/$PHP_LIBDIR entries from variable NAME -dnl -AC_DEFUN([PHP_REMOVE_USR_LIB],[ - unset ac_new_flags - for i in [$]$1; do - case [$]i in - -L/usr/$PHP_LIBDIR|-L/usr/$PHP_LIBDIR/[)] ;; - *[)] ac_new_flags="[$]ac_new_flags [$]i" ;; - esac - done - $1=[$]ac_new_flags -]) - -dnl -dnl PHP_EVAL_LIBLINE(libline, SHARED-LIBADD) -dnl -dnl Use this macro, if you need to add libraries and or library search -dnl paths to the PHP build system which are only given in compiler -dnl notation. -dnl -AC_DEFUN([PHP_EVAL_LIBLINE],[ - for ac_i in $1; do - case $ac_i in - -pthread[)] - if test "$ext_shared" = "yes"; then - $2="[$]$2 -pthread" - else - PHP_RUN_ONCE(EXTRA_LDFLAGS, [$ac_i], [EXTRA_LDFLAGS="$EXTRA_LDFLAGS $ac_i"]) - fi - ;; - -l*[)] - ac_ii=`echo $ac_i|cut -c 3-` - PHP_ADD_LIBRARY($ac_ii,1,$2) - ;; - -L*[)] - ac_ii=`echo $ac_i|cut -c 3-` - PHP_ADD_LIBPATH($ac_ii,$2) - ;; - esac - done -]) - -dnl -dnl PHP_EVAL_INCLINE(headerline) -dnl -dnl Use this macro, if you need to add header search paths to the PHP -dnl build system which are only given in compiler notation. -dnl -AC_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 -]) - -dnl internal, don't use -AC_DEFUN([_PHP_ADD_LIBPATH_GLOBAL],[ - PHP_RUN_ONCE(LIBPATH, $1, [ - test -n "$ld_runpath_switch" && LDFLAGS="$LDFLAGS $ld_runpath_switch$1" - LDFLAGS="$LDFLAGS -L$1" - PHP_RPATHS="$PHP_RPATHS $1" - ]) -])dnl -dnl -dnl -dnl PHP_ADD_LIBPATH(path [, SHARED-LIBADD]) -dnl -dnl Adds a path to linkpath/runpath (LDFLAGS) -dnl -AC_DEFUN([PHP_ADD_LIBPATH],[ - if test "$1" != "/usr/$PHP_LIBDIR" && test "$1" != "/usr/lib"; then - PHP_EXPAND_PATH($1, ai_p) - ifelse([$2],,[ - _PHP_ADD_LIBPATH_GLOBAL([$ai_p]) - ],[ - if test "$ext_shared" = "yes"; then - $2="-L$ai_p [$]$2" - test -n "$ld_runpath_switch" && $2="$ld_runpath_switch$ai_p [$]$2" - else - _PHP_ADD_LIBPATH_GLOBAL([$ai_p]) - fi - ]) - fi -]) - -dnl -dnl PHP_UTILIZE_RPATHS() -dnl -dnl builds RPATHS/LDFLAGS from PHP_RPATHS -dnl -AC_DEFUN([PHP_UTILIZE_RPATHS],[ - OLD_RPATHS=$PHP_RPATHS - unset PHP_RPATHS - - for i in $OLD_RPATHS; do -dnl Can be passed to native cc/libtool - PHP_LDFLAGS="$PHP_LDFLAGS -L$i" -dnl Libtool-specific - PHP_RPATHS="$PHP_RPATHS -R $i" -dnl cc-specific - NATIVE_RPATHS="$NATIVE_RPATHS $ld_runpath_switch$i" - done - - if test "$PHP_RPATH" = "no"; then - unset PHP_RPATHS - unset NATIVE_RPATHS - fi -]) - -dnl -dnl PHP_ADD_INCLUDE(path [,before]) -dnl -dnl add an include path. -dnl if before is 1, add in the beginning of INCLUDES. -dnl -AC_DEFUN([PHP_ADD_INCLUDE],[ - if test "$1" != "/usr/include"; then - PHP_EXPAND_PATH($1, ai_p) - PHP_RUN_ONCE(INCLUDEPATH, $ai_p, [ - if test "$2"; then - INCLUDES="-I$ai_p $INCLUDES" - else - INCLUDES="$INCLUDES -I$ai_p" - fi - ]) - fi -]) - -dnl internal, don't use -AC_DEFUN([_PHP_X_ADD_LIBRARY],[dnl - ifelse([$2],,$3="-l$1 [$]$3", $3="[$]$3 -l$1") dnl -])dnl -dnl -dnl internal, don't use -AC_DEFUN([_PHP_ADD_LIBRARY_SKELETON],[ - case $1 in - c|c_r|pthread*[)] ;; - *[)] ifelse($3,,[ - _PHP_X_ADD_LIBRARY($1,$2,$5) - ],[ - if test "$ext_shared" = "yes"; then - _PHP_X_ADD_LIBRARY($1,$2,$3) - else - $4($1,$2) - fi - ]) ;; - esac -])dnl -dnl -dnl -dnl PHP_ADD_LIBRARY(library[, append[, shared-libadd]]) -dnl -dnl add a library to the link line -dnl -AC_DEFUN([PHP_ADD_LIBRARY],[ - _PHP_ADD_LIBRARY_SKELETON([$1],[$2],[$3],[PHP_ADD_LIBRARY],[LIBS]) -]) - -dnl -dnl PHP_ADD_LIBRARY_DEFER(library[, append[, shared-libadd]]) -dnl -dnl add a library to the link line (deferred, not used during configure) -dnl -AC_DEFUN([PHP_ADD_LIBRARY_DEFER],[ - _PHP_ADD_LIBRARY_SKELETON([$1],[$2],[$3],[PHP_ADD_LIBRARY_DEFER],[DLIBS]) -]) - -dnl -dnl PHP_ADD_LIBRARY_WITH_PATH(library, path[, shared-libadd]) -dnl -dnl 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 information -dnl -AC_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 -]) -]) - -dnl -dnl PHP_ADD_LIBRARY_DEFER_WITH_PATH(library, path[, shared-libadd]) -dnl -dnl add a library to the link line (deferred) -dnl and path to linkpath/runpath (not deferred) -dnl if shared-libadd is not empty and $ext_shared is yes, -dnl shared-libadd will be assigned the library information -dnl -AC_DEFUN([PHP_ADD_LIBRARY_DEFER_WITH_PATH],[ -ifelse($3,,[ - if test -n "$2"; then - PHP_ADD_LIBPATH($2) - fi - PHP_ADD_LIBRARY_DEFER($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_DEFER_WITH_PATH($1,$2) - fi -]) -]) - -dnl -dnl PHP_ADD_FRAMEWORK(framework [,before]) -dnl -dnl add a (Darwin / Mac OS X) framework to the link -dnl line. if before is 1, the framework is added -dnl to the beginning of the line. -dnl -AC_DEFUN([PHP_ADD_FRAMEWORK], [ - PHP_RUN_ONCE(FRAMEWORKS, $1, [ - if test "$2"; then - PHP_FRAMEWORKS="-framework $1 $PHP_FRAMEWORKS" - else - PHP_FRAMEWORKS="$PHP_FRAMEWORKS -framework $1" - fi - ]) -]) - -dnl -dnl PHP_ADD_FRAMEWORKPATH(path [,before]) -dnl -dnl add a (Darwin / Mac OS X) framework path to the link -dnl and include lines. default paths include (but are -dnl not limited to) /Local/Library/Frameworks and -dnl /System/Library/Frameworks, so these don't need -dnl to be specifically added. if before is 1, the -dnl framework path is added to the beginning of the -dnl relevant lines. -dnl -AC_DEFUN([PHP_ADD_FRAMEWORKPATH], [ - PHP_EXPAND_PATH($1, ai_p) - PHP_RUN_ONCE(FRAMEWORKPATH, $ai_p, [ - if test "$2"; then - PHP_FRAMEWORKPATH="-F$ai_p $PHP_FRAMEWORKPATH" - else - PHP_FRAMEWORKPATH="$PHP_FRAMEWORKPATH -F$ai_p" - fi - ]) -]) - -dnl -dnl PHP_ADD_FRAMEWORK_WITH_PATH(framework, path) -dnl -dnl Adds a (Darwin / Mac OS X) framework path and the -dnl framework itself to the link and include lines. -dnl -AC_DEFUN([PHP_ADD_FRAMEWORK_WITH_PATH], [ - PHP_ADD_FRAMEWORKPATH($2) - PHP_ADD_FRAMEWORK($1) -]) - -dnl -dnl PHP_SET_LIBTOOL_VARIABLE(var) -dnl -dnl Set libtool variable -dnl -AC_DEFUN([PHP_SET_LIBTOOL_VARIABLE],[ - if test -z "$LIBTOOL"; then - LIBTOOL='$(SHELL) $(top_builddir)/libtool $1' - else - LIBTOOL="$LIBTOOL $1" - fi -]) - -dnl ------------------------------------------------------------------------- -dnl Wrapper macros for AC_ARG_WITH / AC_ARG_ENABLE -dnl ------------------------------------------------------------------------- - -dnl PHP_ARG_ANALYZE_EX -dnl internal -AC_DEFUN([PHP_ARG_ANALYZE_EX],[ -ext_output="yes, shared" -ext_shared=yes -case [$]$1 in -shared,*[)] - $1=`echo "[$]$1"|$SED 's/^shared,//'` - ;; -shared[)] - $1=yes - ;; -no[)] - ext_output=no - ext_shared=no - ;; -*[)] - ext_output=yes - ext_shared=no - ;; -esac - -PHP_ALWAYS_SHARED([$1]) -]) - -dnl PHP_ARG_ANALYZE -dnl internal -AC_DEFUN([PHP_ARG_ANALYZE],[ -ifelse([$3],yes,[PHP_ARG_ANALYZE_EX([$1])],[ext_output=ifelse([$]$1,,no,[$]$1)]) -ifelse([$2],,,[AC_MSG_RESULT([$ext_output])]) -]) - -dnl -dnl PHP_ARG_WITH(arg-name, check message, help text[, default-val[, extension-or-not]]) -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. -dnl If extension-or-not is yes (default), then do the ENABLE_ALL check and run -dnl the PHP_ARG_ANALYZE_EX. -dnl -AC_DEFUN([PHP_ARG_WITH],[ -php_with_[]translit($1,A-Z0-9-,a-z0-9_)=ifelse($4,,no,$4) -PHP_REAL_ARG_WITH([$1],[$2],[$3],[$4],PHP_[]translit($1,a-z0-9-,A-Z0-9_),[ifelse($5,,yes,$5)]) -]) - -dnl PHP_REAL_ARG_WITH -dnl internal -AC_DEFUN([PHP_REAL_ARG_WITH],[ -ifelse([$2],,,[AC_MSG_CHECKING([$2])]) -AC_ARG_WITH($1,[$3],$5=[$]withval, -[ - $5=ifelse($4,,no,$4) - ifelse($6,yes,[test "$PHP_ENABLE_ALL" && $5=$PHP_ENABLE_ALL]) -]) -PHP_ARG_ANALYZE($5,[$2],$6) -]) - -dnl -dnl PHP_ARG_ENABLE(arg-name, check message, help text[, default-val[, extension-or-not]]) -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. -dnl If extension-or-not is yes (default), then do the ENABLE_ALL check and run -dnl the PHP_ARG_ANALYZE_EX. -dnl -AC_DEFUN([PHP_ARG_ENABLE],[ -php_enable_[]translit($1,A-Z0-9-,a-z0-9_)=ifelse($4,,no,$4) -PHP_REAL_ARG_ENABLE([$1],[$2],[$3],[$4],PHP_[]translit($1,a-z0-9-,A-Z0-9_),[ifelse($5,,yes,$5)]) -]) - -dnl PHP_REAL_ARG_ENABLE -dnl internal -AC_DEFUN([PHP_REAL_ARG_ENABLE],[ -ifelse([$2],,,[AC_MSG_CHECKING([$2])]) -AC_ARG_ENABLE($1,[$3],$5=[$]enableval, -[ - $5=ifelse($4,,no,$4) - ifelse($6,yes,[test "$PHP_ENABLE_ALL" && $5=$PHP_ENABLE_ALL]) -]) -PHP_ARG_ANALYZE($5,[$2],$6) -]) - -dnl ------------------------------------------------------------------------- -dnl Build macros -dnl ------------------------------------------------------------------------- - -dnl -dnl PHP_BUILD_THREAD_SAFE -dnl -AC_DEFUN([PHP_BUILD_THREAD_SAFE],[ - enable_maintainer_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 -]) - -dnl -dnl PHP_REQUIRE_CXX -dnl -AC_DEFUN([PHP_REQUIRE_CXX],[ - if test -z "$php_cxx_done"; then - AC_PROG_CXX - AC_PROG_CXXCPP - php_cxx_done=yes - fi -]) - -dnl -dnl PHP_BUILD_SHARED -dnl -AC_DEFUN([PHP_BUILD_SHARED],[ - PHP_BUILD_PROGRAM - OVERALL_TARGET=libphp[]$PHP_MAJOR_VERSION[.la] - php_build_target=shared - - php_c_pre=$shared_c_pre - php_c_meta=$shared_c_meta - php_c_post=$shared_c_post - php_cxx_pre=$shared_cxx_pre - php_cxx_meta=$shared_cxx_meta - php_cxx_post=$shared_cxx_post - php_lo=$shared_lo -]) - -dnl -dnl PHP_BUILD_STATIC -dnl -AC_DEFUN([PHP_BUILD_STATIC],[ - PHP_BUILD_PROGRAM - OVERALL_TARGET=libphp[]$PHP_MAJOR_VERSION[.la] - php_build_target=static -]) - -dnl -dnl PHP_BUILD_BUNDLE -dnl -AC_DEFUN([PHP_BUILD_BUNDLE],[ - PHP_BUILD_PROGRAM - OVERALL_TARGET=libs/libphp[]$PHP_MAJOR_VERSION[.bundle] - php_build_target=static -]) - -dnl -dnl PHP_BUILD_PROGRAM -dnl -AC_DEFUN([PHP_BUILD_PROGRAM],[ - OVERALL_TARGET=[]ifelse($1,,php,$1) - php_c_pre='$(LIBTOOL) --mode=compile $(CC)' - php_c_meta='$(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS)' - php_c_post= - php_cxx_pre='$(LIBTOOL) --mode=compile $(CXX)' - php_cxx_meta='$(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS)' - php_cxx_post= - php_lo=lo - - case $with_pic in - yes) pic_setting='-prefer-pic';; - no) pic_setting='-prefer-non-pic';; - esac - - shared_c_pre='$(LIBTOOL) --mode=compile $(CC)' - shared_c_meta='$(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) '$pic_setting - shared_c_post= - shared_cxx_pre='$(LIBTOOL) --mode=compile $(CXX)' - shared_cxx_meta='$(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS) '$pic_setting - shared_cxx_post= - shared_lo=lo - - php_build_target=program -]) - -dnl -dnl PHP_SHARED_MODULE(module-name, object-var, build-dir, cxx, zend_ext) -dnl -dnl Basically sets up the link-stage for building module-name -dnl from object_var in build-dir. -dnl -AC_DEFUN([PHP_SHARED_MODULE],[ - install_modules="install-modules" - - case $host_alias in - *aix*[)] - suffix=so - link_cmd='$(LIBTOOL) --mode=link ifelse($4,,[$(CC)],[$(CXX)]) $(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(LDFLAGS) -Wl,-G -o '$3'/$1.la -export-dynamic -avoid-version -prefer-pic -module -rpath $(phplibdir) $(EXTRA_LDFLAGS) $($2) $(translit($1,a-z_-,A-Z__)_SHARED_LIBADD) && mv -f '$3'/.libs/$1.so '$3'/$1.so' - ;; - *netware*[)] - suffix=nlm - link_cmd='$(LIBTOOL) --mode=link ifelse($4,,[$(CC)],[$(CXX)]) $(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(LDFLAGS) -o [$]@ -shared -export-dynamic -avoid-version -prefer-pic -module -rpath $(phplibdir) $(EXTRA_LDFLAGS) $($2) ifelse($1, php5lib, , -L$(top_builddir)/netware -lphp5lib) $(translit(ifelse($1, php5lib, $1, m4_substr($1, 3)),a-z_-,A-Z__)_SHARED_LIBADD)' - ;; - *[)] - suffix=la - link_cmd='$(LIBTOOL) --mode=link ifelse($4,,[$(CC)],[$(CXX)]) $(COMMON_FLAGS) $(CFLAGS_CLEAN) $(EXTRA_CFLAGS) $(LDFLAGS) -o [$]@ -export-dynamic -avoid-version -prefer-pic -module -rpath $(phplibdir) $(EXTRA_LDFLAGS) $($2) $(translit($1,a-z_-,A-Z__)_SHARED_LIBADD)' - ;; - esac - - if test "x$5" = "xyes"; then - PHP_ZEND_EX="$PHP_ZEND_EX \$(phplibdir)/$1.$suffix" - else - PHP_MODULES="$PHP_MODULES \$(phplibdir)/$1.$suffix" - fi - PHP_SUBST($2) - cat >>Makefile.objects<<EOF -\$(phplibdir)/$1.$suffix: $3/$1.$suffix - \$(LIBTOOL) --mode=install cp $3/$1.$suffix \$(phplibdir) - -$3/$1.$suffix: \$($2) \$(translit($1,a-z_-,A-Z__)_SHARED_DEPENDENCIES) - $link_cmd - -EOF -]) - -dnl -dnl PHP_SELECT_SAPI(name, type[, sources [, extra-cflags [, build-target]]]) -dnl -dnl Selects the SAPI name and type (static, shared, programm) -dnl and optionally also the source-files for the SAPI-specific -dnl objects. -dnl -AC_DEFUN([PHP_SELECT_SAPI],[ - if test "$PHP_SAPI" != "default"; then -AC_MSG_ERROR([ -+--------------------------------------------------------------------+ -| *** ATTENTION *** | -| | -| You've configured multiple SAPIs to be build. You can build only | -| one SAPI module and CLI binary at the same time. | -+--------------------------------------------------------------------+ -]) - fi - - PHP_SAPI=$1 - - case "$2" in - static[)] PHP_BUILD_STATIC;; - shared[)] PHP_BUILD_SHARED;; - bundle[)] PHP_BUILD_BUNDLE;; - program[)] PHP_BUILD_PROGRAM($5);; - esac - - ifelse($3,,,[PHP_ADD_SOURCES([sapi/$1],[$3],[$4],[sapi])]) -]) - -dnl deprecated -AC_DEFUN([PHP_EXTENSION],[ - sources=`$AWK -f $abs_srcdir/build/scan_makefile_in.awk < []PHP_EXT_SRCDIR($1)[]/Makefile.in` - - PHP_NEW_EXTENSION($1, $sources, $2, $3) - - if test -r "$ext_srcdir/Makefile.frag"; then - PHP_ADD_MAKEFILE_FRAGMENT - fi -]) - -AC_DEFUN([PHP_ADD_BUILD_DIR],[ - ifelse($2,,[ - BUILD_DIR="$BUILD_DIR $1" - ], [ - $php_shtool mkdir -p $1 - ]) -]) - -AC_DEFUN([PHP_GEN_BUILD_DIRS],[ - $php_shtool mkdir -p $BUILD_DIR -]) - -dnl -dnl PHP_NEW_EXTENSION(extname, sources [, shared [, sapi_class [, extra-cflags [, cxx [, zend_ext]]]]]) -dnl -dnl Includes an extension in the build. -dnl -dnl "extname" is the name of the ext/ subdir where the extension resides. -dnl "sources" is a list of files relative to the subdir which are used -dnl to build the extension. -dnl "shared" can be set to "shared" or "yes" to build the extension as -dnl a dynamically loadable library. Optional parameter "sapi_class" can -dnl be set to "cli" to mark extension build only with CLI or CGI sapi's. -dnl "extra-cflags" are passed to the compiler, with -dnl @ext_srcdir@ and @ext_builddir@ being substituted. -dnl "cxx" can be used to indicate that a C++ shared module is desired. -dnl "zend_ext" indicates a zend extension. -AC_DEFUN([PHP_NEW_EXTENSION],[ - ext_builddir=[]PHP_EXT_BUILDDIR($1) - ext_srcdir=[]PHP_EXT_SRCDIR($1) - - ifelse($5,,ac_extra=,[ac_extra=`echo "$5"|$SED s#@ext_srcdir@#$ext_srcdir#g|$SED s#@ext_builddir@#$ext_builddir#g`]) - - if test "$3" != "shared" && test "$3" != "yes" && test "$4" != "cli"; then -dnl ---------------------------------------------- Static module - [PHP_]translit($1,a-z_-,A-Z__)[_SHARED]=no - PHP_ADD_SOURCES(PHP_EXT_DIR($1),$2,$ac_extra,) - EXT_STATIC="$EXT_STATIC $1" - if test "$3" != "nocli"; then - EXT_CLI_STATIC="$EXT_CLI_STATIC $1" - fi - else - if test "$3" = "shared" || test "$3" = "yes"; then -dnl ---------------------------------------------- Shared module - [PHP_]translit($1,a-z_-,A-Z__)[_SHARED]=yes - PHP_ADD_SOURCES_X(PHP_EXT_DIR($1),$2,$ac_extra,shared_objects_$1,yes) - case $host_alias in - *netware*[)] - PHP_SHARED_MODULE(php$1,shared_objects_$1, $ext_builddir, $6, $7) - ;; - *[)] - PHP_SHARED_MODULE($1,shared_objects_$1, $ext_builddir, $6, $7) - ;; - esac - AC_DEFINE_UNQUOTED([COMPILE_DL_]translit($1,a-z_-,A-Z__), 1, Whether to build $1 as dynamic module) - fi - fi - - if test "$3" != "shared" && test "$3" != "yes" && test "$4" = "cli"; then -dnl ---------------------------------------------- CLI static module - [PHP_]translit($1,a-z_-,A-Z__)[_SHARED]=no - case "$PHP_SAPI" in - cgi|embed[)] - PHP_ADD_SOURCES(PHP_EXT_DIR($1),$2,$ac_extra,) - EXT_STATIC="$EXT_STATIC $1" - ;; - *[)] - PHP_ADD_SOURCES(PHP_EXT_DIR($1),$2,$ac_extra,cli) - ;; - esac - EXT_CLI_STATIC="$EXT_CLI_STATIC $1" - fi - PHP_ADD_BUILD_DIR($ext_builddir) - -dnl Set for phpize builds only -dnl --------------------------- - if test "$ext_builddir" = "."; then - PHP_PECL_EXTENSION=$1 - PHP_SUBST(PHP_PECL_EXTENSION) - fi -]) - -dnl -dnl PHP_WITH_SHARED -dnl -dnl Checks whether $withval is "shared" or starts with "shared,XXX" -dnl and sets $shared to "yes" or "no", and removes "shared,?" stuff -dnl from $withval. -dnl -AC_DEFUN([PHP_WITH_SHARED],[ - PHP_ARG_ANALYZE_EX(withval) - shared=$ext_shared - unset ext_shared ext_output -]) - -dnl -dnl PHP_ADD_EXTENSION_DEP(extname, depends [, depconf]) -dnl -dnl This macro is scanned by genif.sh when it builds the internal functions -dnl list, so that modules can be init'd in the correct order -dnl $1 = name of extension, $2 = extension upon which it depends -dnl $3 = optional: if true, it's ok for $2 to have not been configured -dnl default is false and should halt the build. -dnl To be effective, this macro must be invoked *after* PHP_NEW_EXTENSION. -dnl The extension on which it depends must also have been configured. -dnl See ADD_EXTENSION_DEP in win32 build -dnl -AC_DEFUN([PHP_ADD_EXTENSION_DEP], [ - am_i_shared=$[PHP_]translit($1,a-z_-,A-Z__)[_SHARED] - is_it_shared=$[PHP_]translit($2,a-z_-,A-Z__)[_SHARED] - is_it_enabled=$[PHP_]translit($2,a-z_-,A-Z__) - if test "$am_i_shared" = "no" && test "$is_it_shared" = "yes" ; then - AC_MSG_ERROR([ -You've configured extension $1 to build statically, but it -depends on extension $2, which you've configured to build shared. -You either need to build $1 shared or build $2 statically for the -build to be successful. -]) - fi - if test "x$is_it_enabled" = "xno" && test "x$3" != "xtrue"; then - AC_MSG_ERROR([ -You've configured extension $1, which depends on extension $2, -but you've either not enabled $2, or have disabled it. -]) - fi - dnl Some systems require that we link $2 to $1 when building -]) - -dnl ------------------------------------------------------------------------- -dnl Checks for structures, typedefs, broken functions, etc. -dnl ------------------------------------------------------------------------- - -dnl Internal helper macros -dnl -dnl _PHP_DEF_HAVE_FILE(what, filename) -AC_DEFUN([_PHP_DEF_HAVE_FILE], [ - php_def_have_what=HAVE_[]`echo $1 | tr 'abcdefghijklmnopqrstuvwxyz-' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_' ` - echo "#define $php_def_have_what 1" >> $2 -]) -dnl -dnl _PHP_CHECK_SIZEOF(type, cross-value, extra-headers [, found-action [, not-found-action]]) -dnl -AC_DEFUN([_PHP_CHECK_SIZEOF], [ - php_cache_value=php_cv_sizeof_[]$1 - AC_CACHE_VAL(php_cv_sizeof_[]$1, [ - old_LIBS=$LIBS - LIBS= - old_LDFLAGS=$LDFLAGS - LDFLAGS= - AC_TRY_RUN([#include <stdio.h> -#if STDC_HEADERS -#include <stdlib.h> -#include <stddef.h> -#endif -#ifdef HAVE_INTTYPES_H -#include <inttypes.h> -#endif -#ifdef HAVE_UNISTD_H -#include <unistd.h> -#endif -$3 - -int main() -{ - FILE *fp = fopen("conftestval", "w"); - if (!fp) return(1); - fprintf(fp, "%d\n", sizeof($1)); - return(0); -} - ], [ - eval $php_cache_value=`cat conftestval` - ], [ - eval $php_cache_value=0 - ], [ - ifelse([$2],,[eval $php_cache_value=0], [eval $php_cache_value=$2]) -]) - LDFLAGS=$old_LDFLAGS - LIBS=$old_LIBS -]) - if eval test "\$$php_cache_value" != "0"; then -ifelse([$4],[],:,[$4]) -ifelse([$5],[],,[else $5]) - fi -]) - -dnl -dnl PHP_CHECK_SIZEOF(type, cross-value, extra-headers) -dnl -AC_DEFUN([PHP_CHECK_SIZEOF], [ - AC_MSG_CHECKING([size of $1]) - _PHP_CHECK_SIZEOF($1, $2, $3, [ - AC_DEFINE_UNQUOTED([SIZEOF_]translit($1,a-z,A-Z_), [$]php_cv_sizeof_[]$1, [Size of $1]) - AC_DEFINE_UNQUOTED([HAVE_]translit($1,a-z,A-Z_), 1, [Whether $1 is available]) - ]) - AC_MSG_RESULT([[$][php_cv_sizeof_]translit($1, ,_)]) -]) - -dnl -dnl PHP_CHECK_TYPES(type-list, include-file [, extra-headers]) -dnl -AC_DEFUN([PHP_CHECK_TYPES], [ - for php_typename in $1; do - AC_MSG_CHECKING([whether $php_typename exists]) - _PHP_CHECK_SIZEOF($php_typename, 0, $3, [ - _PHP_DEF_HAVE_FILE($php_typename, $2) - AC_MSG_RESULT([yes]) - ], [ - AC_MSG_RESULT([no]) - ]) - done -]) - -dnl -dnl PHP_CHECK_IN_ADDR_T -dnl -AC_DEFUN([PHP_CHECK_IN_ADDR_T], [ -dnl AIX keeps in_addr_t in /usr/include/netinet/in.h -AC_MSG_CHECKING([for in_addr_t]) -AC_CACHE_VAL(ac_cv_type_in_addr_t, -[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 -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 -]) - -dnl -dnl PHP_TIME_R_TYPE -dnl -dnl Check type of reentrant time-related functions -dnl Type can be: irix, hpux or POSIX -dnl -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 - ]) -],[ - 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]) ;; - esac -]) - -dnl -dnl PHP_DOES_PWRITE_WORK -dnl internal -AC_DEFUN([PHP_DOES_PWRITE_WORK],[ - AC_TRY_RUN([ -#include <sys/types.h> -#include <sys/stat.h> -#include <fcntl.h> -#include <unistd.h> -#include <errno.h> -$1 - main() { - int fd = open("conftest_in", O_WRONLY|O_CREAT, 0600); - - if (fd < 0) exit(1); - if (pwrite(fd, "text", 4, 0) != 4) exit(1); - /* Linux glibc breakage until 2.2.5 */ - if (pwrite(fd, "text", 4, -1) != -1 || errno != EINVAL) exit(1); - exit(0); - } - - ],[ - ac_cv_pwrite=no - ],[ - ac_cv_pwrite=no - ],[ - ac_cv_pwrite=no - ]) -]) - -dnl PHP_DOES_PREAD_WORK -dnl internal -AC_DEFUN([PHP_DOES_PREAD_WORK],[ - echo test > conftest_in - AC_TRY_RUN([ -#include <sys/types.h> -#include <sys/stat.h> -#include <fcntl.h> -#include <unistd.h> -#include <errno.h> -$1 - main() { - char buf[3]; - int fd = open("conftest_in", O_RDONLY); - if (fd < 0) exit(1); - if (pread(fd, buf, 2, 0) != 2) exit(1); - /* Linux glibc breakage until 2.2.5 */ - if (pread(fd, buf, 2, -1) != -1 || errno != EINVAL) exit(1); - exit(0); - } - ],[ - ac_cv_pread=no - ],[ - ac_cv_pread=no - ],[ - ac_cv_pread=no - ]) - rm -f conftest_in -]) - -dnl -dnl PHP_PWRITE_TEST -dnl -AC_DEFUN([PHP_PWRITE_TEST],[ - AC_CACHE_CHECK(whether pwrite works,ac_cv_pwrite,[ - PHP_DOES_PWRITE_WORK - if test "$ac_cv_pwrite" = "no"; then - PHP_DOES_PWRITE_WORK([ssize_t pwrite(int, void *, size_t, off64_t);]) - if test "$ac_cv_pwrite" = "yes"; then - ac_cv_pwrite=64 - fi - fi - ]) - - if test "$ac_cv_pwrite" != "no"; then - AC_DEFINE(HAVE_PWRITE, 1, [ ]) - if test "$ac_cv_pwrite" = "64"; then - AC_DEFINE(PHP_PWRITE_64, 1, [whether pwrite64 is default]) - fi - fi -]) - -dnl -dnl PHP_PREAD_TEST -dnl -AC_DEFUN([PHP_PREAD_TEST],[ - AC_CACHE_CHECK(whether pread works,ac_cv_pread,[ - PHP_DOES_PREAD_WORK - if test "$ac_cv_pread" = "no"; then - PHP_DOES_PREAD_WORK([ssize_t pread(int, void *, size_t, off64_t);]) - if test "$ac_cv_pread" = "yes"; then - ac_cv_pread=64 - fi - fi - ]) - - if test "$ac_cv_pread" != "no"; then - AC_DEFINE(HAVE_PREAD, 1, [ ]) - if test "$ac_cv_pread" = "64"; then - AC_DEFINE(PHP_PREAD_64, 1, [whether pread64 is default]) - fi - fi -]) - -dnl -dnl PHP_MISSING_TIME_R_DECL -dnl -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]) -]) - -dnl -dnl PHP_READDIR_R_TYPE -dnl -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 -]) - -dnl -dnl PHP_TM_GMTOFF -dnl -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 -dnl PHP_STRUCT_FLOCK -dnl -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 -]) - -dnl -dnl PHP_SOCKLEN_T -dnl -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 -]) - -dnl -dnl PHP_MISSING_FCLOSE_DECL -dnl -dnl See if we have broken header files like SunOS has. -dnl -AC_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]) - ]) -]) - -dnl -dnl PHP_AC_BROKEN_SPRINTF -dnl -dnl Check for broken sprintf(), C99 conformance -dnl -AC_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, [Whether sprintf is C99 conform]) - else - AC_DEFINE(PHP_BROKEN_SPRINTF, 0, [Whether sprintf is C99 conform]) - fi -]) - -dnl -dnl PHP_AC_BROKEN_SNPRINTF -dnl -dnl Check for broken snprintf(), C99 conformance -dnl -AC_DEFUN([PHP_AC_BROKEN_SNPRINTF],[ - AC_CACHE_CHECK(whether snprintf is broken, ac_cv_broken_snprintf,[ - AC_TRY_RUN([ -#define NULL (0L) -main() { - char buf[20]; - int res = 0; - res = res || (snprintf(buf, 2, "marcus") != 6); - res = res || (buf[1] != '\0'); - /* Implementations may consider this as an encoding error */ - snprintf(buf, 0, "boerger"); - /* However, they MUST ignore the pointer */ - res = res || (buf[0] != 'm'); - res = res || (snprintf(NULL, 0, "boerger") != 7); - res = res || (snprintf(buf, sizeof(buf), "%f", 0.12345678) != 8); - exit(res); -} - ],[ - ac_cv_broken_snprintf=no - ],[ - ac_cv_broken_snprintf=yes - ],[ - ac_cv_broken_snprintf=no - ]) - ]) - if test "$ac_cv_broken_snprintf" = "yes"; then - AC_DEFINE(PHP_BROKEN_SNPRINTF, 1, [Whether snprintf is C99 conform]) - else - AC_DEFINE(PHP_BROKEN_SNPRINTF, 0, [Whether snprintf is C99 conform]) - fi -]) - -dnl -dnl PHP_SOLARIS_PIC_WEIRDNESS -dnl -dnl Solaris requires main code to be position independent in order -dnl to let shared objects find symbols. Weird. Ugly. -dnl -dnl Must be run after all --with-NN options that let the user -dnl choose dynamic extensions, and after the gcc test. -dnl -AC_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 -]) - -dnl -dnl PHP_SYS_LFS -dnl -dnl The problem is that the default compilation flags in Solaris 2.6 won't -dnl let programs access large files; you need to tell the compiler that -dnl you actually want your programs to work on large files. For more -dnl details about this brain damage please see: -dnl http://www.sas.com/standards/large.file/x_open.20Mar96.html -dnl -dnl Written by Paul Eggert <eggert@twinsun.com>. -dnl -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 -]) - -dnl -dnl PHP_SOCKADDR_CHECKS -dnl -AC_DEFUN([PHP_SOCKADDR_CHECKS], [ - dnl Check for struct sockaddr_storage exists - AC_CACHE_CHECK([for struct sockaddr_storage], ac_cv_sockaddr_storage, - [AC_TRY_COMPILE([#include <sys/types.h> -#include <sys/socket.h>], - [struct sockaddr_storage s; s], - [ac_cv_sockaddr_storage=yes], [ac_cv_sockaddr_storage=no]) - ]) - if test "$ac_cv_sockaddr_storage" = "yes"; then - AC_DEFINE(HAVE_SOCKADDR_STORAGE, 1, [Whether you have struct sockaddr_storage]) - fi - dnl Check if field sa_len exists in struct sockaddr - 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>], - [static struct sockaddr sa; int n = (int) sa.sa_len; return n;], - [ac_cv_sockaddr_sa_len=yes], [ac_cv_sockaddr_sa_len=no]) - ]) - if test "$ac_cv_sockaddr_sa_len" = "yes"; then - AC_DEFINE(HAVE_SOCKADDR_SA_LEN, 1, [Whether struct sockaddr has field sa_len]) - fi -]) - -dnl -dnl PHP_DECLARED_TIMEZONE -dnl -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 -]) - -dnl -dnl PHP_EBCDIC -dnl -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 -]) - -dnl -dnl PHP_BROKEN_GETCWD -dnl -dnl Some systems, notably Solaris, cause getcwd() or realpath to fail if a -dnl component of the path has execute but not read permissions -dnl -AC_DEFUN([PHP_BROKEN_GETCWD],[ - AC_MSG_CHECKING([for broken getcwd]) - os=`uname -sr 2>/dev/null` - case $os in - SunOS*[)] - AC_DEFINE(HAVE_BROKEN_GETCWD,1, [Define if system has broken getcwd]) - AC_MSG_RESULT([yes]);; - *[)] - AC_MSG_RESULT([no]);; - esac -]) - -dnl -dnl PHP_BROKEN_GLIBC_FOPEN_APPEND -dnl -AC_DEFUN([PHP_BROKEN_GLIBC_FOPEN_APPEND], [ - AC_MSG_CHECKING([for broken libc stdio]) - AC_CACHE_VAL(_cv_have_broken_glibc_fopen_append,[ - AC_TRY_RUN([ -#include <stdio.h> -int main(int argc, char *argv[]) -{ - FILE *fp; - long position; - char *filename = "/tmp/phpglibccheck"; - - fp = fopen(filename, "w"); - if (fp == NULL) { - perror("fopen"); - exit(2); - } - fputs("foobar", fp); - fclose(fp); - - fp = fopen(filename, "a+"); - position = ftell(fp); - fclose(fp); - unlink(filename); - if (position == 0) - return 1; - return 0; -} -], -[_cv_have_broken_glibc_fopen_append=no], -[_cv_have_broken_glibc_fopen_append=yes ], -AC_TRY_COMPILE([ -#include <features.h> -],[ -#if !__GLIBC_PREREQ(2,2) -choke me -#endif -], -[_cv_have_broken_glibc_fopen_append=yes], -[_cv_have_broken_glibc_fopen_append=no ]) -)]) - - if test "$_cv_have_broken_glibc_fopen_append" = "yes"; then - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_BROKEN_GLIBC_FOPEN_APPEND,1, [Define if your glibc borks on fopen with mode a+]) - else - AC_MSG_RESULT(no) - fi -]) - -dnl -dnl PHP_FOPENCOOKIE -dnl -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 - -dnl even newer glibcs have a different seeker definition... -AC_TRY_RUN([ -#define _GNU_SOURCE -#include <stdio.h> - -struct cookiedata { - __off64_t pos; -}; - -__ssize_t reader(void *cookie, char *buffer, size_t size) -{ return size; } -__ssize_t writer(void *cookie, const char *buffer, size_t size) -{ return size; } -int closer(void *cookie) -{ return 0; } -int seeker(void *cookie, __off64_t *position, int whence) -{ ((struct cookiedata*)cookie)->pos = *position; return 0; } - -cookie_io_functions_t funcs = {reader, writer, seeker, closer}; - -main() { - struct cookiedata g = { 0 }; - FILE *fp = fopencookie(&g, "r", funcs); - - if (fp && fseek(fp, 8192, SEEK_SET) == 0 && g.pos == 8192) - exit(0); - exit(1); -} - -], [ - cookie_io_functions_use_off64_t=yes -], [ - cookie_io_functions_use_off64_t=no -], [ - cookie_io_functions_use_off64_t=no -]) - - 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, [ ]) - if test "$cookie_io_functions_use_off64_t" = "yes" ; then - AC_DEFINE(COOKIE_SEEKER_USES_OFF64_T, 1, [ ]) - fi - fi - fi -]) - -dnl ------------------------------------------------------------------------- -dnl Library/function existance and build sanity checks -dnl ------------------------------------------------------------------------- - -dnl -dnl PHP_CHECK_LIBRARY(library, function [, action-found [, action-not-found [, extra-libs]]]) -dnl -dnl Wrapper for AC_CHECK_LIB -dnl -AC_DEFUN([PHP_CHECK_LIBRARY], [ - save_old_LDFLAGS=$LDFLAGS - ac_stuff="$5" - - save_ext_shared=$ext_shared - ext_shared=yes - PHP_EVAL_LIBLINE([$]ac_stuff, LDFLAGS) - AC_CHECK_LIB([$1],[$2],[ - LDFLAGS=$save_old_LDFLAGS - ext_shared=$save_ext_shared - $3 - ],[ - LDFLAGS=$save_old_LDFLAGS - ext_shared=$save_ext_shared - unset ac_cv_lib_$1[]_$2 - $4 - ])dnl -]) - -dnl -dnl PHP_CHECK_FRAMEWORK(framework, function [, action-found [, action-not-found ]]) -dnl -dnl El cheapo wrapper for AC_CHECK_LIB -dnl -AC_DEFUN([PHP_CHECK_FRAMEWORK], [ - save_old_LDFLAGS=$LDFLAGS - LDFLAGS="-framework $1 $LDFLAGS" - dnl supplying "c" to AC_CHECK_LIB is technically cheating, but - dnl rewriting AC_CHECK_LIB is overkill and this only affects - dnl the "checking.." output anyway. - AC_CHECK_LIB(c,[$2],[ - LDFLAGS=$save_old_LDFLAGS - $3 - ],[ - LDFLAGS=$save_old_LDFLAGS - $4 - ]) -]) - -dnl -dnl PHP_CHECK_FUNC_LIB(func, libs) -dnl -dnl This macro checks whether 'func' or '__func' exists -dnl in the specified library. -dnl Defines HAVE_func and HAVE_library if found and adds the library to LIBS. -dnl This should be called in the ACTION-IF-NOT-FOUND part of PHP_CHECK_FUNC -dnl -dnl -dnl autoconf undefines the builtin "shift" :-( -dnl If possible, we use the builtin shift anyway, otherwise we use -dnl the ubercool definition I have tested so far with FreeBSD/GNU m4 -ifdef([builtin],[builtin(define, phpshift, [builtin(shift, $@)])],[ -define([phpshift],[ifelse(index([$@],[,]),-1,,[substr([$@],incr(index([$@],[,])))])]) -]) -dnl -AC_DEFUN([PHP_CHECK_FUNC_LIB],[ - ifelse($2,,:,[ - unset ac_cv_lib_$2[]_$1 - unset ac_cv_lib_$2[]___$1 - unset found - AC_CHECK_LIB($2, $1, [found=yes], [ - AC_CHECK_LIB($2, __$1, [found=yes], [found=no]) - ]) - - if test "$found" = "yes"; then - ac_libs=$LIBS - LIBS="$LIBS -l$2" - AC_TRY_RUN([main() { return (0); }],[found=yes],[found=no],[found=no]) - LIBS=$ac_libs - fi - - if test "$found" = "yes"; then - PHP_ADD_LIBRARY($2) - PHP_DEF_HAVE($1) - PHP_DEF_HAVE(lib$2) - ac_cv_func_$1=yes - else - PHP_CHECK_FUNC_LIB($1,phpshift(phpshift($@))) - fi - ]) -]) - -dnl -dnl PHP_CHECK_FUNC(func, ...) -dnl -dnl This macro checks whether 'func' or '__func' exists -dnl in the default libraries and as a fall back in the specified library. -dnl Defines HAVE_func and HAVE_library if found and adds the library to LIBS. -dnl -AC_DEFUN([PHP_CHECK_FUNC],[ - unset ac_cv_func_$1 - unset ac_cv_func___$1 - unset found - - AC_CHECK_FUNC($1, [found=yes],[ AC_CHECK_FUNC(__$1,[found=yes],[found=no]) ]) - - case $found in - yes[)] - PHP_DEF_HAVE($1) - ac_cv_func_$1=yes - ;; - ifelse($#,1,,[ - *[)] PHP_CHECK_FUNC_LIB($@) ;; - ]) - esac -]) - -dnl -dnl PHP_TEST_BUILD(function, action-if-ok, action-if-not-ok [, extra-libs [, extra-source]]) -dnl -dnl This macro checks whether build works and given function exists. -dnl -AC_DEFUN([PHP_TEST_BUILD], [ - old_LIBS=$LIBS - LIBS="$4 $LIBS" - AC_TRY_RUN([ - $5 - char $1(); - int main() { - $1(); - return 0; - } - ], [ - LIBS=$old_LIBS - $2 - ],[ - LIBS=$old_LIBS - $3 - ],[ - LIBS=$old_LIBS - ]) -]) - -dnl ------------------------------------------------------------------------- -dnl Platform characteristics checks -dnl ------------------------------------------------------------------------- - -dnl -dnl PHP_SHLIB_SUFFIX_NAMES -dnl -dnl Determines link library suffix SHLIB_SUFFIX_NAME -dnl which can be: .so, .sl or .dylib -dnl -dnl Determines shared library suffix SHLIB_DL_SUFFIX_NAME -dnl suffix can be: .so or .sl -dnl -AC_DEFUN([PHP_SHLIB_SUFFIX_NAMES],[ - AC_REQUIRE([PHP_CANONICAL_HOST_TARGET])dnl - PHP_SUBST_OLD(SHLIB_SUFFIX_NAME) - PHP_SUBST_OLD(SHLIB_DL_SUFFIX_NAME) - SHLIB_SUFFIX_NAME=so - SHLIB_DL_SUFFIX_NAME=$SHLIB_SUFFIX_NAME - case $host_alias in - *hpux*[)] - SHLIB_SUFFIX_NAME=sl - SHLIB_DL_SUFFIX_NAME=sl - ;; - *darwin*[)] - SHLIB_SUFFIX_NAME=dylib - SHLIB_DL_SUFFIX_NAME=so - ;; - esac -]) - -dnl -dnl PHP_CHECK_64BIT([do if 32], [do if 64]) -dnl -dnl This macro is used to detect if we're at 64-bit platform or not. -dnl It could be useful for those external libs, that have different precompiled -dnl versions in different directories. -dnl -AC_DEFUN([PHP_CHECK_64BIT],[ - AC_CHECK_SIZEOF(long int, 4) - AC_MSG_CHECKING([checking if we're at 64-bit platform]) - if test "$ac_cv_sizeof_long_int" = "4" ; then - AC_MSG_RESULT([no]) - $1 - else - AC_MSG_RESULT([yes]) - $2 - fi -]) - -dnl -dnl PHP_C_BIGENDIAN -dnl -dnl Replacement macro for AC_C_BIGENDIAN -dnl -AC_DEFUN([PHP_C_BIGENDIAN], -[AC_CACHE_CHECK([whether byte ordering is bigendian], ac_cv_c_bigendian_php, - [ - ac_cv_c_bigendian_php=unknown - AC_TRY_RUN( - [ -int main(void) -{ - short one = 1; - char *cp = (char *)&one; - - if (*cp == 0) { - return(0); - } else { - return(1); - } -} - ], [ac_cv_c_bigendian_php=yes], [ac_cv_c_bigendian_php=no], [ac_cv_c_bigendian_php=unknown]) - ]) - if test $ac_cv_c_bigendian_php = yes; then - AC_DEFINE(WORDS_BIGENDIAN, [], [Define if processor uses big-endian word]) - fi -]) - -dnl ------------------------------------------------------------------------- -dnl Checks for programs: PHP_PROG_<program> -dnl ------------------------------------------------------------------------- - -dnl -dnl PHP_PROG_SENDMAIL -dnl -dnl Search for the sendmail binary -dnl -AC_DEFUN([PHP_PROG_SENDMAIL], [ - PHP_ALT_PATH=/usr/bin:/usr/sbin:/usr/etc:/etc:/usr/ucblib:/usr/lib - AC_PATH_PROG(PROG_SENDMAIL, sendmail,[], $PATH:$PHP_ALT_PATH) - PHP_SUBST(PROG_SENDMAIL) -]) - -dnl -dnl PHP_PROG_AWK -dnl -dnl Some vendors force mawk before gawk; mawk is broken so we don't like that -dnl -AC_DEFUN([PHP_PROG_AWK], [ - AC_CHECK_PROGS(AWK, gawk nawk awk mawk, bork, /usr/xpg4/bin/:$PATH) - case "$AWK" in - *mawk) - AC_MSG_WARN([mawk is known to have problems on some systems. You should install GNU awk]) - ;; - *gawk) - ;; - bork) - AC_MSG_ERROR([Could not find awk; Install GNU awk]) - ;; - *) - AC_MSG_CHECKING([if $AWK is broken]) - if ! $AWK 'function foo() {}' >/dev/null 2>&1 ; then - AC_MSG_RESULT([yes]) - AC_MSG_ERROR([You should install GNU awk]) - else - AC_MSG_RESULT([no]) - fi - ;; - esac - PHP_SUBST(AWK) -]) - -dnl -dnl PHP_PROG_BISON -dnl -dnl Search for bison and check it's version -dnl -AC_DEFUN([PHP_PROG_BISON], [ - AC_PROG_YACC - LIBZEND_BISON_CHECK - PHP_SUBST(YACC) -]) - -dnl -dnl PHP_PROG_LEX -dnl -dnl Search for (f)lex and check it's version -dnl -AC_DEFUN([PHP_PROG_LEX], [ -dnl we only support certain flex versions - flex_version_list="2.5.4" - - AC_PROG_LEX - if test "$LEX" = "flex"; then -dnl AC_DECL_YYTEXT is obsolete since autoconf 2.50 and merged into AC_PROG_LEX -dnl this is what causes that annoying "PHP_PROG_LEX is expanded from" warning with autoconf 2.50+ -dnl it should be removed once we drop support of autoconf 2.13 (if ever) - AC_DECL_YYTEXT - : - fi - 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 - - if test "$LEX" = "flex"; then - AC_CACHE_CHECK([for flex version], php_cv_flex_version, [ - flex_version=`$LEX -V -v --version 2>/dev/null | $SED -e 's/^.* //'` - php_cv_flex_version=invalid - for flex_check_version in $flex_version_list; do - if test "$flex_version" = "$flex_check_version"; then - php_cv_flex_version="$flex_check_version (ok)" - fi - done - ]) - else - flex_version=none - fi - - case $php_cv_flex_version in - ""|invalid[)] - if test -f "$abs_srcdir/Zend/zend_language_scanner.c" && test -f "$abs_srcdir/Zend/zend_ini_scanner.c"; then - AC_MSG_WARN([flex versions supported for regeneration of the Zend/PHP parsers: $flex_version_list (found: $flex_version)]) - else - flex_msg="Supported flex versions are: $flex_version_list" - if test "$flex_version" = "none"; then - flex_msg="flex not found. flex is required to generate the Zend/PHP parsers! $flex_msg" - else - flex_msg="Found invalid flex version: $flex_version. $flex_msg" - fi - AC_MSG_ERROR([$flex_msg]) - fi - LEX="exit 0;" - ;; - esac - PHP_SUBST(LEX) -]) - -dnl -dnl PHP_PROG_RE2C -dnl -dnl Search for the re2c binary and check the version -dnl -AC_DEFUN([PHP_PROG_RE2C],[ - AC_CHECK_PROG(RE2C, re2c, re2c) - if test -n "$RE2C"; then - AC_CACHE_CHECK([for re2c version], php_cv_re2c_version, [ - re2c_vernum=`$RE2C --vernum 2>/dev/null` - if test -z "$re2c_vernum" || test "$re2c_vernum" -lt "1304"; then - php_cv_re2c_version=invalid - else - php_cv_re2c_version="`$RE2C --version | cut -d ' ' -f 2 2>/dev/null` (ok)" - fi - ]) - fi - case $php_cv_re2c_version in - ""|invalid[)] - AC_MSG_WARN([You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.]) - RE2C="exit 0;" - ;; - esac - PHP_SUBST(RE2C) -]) - -dnl ------------------------------------------------------------------------- -dnl Common setup macros: PHP_SETUP_<what> -dnl ------------------------------------------------------------------------- - -dnl -dnl PHP_SETUP_ICU([shared-add]) -dnl -dnl Common setup macro for ICU -dnl -AC_DEFUN([PHP_SETUP_ICU],[ - PHP_ARG_WITH(icu-dir,, - [ --with-icu-dir=DIR Specify where ICU libraries and headers can be found], DEFAULT, no) - - if test "$PHP_ICU_DIR" = "no"; then - PHP_ICU_DIR=DEFAULT - fi - - if test "$PHP_ICU_DIR" = "DEFAULT"; then - dnl Try to find icu-config - AC_PATH_PROG(ICU_CONFIG, icu-config, no, [$PATH:/usr/local/bin]) - else - ICU_CONFIG="$PHP_ICU_DIR/bin/icu-config" - fi - - AC_MSG_CHECKING([for location of ICU headers and libraries]) - - dnl Trust icu-config to know better what the install prefix is.. - icu_install_prefix=`$ICU_CONFIG --prefix 2> /dev/null` - if test "$?" != "0" || test -z "$icu_install_prefix"; then - AC_MSG_RESULT([not found]) - AC_MSG_ERROR([Unable to detect ICU prefix or $ICU_CONFIG failed. Please verify ICU install prefix and make sure icu-config works.]) - else - AC_MSG_RESULT([$icu_install_prefix]) - - dnl Check ICU version - AC_MSG_CHECKING([for ICU 3.4 or greater]) - icu_version_full=`$ICU_CONFIG --version` - ac_IFS=$IFS - IFS="." - set $icu_version_full - IFS=$ac_IFS - icu_version=`expr [$]1 \* 1000 + [$]2` - AC_MSG_RESULT([found $icu_version_full]) - - if test "$icu_version" -lt "3004"; then - AC_MSG_ERROR([ICU version 3.4 or later is required]) - fi - - ICU_VERSION=$icu_version - ICU_INCS=`$ICU_CONFIG --cppflags-searchpath` - ICU_LIBS=`$ICU_CONFIG --ldflags --ldflags-icuio` - PHP_EVAL_INCLINE($ICU_INCS) - PHP_EVAL_LIBLINE($ICU_LIBS, $1) - fi -]) - -dnl -dnl PHP_SETUP_KERBEROS(shared-add [, action-found [, action-not-found]]) -dnl -dnl Common setup macro for kerberos -dnl -AC_DEFUN([PHP_SETUP_KERBEROS],[ - found_kerberos=no - unset KERBEROS_CFLAGS - unset KERBEROS_LIBS - - dnl First try to find krb5-config - if test -z "$KRB5_CONFIG"; then - AC_PATH_PROG(KRB5_CONFIG, krb5-config, no, [$PATH:/usr/kerberos/bin:/usr/local/bin]) - fi - - dnl If krb5-config is found try using it - if test "$PHP_KERBEROS" = "yes" && test -x "$KRB5_CONFIG"; then - KERBEROS_LIBS=`$KRB5_CONFIG --libs gssapi` - KERBEROS_CFLAGS=`$KRB5_CONFIG --cflags gssapi` - - if test -n "$KERBEROS_LIBS" && test -n "$KERBEROS_CFLAGS"; then - found_kerberos=yes - PHP_EVAL_LIBLINE($KERBEROS_LIBS, $1) - PHP_EVAL_INCLINE($KERBEROS_CFLAGS) - fi - fi - - dnl If still not found use old skool method - if test "$found_kerberos" = "no"; then - - if test "$PHP_KERBEROS" = "yes"; then - PHP_KERBEROS="/usr/kerberos /usr/local /usr" - fi - - for i in $PHP_KERBEROS; do - if test -f $i/$PHP_LIBDIR/libkrb5.$SHLIB_SUFFIX_NAME || test -f $i/$PHP_LIBDIR/$DEB_HOST_MULTIARCH/libkrb5.$SHLIB_SUFFIX_NAME || test -f $i/$PHP_LIBDIR/libkrb5.a; then - PHP_KERBEROS_DIR=$i - break - fi - done - - if test "$PHP_KERBEROS_DIR"; then - found_kerberos=yes - PHP_ADD_LIBPATH($PHP_KERBEROS_DIR/$PHP_LIBDIR, $1) - PHP_ADD_LIBRARY(gssapi_krb5, 1, $1) - PHP_ADD_LIBRARY(krb5, 1, $1) - PHP_ADD_LIBRARY(k5crypto, 1, $1) - PHP_ADD_LIBRARY(com_err, 1, $1) - PHP_ADD_INCLUDE($PHP_KERBEROS_DIR/include) - fi - fi - - if test "$found_kerberos" = "yes"; then -ifelse([$2],[],:,[$2]) -ifelse([$3],[],,[else $3]) - fi -]) - -dnl -dnl PHP_SETUP_OPENSSL(shared-add [, action-found [, action-not-found]]) -dnl -dnl Common setup macro for openssl -dnl -AC_DEFUN([PHP_SETUP_OPENSSL],[ - found_openssl=no - unset OPENSSL_INCDIR - unset OPENSSL_LIBDIR - - dnl Empty variable means 'no' - test -z "$PHP_OPENSSL" && PHP_OPENSSL=no - test -z "$PHP_IMAP_SSL" && PHP_IMAP_SSL=no - - dnl Fallbacks for different configure options - if test "$PHP_OPENSSL" != "no"; then - PHP_OPENSSL_DIR=$PHP_OPENSSL - elif test "$PHP_IMAP_SSL" != "no"; then - PHP_OPENSSL_DIR=$PHP_IMAP_SSL - fi - - dnl First try to find pkg-config - if test -z "$PKG_CONFIG"; then - AC_PATH_PROG(PKG_CONFIG, pkg-config, no) - fi - - dnl If pkg-config is found try using it - if test "$PHP_OPENSSL_DIR" = "yes" && test -x "$PKG_CONFIG" && $PKG_CONFIG --exists openssl; then - if $PKG_CONFIG --atleast-version=0.9.6 openssl; then - found_openssl=yes - OPENSSL_LIBS=`$PKG_CONFIG --libs openssl` - OPENSSL_INCS=`$PKG_CONFIG --cflags-only-I openssl` - OPENSSL_INCDIR=`$PKG_CONFIG --variable=includedir openssl` - else - AC_MSG_ERROR([OpenSSL version 0.9.6 or greater required.]) - fi - - if test -n "$OPENSSL_LIBS" && test -n "$OPENSSL_INCS"; then - PHP_EVAL_LIBLINE($OPENSSL_LIBS, $1) - PHP_EVAL_INCLINE($OPENSSL_INCS) - fi - fi - - dnl If pkg-config fails for some reason, revert to the old method - if test "$found_openssl" = "no"; then - - if test "$PHP_OPENSSL_DIR" = "yes"; then - PHP_OPENSSL_DIR="/usr/local/ssl /usr/local /usr /usr/local/openssl" - fi - - for i in $PHP_OPENSSL_DIR; do - if test -r $i/include/openssl/evp.h; then - OPENSSL_INCDIR=$i/include - fi - if test -r $i/$PHP_LIBDIR/libssl.a -o -r $i/$PHP_LIBDIR/libssl.$SHLIB_SUFFIX_NAME; then - OPENSSL_LIBDIR=$i/$PHP_LIBDIR - fi - test -n "$OPENSSL_INCDIR" && test -n "$OPENSSL_LIBDIR" && break - done - - if test -z "$OPENSSL_INCDIR"; then - AC_MSG_ERROR([Cannot find OpenSSL's <evp.h>]) - fi - - if test -z "$OPENSSL_LIBDIR"; then - AC_MSG_ERROR([Cannot find OpenSSL's libraries]) - fi - - old_CPPFLAGS=$CPPFLAGS - CPPFLAGS=-I$OPENSSL_INCDIR - AC_MSG_CHECKING([for OpenSSL version]) - AC_EGREP_CPP(yes,[ -#include <openssl/opensslv.h> -#if OPENSSL_VERSION_NUMBER >= 0x0090600fL - yes -#endif - ],[ - AC_MSG_RESULT([>= 0.9.6]) - ],[ - AC_MSG_ERROR([OpenSSL version 0.9.6 or greater required.]) - ]) - CPPFLAGS=$old_CPPFLAGS - - PHP_ADD_INCLUDE($OPENSSL_INCDIR) - - PHP_CHECK_LIBRARY(crypto, CRYPTO_free, [:],[ - AC_MSG_ERROR([libcrypto not found!]) - ],[ - -L$OPENSSL_LIBDIR - ]) - - old_LIBS=$LIBS - LIBS="$LIBS -lcrypto" - PHP_CHECK_LIBRARY(ssl, SSL_CTX_set_ssl_version, [ - found_openssl=yes - ],[ - AC_MSG_ERROR([libssl not found!]) - ],[ - -L$OPENSSL_LIBDIR - ]) - LIBS=$old_LIBS - PHP_ADD_LIBRARY(ssl,,$1) - PHP_ADD_LIBRARY(crypto,,$1) - - PHP_ADD_LIBPATH($OPENSSL_LIBDIR, $1) - fi - - if test "$found_openssl" = "yes"; then - dnl For apache 1.3.x static build - OPENSSL_INCDIR_OPT=-I$OPENSSL_INCDIR - AC_SUBST(OPENSSL_INCDIR_OPT) - -ifelse([$2],[],:,[$2]) -ifelse([$3],[],,[else $3]) - fi -]) - -dnl -dnl PHP_SETUP_ICONV(shared-add [, action-found [, action-not-found]]) -dnl -dnl Common setup macro for iconv -dnl -AC_DEFUN([PHP_SETUP_ICONV], [ - found_iconv=no - unset ICONV_DIR - - # Create the directories for a VPATH build: - $php_shtool mkdir -p ext/iconv - - echo > ext/iconv/php_have_bsd_iconv.h - echo > ext/iconv/php_have_ibm_iconv.h - echo > ext/iconv/php_have_glibc_iconv.h - echo > ext/iconv/php_have_libiconv.h - echo > ext/iconv/php_have_iconv.h - echo > ext/iconv/php_php_iconv_impl.h - echo > ext/iconv/php_iconv_aliased_libiconv.h - echo > ext/iconv/php_php_iconv_h_path.h - echo > ext/iconv/php_iconv_supports_errno.h - - dnl - dnl Check libc first if no path is provided in --with-iconv - dnl - if test "$PHP_ICONV" = "yes"; then - AC_CHECK_FUNC(iconv, [ - found_iconv=yes - ],[ - AC_CHECK_FUNC(libiconv,[ - PHP_DEFINE(HAVE_LIBICONV,1,[ext/iconv]) - AC_DEFINE(HAVE_LIBICONV, 1, [ ]) - found_iconv=yes - ]) - ]) - fi - - dnl - dnl Check external libs for iconv funcs - dnl - if test "$found_iconv" = "no"; then - - for i in $PHP_ICONV /usr/local /usr; do - if test -r $i/include/giconv.h; then - AC_DEFINE(HAVE_GICONV_H, 1, [ ]) - ICONV_DIR=$i - iconv_lib_name=giconv - break - elif test -r $i/include/iconv.h; then - ICONV_DIR=$i - iconv_lib_name=iconv - break - fi - done - - if test -z "$ICONV_DIR"; then - AC_MSG_ERROR([Please specify the install prefix of iconv with --with-iconv=<DIR>]) - fi - - if test -f $ICONV_DIR/$PHP_LIBDIR/lib$iconv_lib_name.a || - test -f $ICONV_DIR/$PHP_LIBDIR/lib$iconv_lib_name.$SHLIB_SUFFIX_NAME - then - PHP_CHECK_LIBRARY($iconv_lib_name, libiconv, [ - found_iconv=yes - PHP_DEFINE(HAVE_LIBICONV,1,[ext/iconv]) - AC_DEFINE(HAVE_LIBICONV,1,[ ]) - PHP_DEFINE([ICONV_ALIASED_LIBICONV],1,[ext/iconv]) - AC_DEFINE([ICONV_ALIASED_LIBICONV],1,[iconv() is aliased to libiconv() in -liconv]) - ], [ - PHP_CHECK_LIBRARY($iconv_lib_name, iconv, [ - found_iconv=yes - ], [], [ - -L$ICONV_DIR/$PHP_LIBDIR - ]) - ], [ - -L$ICONV_DIR/$PHP_LIBDIR - ]) - fi - fi - - if test "$found_iconv" = "yes"; then - PHP_DEFINE(HAVE_ICONV,1,[ext/iconv]) - AC_DEFINE(HAVE_ICONV,1,[ ]) - if test -n "$ICONV_DIR"; then - PHP_ADD_LIBRARY_WITH_PATH($iconv_lib_name, $ICONV_DIR/$PHP_LIBDIR, $1) - PHP_ADD_INCLUDE($ICONV_DIR/include) - fi - $2 -ifelse([$3],[],,[else $3]) - fi -]) - -dnl -dnl PHP_SETUP_LIBXML(shared-add [, action-found [, action-not-found]]) -dnl -dnl Common setup macro for libxml -dnl -AC_DEFUN([PHP_SETUP_LIBXML], [ -AC_CACHE_CHECK([for xml2-config path], ac_cv_php_xml2_config_path, -[ - for i in $PHP_LIBXML_DIR /usr/local /usr; do - if test -x "$i/bin/xml2-config"; then - ac_cv_php_xml2_config_path="$i/bin/xml2-config" - break - fi - done -]) - - if test -x "$ac_cv_php_xml2_config_path"; then - XML2_CONFIG="$ac_cv_php_xml2_config_path" - libxml_full_version=`$XML2_CONFIG --version` - ac_IFS=$IFS - IFS="." - set $libxml_full_version - IFS=$ac_IFS - LIBXML_VERSION=`expr [$]1 \* 1000000 + [$]2 \* 1000 + [$]3` - if test "$LIBXML_VERSION" -ge "2006011"; then - LIBXML_LIBS=`$XML2_CONFIG --libs` - LIBXML_INCS=`$XML2_CONFIG --cflags` - PHP_EVAL_LIBLINE($LIBXML_LIBS, $1) - PHP_EVAL_INCLINE($LIBXML_INCS) - - dnl Check that build works with given libs - AC_CACHE_CHECK(whether libxml build works, php_cv_libxml_build_works, [ - PHP_TEST_BUILD(xmlInitParser, - [ - php_cv_libxml_build_works=yes - ], [ - AC_MSG_RESULT(no) - AC_MSG_ERROR([build test failed. Please check the config.log for details.]) - ], [ - [$]$1 - ]) - ]) - if test "$php_cv_libxml_build_works" = "yes"; then - AC_DEFINE(HAVE_LIBXML, 1, [ ]) - fi - $2 - else - AC_MSG_ERROR([libxml2 version 2.6.11 or greater required.]) - fi -ifelse([$3],[],,[else $3]) - fi -]) - -dnl ------------------------------------------------------------------------- -dnl Misc. macros -dnl ------------------------------------------------------------------------- - -dnl -dnl PHP_INSTALL_HEADERS(path [, file ...]) -dnl -dnl PHP header files to be installed -dnl -AC_DEFUN([PHP_INSTALL_HEADERS],[ - ifelse([$2],[],[ - for header_file in $1; do - PHP_RUN_ONCE(INSTALLHEADERS, $header_file, [ - INSTALL_HEADERS="$INSTALL_HEADERS $header_file" - ]) - done - ], [ - header_path=$1 - for header_file in $2; do - hp_hf="$header_path/$header_file" - PHP_RUN_ONCE(INSTALLHEADERS, $hp_hf, [ - INSTALL_HEADERS="$INSTALL_HEADERS $hp_hf" - ]) - done - ]) -]) - -dnl -dnl PHP_AP_EXTRACT_VERSION(/path/httpd) -dnl -dnl This macro is used to get a comparable -dnl version for apache1/2. -dnl -AC_DEFUN([PHP_AP_EXTRACT_VERSION],[ - ac_output=`$1 -v 2>&1 | grep version` - ac_IFS=$IFS -IFS="- /. -" - set $ac_output - IFS=$ac_IFS - - APACHE_VERSION=`expr [$]4 \* 1000000 + [$]5 \* 1000 + [$]6` -]) - -dnl -dnl PHP_DEBUG_MACRO(filename) -dnl -AC_DEFUN([PHP_DEBUG_MACRO],[ - DEBUG_LOG=$1 - cat >$1 <<X -CONFIGURE: $CONFIGURE_COMMAND -CC: $CC -CFLAGS: $CFLAGS -CPPFLAGS: $CPPFLAGS -CXX: $CXX -CXXFLAGS: $CXXFLAGS -INCLUDES: $INCLUDES -LDFLAGS: $LDFLAGS -LIBS: $LIBS -DLIBS: $DLIBS -SAPI: $PHP_SAPI -PHP_RPATHS: $PHP_RPATHS -uname -a: `uname -a` - -X - cat >conftest.$ac_ext <<X -main() -{ - exit(0); -} -X - (eval echo \"$ac_link\"; eval $ac_link && ./conftest) >>$1 2>&1 - rm -fr conftest* -]) - -dnl -dnl PHP_CONFIG_NICE(filename) -dnl -dnl Generates the config.nice file -dnl -AC_DEFUN([PHP_CONFIG_NICE],[ - AC_REQUIRE([AC_PROG_EGREP]) - AC_REQUIRE([LT_AC_PROG_SED]) - PHP_SUBST_OLD(EGREP) - PHP_SUBST_OLD(SED) - test -f $1 && mv $1 $1.old - rm -f $1.old - cat >$1<<EOF -#! /bin/sh -# -# Created by configure - -EOF - - for var in CFLAGS CXXFLAGS CPPFLAGS LDFLAGS EXTRA_LDFLAGS_PROGRAM LIBS CC CXX; do - eval val=\$$var - if test -n "$val"; then - echo "$var='$val' \\" >> $1 - fi - done - - echo "'[$]0' \\" >> $1 - if test `expr -- [$]0 : "'.*"` = 0; then - CONFIGURE_COMMAND="$CONFIGURE_COMMAND '[$]0'" - else - CONFIGURE_COMMAND="$CONFIGURE_COMMAND [$]0" - fi - for arg in $ac_configure_args; do - if test `expr -- $arg : "'.*"` = 0; then - if test `expr -- $arg : "--.*"` = 0; then - break; - fi - echo "'[$]arg' \\" >> $1 - CONFIGURE_OPTIONS="$CONFIGURE_OPTIONS '[$]arg'" - else - if test `expr -- $arg : "'--.*"` = 0; then - break; - fi - echo "[$]arg \\" >> $1 - CONFIGURE_OPTIONS="$CONFIGURE_OPTIONS [$]arg" - fi - done - echo '"[$]@"' >> $1 - chmod +x $1 - CONFIGURE_COMMAND="$CONFIGURE_COMMAND $CONFIGURE_OPTIONS" - PHP_SUBST_OLD(CONFIGURE_COMMAND) - PHP_SUBST_OLD(CONFIGURE_OPTIONS) -]) - -dnl -dnl PHP_CHECK_CONFIGURE_OPTIONS -dnl -AC_DEFUN([PHP_CHECK_CONFIGURE_OPTIONS],[ - for arg in $ac_configure_args; do - case $arg in - --with-*[)] - arg_name="`echo [$]arg | $SED -e 's/--with-/with-/g' -e 's/=.*//g'`" - ;; - --without-*[)] - arg_name="`echo [$]arg | $SED -e 's/--without-/with-/g' -e 's/=.*//g'`" - ;; - --enable-*[)] - arg_name="`echo [$]arg | $SED -e 's/--enable-/enable-/g' -e 's/=.*//g'`" - ;; - --disable-*[)] - arg_name="`echo [$]arg | $SED -e 's/--disable-/enable-/g' -e 's/=.*//g'`" - ;; - *[)] - continue - ;; - esac - case $arg_name in - # Allow --disable-all / --enable-all - enable-all[)];; - - # Allow certain libtool options - enable-libtool-lock | with-pic | with-tags | enable-shared | enable-static | enable-fast-install | with-gnu-ld[)];; - - # Allow certain TSRM options - with-tsrm-pth | with-tsrm-st | with-tsrm-pthreads[)];; - - # Allow certain Zend options - with-zend-vm | enable-maintainer-zts | enable-inline-optimization[)];; - - # All the rest must be set using the PHP_ARG_* macros - # PHP_ARG_* macros set php_enable_<arg_name> or php_with_<arg_name> - *[)] - # Options that exist before PHP 6 - if test "$PHP_MAJOR_VERSION" -lt "6"; then - case $arg_name in - enable-zend-multibyte[)] continue;; - esac - fi - - is_arg_set=php_[]`echo [$]arg_name | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ-' 'abcdefghijklmnopqrstuvwxyz_'` - if eval test "x\$$is_arg_set" = "x"; then - PHP_UNKNOWN_CONFIGURE_OPTIONS="$PHP_UNKNOWN_CONFIGURE_OPTIONS -[$]arg" - fi - ;; - esac - done -]) - -dnl -dnl PHP_CHECK_PDO_INCLUDES([found [, not-found]]) -dnl -AC_DEFUN([PHP_CHECK_PDO_INCLUDES],[ - AC_CACHE_CHECK([for PDO includes], pdo_inc_path, [ - AC_MSG_CHECKING([for PDO includes]) - if test -f $abs_srcdir/include/php/ext/pdo/php_pdo_driver.h; then - pdo_inc_path=$abs_srcdir/ext - elif test -f $abs_srcdir/ext/pdo/php_pdo_driver.h; then - pdo_inc_path=$abs_srcdir/ext - elif test -f $prefix/include/php/ext/pdo/php_pdo_driver.h; then - pdo_inc_path=$prefix/include/php/ext - fi - ]) - if test -n "$pdo_inc_path"; then -ifelse([$1],[],:,[$1]) - else -ifelse([$2],[],[AC_MSG_ERROR([Cannot find php_pdo_driver.h.])],[$2]) - fi -]) - -dnl -dnl PHP_DETECT_ICC -dnl Detect Intel C++ Compiler and unset $GCC if ICC found -AC_DEFUN([PHP_DETECT_ICC], -[ - ICC="no" - AC_MSG_CHECKING([for icc]) - AC_EGREP_CPP([^__INTEL_COMPILER], [__INTEL_COMPILER], - ICC="no" - AC_MSG_RESULT([no]), - ICC="yes" - GCC="no" - AC_MSG_RESULT([yes]) - ) -]) - -dnl PHP_DETECT_SUNCC -dnl Detect if the systems default compiler is suncc. -dnl We also set some usefull CFLAGS if the user didn't set any -AC_DEFUN([PHP_DETECT_SUNCC],[ - SUNCC="no" - AC_MSG_CHECKING([for suncc]) - AC_EGREP_CPP([^__SUNPRO_C], [__SUNPRO_C], - SUNCC="no" - AC_MSG_RESULT([no]), - SUNCC="yes" - GCC="no" - test -n "$auto_cflags" && CFLAGS="-O -xs -xstrconst -zlazyload" - GCC="" - AC_MSG_RESULT([yes]) - ) -]) - -dnl -dnl PHP_CRYPT_R_STYLE -dnl detect the style of crypt_r() is any is available -dnl see APR_CHECK_CRYPT_R_STYLE() for original version -dnl -AC_DEFUN([PHP_CRYPT_R_STYLE], -[ - AC_CACHE_CHECK([which data struct is used by crypt_r], php_cv_crypt_r_style,[ - php_cv_crypt_r_style=none - AC_TRY_COMPILE([ -#define _REENTRANT 1 -#include <crypt.h> -],[ -CRYPTD buffer; -crypt_r("passwd", "hash", &buffer); -], -php_cv_crypt_r_style=cryptd) - - if test "$php_cv_crypt_r_style" = "none"; then - AC_TRY_COMPILE([ -#define _REENTRANT 1 -#include <crypt.h> -],[ -struct crypt_data buffer; -crypt_r("passwd", "hash", &buffer); -], -php_cv_crypt_r_style=struct_crypt_data) - fi - - if test "$php_cv_crypt_r_style" = "none"; then - AC_TRY_COMPILE([ -#define _REENTRANT 1 -#define _GNU_SOURCE -#include <crypt.h> -],[ -struct crypt_data buffer; -crypt_r("passwd", "hash", &buffer); -], -php_cv_crypt_r_style=struct_crypt_data_gnu_source) - fi - ]) - - if test "$php_cv_crypt_r_style" = "cryptd"; then - AC_DEFINE(CRYPT_R_CRYPTD, 1, [Define if crypt_r has uses CRYPTD]) - fi - if test "$php_cv_crypt_r_style" = "struct_crypt_data" -o "$php_cv_crypt_r_style" = "struct_crypt_data_gnu_source"; then - AC_DEFINE(CRYPT_R_STRUCT_CRYPT_DATA, 1, [Define if crypt_r uses struct crypt_data]) - fi - if test "$php_cv_crypt_r_style" = "struct_crypt_data_gnu_source"; then - AC_DEFINE(CRYPT_R_GNU_SOURCE, 1, [Define if struct crypt_data requires _GNU_SOURCE]) - fi - if test "$php_cv_crypt_r_style" = "none"; then - AC_MSG_ERROR([Unable to detect data struct used by crypt_r]) - fi -]) - -dnl -dnl PHP_TEST_WRITE_STDOUT -dnl -AC_DEFUN([PHP_TEST_WRITE_STDOUT],[ - AC_CACHE_CHECK(whether writing to stdout works,ac_cv_write_stdout,[ - AC_TRY_RUN([ -#ifdef HAVE_UNISTD_H -#include <unistd.h> -#endif - -#define TEXT "This is the test message -- " - -main() -{ - int n; - - n = write(1, TEXT, sizeof(TEXT)-1); - return (!(n == sizeof(TEXT)-1)); -} - ],[ - ac_cv_write_stdout=yes - ],[ - ac_cv_write_stdout=no - ],[ - ac_cv_write_stdout=no - ]) - ]) - if test "$ac_cv_write_stdout" = "yes"; then - AC_DEFINE(PHP_WRITE_STDOUT, 1, [whether write(2) works]) - fi -]) - |