--- embedaddon/php/aclocal.m4 2012/02/21 23:47:51 1.1.1.1 +++ embedaddon/php/aclocal.m4 2013/10/14 08:02:07 1.1.1.4 @@ -1,5 +1,5 @@ dnl -dnl $Id: aclocal.m4,v 1.1.1.1 2012/02/21 23:47:51 misho Exp $ +dnl $Id: aclocal.m4,v 1.1.1.4 2013/10/14 08:02:07 misho Exp $ dnl dnl This file contains local autoconf functions. dnl @@ -66,10 +66,10 @@ AC_DEFUN([PHP_EXPAND_PATH],[ $2=$1 else changequote({,}) - ep_dir="`echo $1|$SED 's%/*[^/][^/]*/*$%%'`" + ep_dir=`echo $1|$SED 's%/*[^/][^/]*/*$%%'` changequote([,]) - ep_realdir="`(cd \"$ep_dir\" && pwd)`" - $2="$ep_realdir/`basename \"$1\"`" + ep_realdir=`(cd "$ep_dir" && pwd)` + $2="$ep_realdir"/`basename "$1"` fi ]) @@ -194,7 +194,7 @@ dnl the path is interpreted relative to the top build- 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,ifelse($4,cgi,PHP_CGI_OBJS,ifelse($4,fpm,PHP_FPM_OBJS,PHP_GLOBAL_OBJS))))) + PHP_ADD_SOURCES_X($1, $2, $3, ifelse($4,sapi,PHP_SAPI_OBJS,PHP_GLOBAL_OBJS)) ]) dnl @@ -762,6 +762,7 @@ AC_DEFUN([PHP_REQUIRE_CXX],[ if test -z "$php_cxx_done"; then AC_PROG_CXX AC_PROG_CXXCPP + PHP_ADD_LIBRARY(stdc++) php_cxx_done=yes fi ]) @@ -772,7 +773,7 @@ dnl AC_DEFUN([PHP_BUILD_SHARED],[ PHP_BUILD_PROGRAM OVERALL_TARGET=libphp[]$PHP_MAJOR_VERSION[.la] - php_build_target=shared + php_sapi_module=shared php_c_pre=$shared_c_pre php_c_meta=$shared_c_meta @@ -789,7 +790,7 @@ dnl AC_DEFUN([PHP_BUILD_STATIC],[ PHP_BUILD_PROGRAM OVERALL_TARGET=libphp[]$PHP_MAJOR_VERSION[.la] - php_build_target=static + php_sapi_module=static ]) dnl @@ -798,14 +799,13 @@ dnl AC_DEFUN([PHP_BUILD_BUNDLE],[ PHP_BUILD_PROGRAM OVERALL_TARGET=libs/libphp[]$PHP_MAJOR_VERSION[.bundle] - php_build_target=static + php_sapi_module=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= @@ -826,8 +826,6 @@ AC_DEFUN([PHP_BUILD_PROGRAM],[ shared_cxx_meta='$(COMMON_FLAGS) $(CXXFLAGS_CLEAN) $(EXTRA_CXXFLAGS) '$pic_setting shared_cxx_post= shared_lo=lo - - php_build_target=program ]) dnl @@ -873,32 +871,45 @@ 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 Selects the SAPI name and type (static, shared, bundle, program) 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([ + if test "$2" = "program"; then + PHP_BINARIES="$PHP_BINARIES $1" + elif test "$PHP_SAPI" != "none"; 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. | +| one SAPI module plus CGI, CLI and FPM binaries at the same time. | +--------------------------------------------------------------------+ ]) - fi + else + PHP_SAPI=$1 + 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])]) + PHP_ADD_BUILD_DIR([sapi/$1]) + + PHP_INSTALLED_SAPIS="$PHP_INSTALLED_SAPIS $1" + + ifelse($2,program,[ + PHP_BUILD_PROGRAM + install_binaries="install-binaries" + install_binary_targets="$install_binary_targets install-$1" + PHP_SUBST(PHP_[]translit($1,a-z0-9-,A-Z0-9_)[]_OBJS) + ifelse($3,,,[PHP_ADD_SOURCES_X([sapi/$1],[$3],[$4],PHP_[]translit($1,a-z0-9-,A-Z0-9_)[]_OBJS)]) + ],[ + case "$2" in + static[)] PHP_BUILD_STATIC;; + shared[)] PHP_BUILD_SHARED;; + bundle[)] PHP_BUILD_BUNDLE;; + esac + install_sapi="install-sapi" + ifelse($3,,,[PHP_ADD_SOURCES([sapi/$1],[$3],[$4],[sapi])]) + ]) ]) dnl deprecated @@ -973,9 +984,15 @@ dnl ---------------------------------------------- Sha 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) - PHP_ADD_SOURCES(PHP_EXT_DIR($1),$2,$ac_extra,cgi) - PHP_ADD_SOURCES(PHP_EXT_DIR($1),$2,$ac_extra,fpm) + ;; + esac EXT_CLI_STATIC="$EXT_CLI_STATIC $1" fi PHP_ADD_BUILD_DIR($ext_builddir) @@ -1025,6 +1042,12 @@ You either need to build $1 shared or build $2 statica 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 ]) @@ -1809,7 +1832,7 @@ AC_TRY_COMPILE([ ]) dnl ------------------------------------------------------------------------- -dnl Library/function existance and build sanity checks +dnl Library/function existence and build sanity checks dnl ------------------------------------------------------------------------- dnl @@ -2297,9 +2320,9 @@ AC_DEFUN([PHP_SETUP_OPENSSL],[ test -z "$PHP_IMAP_SSL" && PHP_IMAP_SSL=no dnl Fallbacks for different configure options - if test -n "$PHP_OPENSSL" && test "$PHP_OPENSSL" != "no"; then + if test "$PHP_OPENSSL" != "no"; then PHP_OPENSSL_DIR=$PHP_OPENSSL - elif test -n "$PHP_IMAP_SSL" && test "$PHP_IMAP_SSL" != "no"; then + elif test "$PHP_IMAP_SSL" != "no"; then PHP_OPENSSL_DIR=$PHP_IMAP_SSL fi @@ -2319,8 +2342,10 @@ AC_DEFUN([PHP_SETUP_OPENSSL],[ AC_MSG_ERROR([OpenSSL version 0.9.6 or greater required.]) fi - if test -n "$OPENSSL_LIBS" && test -n "$OPENSSL_INCS"; then + if test -n "$OPENSSL_LIBS"; then PHP_EVAL_LIBLINE($OPENSSL_LIBS, $1) + fi + if test -n "$OPENSSL_INCS"; then PHP_EVAL_INCLINE($OPENSSL_INCS) fi fi @@ -2426,7 +2451,12 @@ AC_DEFUN([PHP_SETUP_ICONV], [ dnl dnl Check libc first if no path is provided in --with-iconv dnl + if test "$PHP_ICONV" = "yes"; then + dnl Reset LIBS temporarily as it may have already been included + dnl -liconv in. + LIBS_save="$LIBS" + LIBS= AC_CHECK_FUNC(iconv, [ found_iconv=yes ],[ @@ -2436,6 +2466,7 @@ AC_DEFUN([PHP_SETUP_ICONV], [ found_iconv=yes ]) ]) + LIBS="$LIBS_save" fi dnl @@ -2654,19 +2685,19 @@ EOF 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 + 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 @@ -2734,17 +2765,17 @@ 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_CACHE_CHECK([for PDO includes], pdo_cv_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 + pdo_cv_inc_path=$abs_srcdir/ext elif test -f $abs_srcdir/ext/pdo/php_pdo_driver.h; then - pdo_inc_path=$abs_srcdir/ext + pdo_cv_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 + pdo_cv_inc_path=$prefix/include/php/ext fi ]) - if test -n "$pdo_inc_path"; then + if test -n "$pdo_cv_inc_path"; then ifelse([$1],[],:,[$1]) else ifelse([$2],[],[AC_MSG_ERROR([Cannot find php_pdo_driver.h.])],[$2]) @@ -2872,6 +2903,115 @@ main() fi ]) +dnl +dnl PHP_INIT_DTRACE(providerdesc, header-file, sources [, module]) +dnl +AC_DEFUN([PHP_INIT_DTRACE],[ +dnl Set paths properly when called from extension + case "$4" in + ""[)] ac_srcdir="$abs_srcdir/"; unset ac_bdir;; + /*[)] ac_srcdir=`echo "$4"|cut -c 2-`"/"; ac_bdir=$ac_srcdir;; + *[)] ac_srcdir="$abs_srcdir/$1/"; ac_bdir="$4/";; + esac + +dnl providerdesc + ac_provsrc=$1 + old_IFS=[$]IFS + IFS=. + set $ac_provsrc + ac_provobj=[$]1 + IFS=$old_IFS + +dnl header-file + ac_hdrobj=$2 + +dnl Add providerdesc.o or .lo into global objects when needed + case $host_alias in + *freebsd*) + PHP_GLOBAL_OBJS="[$]PHP_GLOBAL_OBJS [$]ac_bdir[$]ac_provsrc.o" + PHP_LDFLAGS="$PHP_LDFLAGS -lelf" + ;; + *solaris*) + PHP_GLOBAL_OBJS="[$]PHP_GLOBAL_OBJS [$]ac_bdir[$]ac_provsrc.lo" + ;; + *linux*) + PHP_GLOBAL_OBJS="[$]PHP_GLOBAL_OBJS [$]ac_bdir[$]ac_provsrc.lo" + ;; + esac + +dnl DTrace objects + old_IFS=[$]IFS + for ac_src in $3; do + IFS=. + set $ac_src + ac_obj=[$]1 + IFS=$old_IFS + + PHP_DTRACE_OBJS="[$]PHP_DTRACE_OBJS [$]ac_bdir[$]ac_obj.lo" + done; + + case [$]php_sapi_module in + shared[)] + for ac_lo in $PHP_DTRACE_OBJS; do + dtrace_objs="[$]dtrace_objs `echo $ac_lo | $SED -e 's,\.lo$,.o,' -e 's#\(.*\)\/#\1\/.libs\/#'`" + done; + ;; + *[)] + dtrace_objs='$(PHP_DTRACE_OBJS:.lo=.o)' + ;; + esac + +dnl Generate Makefile.objects entries +dnl The empty $ac_provsrc command stops an implicit circular dependency +dnl in GNU Make which causes the .d file to be overwritten (Bug 61268) + cat>>Makefile.objects< \$[]@ + +\$(PHP_DTRACE_OBJS): $ac_bdir[$]ac_hdrobj + +EOF + + case $host_alias in + *solaris*|*linux*) + dtrace_prov_name="`echo $ac_provsrc | $SED -e 's#\(.*\)\/##'`.o" + dtrace_lib_dir="`echo $ac_bdir[$]ac_provsrc | $SED -e 's#\(.*\)/[^/]*#\1#'`/.libs" + dtrace_d_obj="`echo $ac_bdir[$]ac_provsrc | $SED -e 's#\(.*\)/\([^/]*\)#\1/.libs/\2#'`.o" + dtrace_nolib_objs='$(PHP_DTRACE_OBJS:.lo=.o)' + for ac_lo in $PHP_DTRACE_OBJS; do + dtrace_lib_objs="[$]dtrace_lib_objs `echo $ac_lo | $SED -e 's,\.lo$,.o,' -e 's#\(.*\)\/#\1\/.libs\/#'`" + done; +dnl Always attempt to create both PIC and non-PIC DTrace objects (Bug 63692) + cat>>Makefile.objects< \$[]@ + @test -d "$dtrace_lib_dir" || mkdir $dtrace_lib_dir + if CFLAGS="\$(CFLAGS_CLEAN)" dtrace -G -o $dtrace_d_obj -s $abs_srcdir/$ac_provsrc $dtrace_lib_objs 2> /dev/null && test -f "$dtrace_d_obj"; then [\\] + echo "pic_object=['].libs/$dtrace_prov_name[']" >> \$[]@ [;\\] + else [\\] + echo "pic_object='none'" >> \$[]@ [;\\] + fi + if CFLAGS="\$(CFLAGS_CLEAN)" dtrace -G -o $ac_bdir[$]ac_provsrc.o -s $abs_srcdir/$ac_provsrc $dtrace_nolib_objs 2> /dev/null && test -f "$ac_bdir[$]ac_provsrc.o"; then [\\] + echo "non_pic_object=[']$dtrace_prov_name[']" >> \$[]@ [;\\] + else [\\] + echo "non_pic_object='none'" >> \$[]@ [;\\] + fi + +EOF + + ;; + *) +cat>>Makefile.objects<