On Mon, Sep 17, 2012 at 4:50 PM, Philip Olson <phi...@roshambo.org> wrote: > > On Sep 17, 2012, at 8:30 AM, jpauli wrote: > >> On Mon, Sep 17, 2012 at 2:48 PM, Hannes Magnusson >> <hannes.magnus...@gmail.com> wrote: >>> On Mon, Sep 17, 2012 at 9:59 AM, jpauli <jpa...@php.net> wrote: >>>>> >>>>> I'm confused.. --enable-all is already supported, just like --disable-all >>>>> ? >>>>> >>>>> -Hannes >>>> >>>> AFAIR no :) We have a --disable-all , but no --enable-all. >>>> >>>> I'm +1 to add such an option if possible :) >>> >>> >>> Can you please explain to me how it is not working? >>> >>> ~/Sources/php/php-5.3 (PHP-5.3) $ ./configure --enable-all >>> configure: error: Cannot find enchant >>> >>> And no, ext/enchant is not enabled by default. >> >> So the answer is : there is --enable-all switch , but it's not listed >> in the --help output > > Hello all, > > Interesting, I didn't think it existed but now realize why. It's not > documented and it's not very useful. > > There's an old feature request (I wrote it so am surprised I forgot > this exists) about differentiating between --with and --enable, > along with checking if those are actually available on the system: > > https://bugs.php.net/24337 > https://bugs.php.net/33186 > > Awhile ago Rasmus mentioned an idea about creating a shell script that'd > check which options do (and do not) pass configure. I'm not sure how to > do that but maybe someone else does. Just imagine being able to enable > all possible extensions available on a system.. great for 'make test' :)
Something like the attached patch could work, but that means we would have to update all the config.m4s :] -Hannes
diff --git a/acinclude.m4 b/acinclude.m4 index adb9599..dd5af3b 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -2727,8 +2727,8 @@ AC_DEFUN([PHP_CHECK_CONFIGURE_OPTIONS],[ ;; esac case $arg_name in - # Allow --disable-all / --enable-all - enable-all[)];; + # Allow --disable-all / --enable-all / --enable-all-available + enable-all|enable-all-available[)];; # Allow certain libtool options enable-libtool-lock | with-pic | with-tags | enable-shared | enable-static | enable-fast-install | with-gnu-ld[)];; @@ -2969,3 +2969,20 @@ $ac_bdir[$]ac_provsrc.o: \$(PHP_DTRACE_OBJS) EOF ]) + + +dnl +dnl PHP_EXTTENSION_NOT_AVAILABLE(message) +dnl +dnl Wrapper for AC_MSG_[WARN|ERROR] depending if we are trying +dnl to enable all available extensions on the platform, or explicitly +dnl enabling the extension. +dnl +AC_DEFUN([PHP_EXTTENSION_NOT_AVAILABLE],[ + if test "$PHP_ENABLE_ALL_AVAILABLE" = "yes"; then + AC_MSG_WARN($1) + else + AC_MSG_ERROR($1) + fi +]) + diff --git a/configure.in b/configure.in index e5e1cd6..10e4e5f 100644 --- a/configure.in +++ b/configure.in @@ -1011,6 +1011,15 @@ AC_ARG_ENABLE(all, PHP_ENABLE_ALL=$enableval ]) +AC_ARG_ENABLE(all-available, +[ --enable-all-available Enable all extensions available on the platform +], [ + if test "$enableval" = "yes"; then + PHP_ENABLE_ALL=$enableval + fi + PHP_ENABLE_ALL_AVAILABLE=$enableval +]) + # reading config stubs esyscmd(./build/config-stubs ext) diff --git a/ext/enchant/config.m4 b/ext/enchant/config.m4 index cc40d0b..7b2990a 100755 --- a/ext/enchant/config.m4 +++ b/ext/enchant/config.m4 @@ -24,19 +24,19 @@ if test "$PHP_ENCHANT" != "no"; then done if test -z "$ENCHANT_DIR"; then - AC_MSG_ERROR(Cannot find enchant) - fi - - ENCHANT_LIBDIR=$ENCHANT_DIR/lib + PHP_EXTTENSION_NOT_AVAILABLE(Cannot find enchant) + else + ENCHANT_LIBDIR=$ENCHANT_DIR/lib - AC_DEFINE(HAVE_ENCHANT,1,[ ]) - PHP_SUBST(ENCHANT_SHARED_LIBADD) - PHP_ADD_LIBRARY_WITH_PATH(enchant, $ENCHANT_LIBDIR, ENCHANT_SHARED_LIBADD) - PHP_ADD_INCLUDE($ENCHANT_INCDIR) - PHP_CHECK_LIBRARY(enchant, enchant_broker_set_param, - [ - AC_DEFINE(HAVE_ENCHANT_BROKER_SET_PARAM, 1, [ ]) - AC_DEFINE(ENCHANT_VERSION_STRING, "1.5.x", [ ]) - ], [], [ -L$ENCHANT_LIB $ENCHANT_SHARED_LIBADD]) + AC_DEFINE(HAVE_ENCHANT,1,[ ]) + PHP_SUBST(ENCHANT_SHARED_LIBADD) + PHP_ADD_LIBRARY_WITH_PATH(enchant, $ENCHANT_LIBDIR, ENCHANT_SHARED_LIBADD) + PHP_ADD_INCLUDE($ENCHANT_INCDIR) + PHP_CHECK_LIBRARY(enchant, enchant_broker_set_param, + [ + AC_DEFINE(HAVE_ENCHANT_BROKER_SET_PARAM, 1, [ ]) + AC_DEFINE(ENCHANT_VERSION_STRING, "1.5.x", [ ]) + ], [], [ -L$ENCHANT_LIB $ENCHANT_SHARED_LIBADD]) + fi fi
-- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php