So viel Glück, würde ich mir vorstellen. Ich war interessiert, also habe ich versucht, eine Lösung zu finden. Ich dachte, dies könnte eine mögliche configure.ac
gewesen sein:
AC_INIT([Autohell], [0.0.1])
AC_PREREQ(2.13)
AC_ARG_ENABLE([extras],[AC_HELP_STRING([--enable-extras],[Enable extra options])],
[
AS_CASE([$enable_extras],
[yes],
[
AC_ARG_ENABLE([foo],[AC_HELP_STRING([--enable-foo],[Enable the Foo])],
[
enable_foo=$enableval
echo "Foo Enabled"
],
[
enable_foo="no"
echo "Foo Disabled"
])
],
[
echo "Extras Disabled"
])
],enable_extras="no")
AM_CONDITIONAL([FOO],[test "$enable_foo" = "yes"])
cat << EOF
Extras: ${enable_extras}
Foo: ${enable_foo}
EOF
Unnötig zu sagen, es hat nicht funktioniert. Sowohl --enable-extras
und --enable-foo
erscheinen in ./configure --help
und die Variablen durch die Schalter eingestellt sind unabhängig, lesen Sie in diesem Beispiel für die Ausgabe:
$ ./configure
Extras: no
Foo:
$ ./configure --enable-extras
Foo Disabled
Extras: yes
Foo: no
$ ./configure --enable-extras --enable-foo
Foo Enabled
Extras: yes
Foo: yes
$ ./configure --disable-extras --enable-foo
Extras Disabled...
Extras: no
Foo: yes
Ausgabe ist recht interessant: Obwohl die Schalter und ergänzende Variablen vorhanden sind, die bedingte Blöcke eingehalten werden so können wir wirklich nur --enable-foo
wenn wir auch --enable-extras
.