--- embedaddon/php/acinclude.m4 2012/05/29 12:34:34 1.1.1.2 +++ embedaddon/php/acinclude.m4 2013/10/14 08:02:06 1.1.1.4 @@ -1,5 +1,5 @@ dnl -dnl $Id: acinclude.m4,v 1.1.1.2 2012/05/29 12:34:34 misho Exp $ +dnl $Id: acinclude.m4,v 1.1.1.4 2013/10/14 08:02:06 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 ]) @@ -984,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) @@ -1036,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 ]) @@ -1820,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 @@ -2308,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 @@ -2330,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 @@ -2437,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 ],[ @@ -2447,6 +2466,7 @@ AC_DEFUN([PHP_SETUP_ICONV], [ found_iconv=yes ]) ]) + LIBS="$LIBS_save" fi dnl @@ -2905,15 +2925,18 @@ dnl providerdesc dnl header-file ac_hdrobj=$2 -dnl Add providerdesc.o into global objects when needed +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.o" + 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 @@ -2939,15 +2962,53 @@ dnl DTrace objects 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<