Configure is now less forgiving
Posted on by Vadim Zeitlin
Just a word of warning: it was previously possibly to write:
../configure --enable-bloordyblop
and configure would happily run and just ignore the unknown option. This could
be seen as being nicely lenient but, in fact, was much more often aggravating as
it allowed typos in configure options to slip through, resulting in many “WTF
are my library binaries still not optimised even though I did use
--enable-optimize
?”. The answer is, of course, as previously mentioned,
wxWidgets British roots: you were supposed to use --enable-optimise
(spelled
with an “s”) instead. But while sticking to the right spelling might be
commendable, not giving any errors for the wrong alternative one is definitely
not. Moreover, this was never intentional and happened only as an unfortunate
side effect of how Autoconf AC_CONFIG_SUBDIRS()
macro worked.
And this has finally changed: since this recent commit, which will be part of
upcoming 3.1.1 release, unrecognised configure options will result in an
immediate error. And while the new behaviour is better, it does risk breaking a
few of the existing build scripts, e.g. if you use obsolete options (such as
--enable-compat24
) or, indeed, if you made a typo in one of them. In this
case, please just remove the options that don’t exist any more (they were
previously ignored anyhow) or fix the typos. And in the unlikely case when you
really need to pass an unsupported option to wx configure script (why would you
do this?), you can always explicitly use --disable-option-checking
on the
command line to continue doing so – and you will even get an error if you make
a typo in this one!