# an configure option to "enable-all"

- Thread: https://externals.io/message/63019
- Original archive: https://news-web.php.net/php.internals/63019
- Started by Michael Felt on 2012-09-16T19:50:30+00:00
- Messages: 13
- Reply by email to internals@lists.php.net
- More for agents: search with https://externals.io/search.md?q={query} · JSON API at https://externals.io/api · documentation at https://externals.io/llms.txt

---

## #63019 — Michael Felt — 2012-09-16T19:50:30+00:00

URL: https://externals.io/message/63019#63019

Hi. My apologies if I missed an "obvious clue" somewhere, but I am looking
for a configure
option to enable nearly everything - to be supplemented by select disable
statements.

In the past I have had complex configure scripts that I would like to simply
with selective deletes, rather than discover afterwards that I forgot
something.
configure --help does not convince me it is listing all options
(might be wong, might not be reading carefully enough).

Thanks (even if just pointing me at what I should have found!).

Michael

---

## #63020 — Hannes Magnusson — 2012-09-16T20:20:46+00:00

URL: https://externals.io/message/63019#63020 · In reply to: #63019

> Hi. My apologies if I missed an "obvious clue" somewhere, but I am looking
> for a configure
> option to enable nearly everything - to be supplemented by select disable
> statements.
>
> In the past I have had complex configure scripts that I would like to simply
> with selective deletes, rather than discover afterwards that I forgot
> something.
> configure --help does not convince me it is listing all options
> (might be wong, might not be reading carefully enough).
>
> Thanks (even if just pointing me at what I should have found!).


I'm confused.. --enable-all is already supported, just like --disable-all ?

-Hannes

---

## #63022 — Sebastian Krebs — 2012-09-16T21:10:53+00:00

URL: https://externals.io/message/63019#63022 · In reply to: #63020

Am 16.09.2012 22:20, schrieb Hannes Magnusson:
> 
> > […]
>
>
> I'm confused.. --enable-all is already supported, just like --disable-all ?
>
> -Hannes
>

I think he means something like "--enable-all --disable-X --disable-Y". 
Don't know myself, if this is possible right now.

Regards,
Sebastian

---

## #63026 — jpauli — 2012-09-17T08:59:24+00:00

URL: https://externals.io/message/63019#63026 · In reply to: #63020

>
> 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 :)

Julien.P

---

## #63028 — Sebastian Krebs — 2012-09-17T09:31:43+00:00

URL: https://externals.io/message/63019#63028 · In reply to: #63026

2012/9/17 jpauli <jpauli@php.net>

> > […]
> --disable-all ?
> > […]
>
> AFAIR no :) We have a --disable-all , but no --enable-all.
>
> I'm +1 to add such an option if possible :)
>
> Julien.P
>

I don't like the idea, because once --enable-all is available every new
extension would be a BC, because it would be enabled not by default, but at
least and probably unexpected. In worst case no new extensions are possible
anymore...

Regards,
Sebastian


>
> --
> 
> 
>
>


-- 
github.com/KingCrunch

---

## #63031 — Hannes Magnusson — 2012-09-17T12:48:26+00:00

URL: https://externals.io/message/63019#63031 · In reply to: #63026

> > […]
>
> 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.

-Hannes

---

## #63035 — jpauli — 2012-09-17T15:30:31+00:00

URL: https://externals.io/message/63019#63035 · In reply to: #63031

On Mon, Sep 17, 2012 at 2:48 PM, Hannes Magnusson
<hannes.magnusson@gmail.com> wrote:
> 
> > […]
>
>
> 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

Julien.P

---

## #63040 — Philip Olson — 2012-09-17T15:50:21+00:00

URL: https://externals.io/message/63019#63040 · In reply to: #63035

> On Mon, Sep 17, 2012 at 2:48 PM, Hannes Magnusson
> <hannes.magnusson@gmail.com> wrote:
> > […]
> 
> 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' :)

As for the original question, yes you can do that. For example, this
will enable all extensions except for enchant:

  ./configure --enable-all --without-enchant

Much like --disable-all allows enabling specific extensions:

  ./configure --disable-all --with-enchant

Regards,
Philip

---

## #63042 — Hannes Magnusson — 2012-09-17T17:54:47+00:00

URL: https://externals.io/message/63019#63042 · In reply to: #63040

>
> 
>
> > […]
>
> 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

---

## #63048 — Pierre Joye — 2012-09-18T07:59:06+00:00

URL: https://externals.io/message/63019#63048 · In reply to: #63042

hi,

On Mon, Sep 17, 2012 at 7:54 PM, Hannes Magnusson
<hannes.magnusson@gmail.com> wrote:
> Something like the attached patch could work, but that means we would
> have to update all the config.m4s :]

As far as I remember, the enable/disable option default behavior is
what is used in the --help. So basically we do have --enable-all as
the --disable-all being set to false. I would document that as such
instead of modifying the m4 macros everywhere, much less painful.

Cheers,
-- 
Pierre

@pierrejoye | http://blog.thepimp.net | http://www.libgd.org

---

## #63055 — Derick Rethans — 2012-09-18T12:15:05+00:00

URL: https://externals.io/message/63019#63055 · In reply to: #63031

> 
> > […]
> 
> 
> 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.

The Windows buildsystem has --enable-snapshot for this, which doesn't 
error out on libraries not existing. That *could* perhaps be useful, but 
it's a pain to do :-)

cheers,
Derick
-- 
http://derickrethans.nl | http://xdebug.org
Like Xdebug? Consider a donation: http://xdebug.org/donate.php
twitter: @derickr and @xdebug
Posted with an email client that doesn't mangle email: alpine

---

## #63084 — Pierre Joye — 2012-09-18T17:36:10+00:00

URL: https://externals.io/message/63019#63084 · In reply to: #63055

> > […]
>
> The Windows buildsystem has --enable-snapshot for this, which doesn't
> error out on libraries not existing. That *could* perhaps be useful, but
> it's a pain to do :-)

In addition to that we have a summary of the options used, extensions
enabled (and how), etc. which helps to check what's gone wrong :)

Cheers,
-- 
Pierre

@pierrejoye | http://blog.thepimp.net | http://www.libgd.org

---

## #63117 — Hannes Magnusson — 2012-09-18T20:36:01+00:00

URL: https://externals.io/message/63019#63117 · In reply to: #63048

> hi,
>
> On Mon, Sep 17, 2012 at 7:54 PM, Hannes Magnusson
> <hannes.magnusson@gmail.com> wrote:
> > […]
>
> As far as I remember, the enable/disable option default behavior is
> what is used in the --help. So basically we do have --enable-all as

Its not "basically". We *do* have it, it is very explicit in the code.


> the --disable-all being set to false. I would document that as such
> instead of modifying the m4 macros everywhere, much less painful.

That patch introduced --enable-all-available which is completely
different to --enable-all.

--enable-all-available would automatically compile all extensions that
the platform supports (i.e. has the libraries available). For
extensions the platform is missing the library, it would just jump
over it - as aposed to fail and bail out like --enable-all does.

-Hannes
