bug#41819: [libtool-2.4.6] --enable-shared=PKG does not work if LT_INIT is called before AM_INIT_AUTOMAKE
Van de Bugger <[email protected]>
| Newsgroups | gmane.comp.gnu.libtool.bugs |
|---|---|
| Message-ID | <[email protected]> |
Hi, I use: libtool-2.4.6-33.fc32.x86_64 autoconf-2.69-33.fc32.noarch automake-1.16.1-14.fc32.noarch I faced a confusing libtool behaviour: --enable-shared=PKG configure option does not work as described in the libtool manual. I have prepared a little test to demonstrate it: $ cat configure.ac AC_INIT([Foo], [0.0.1], [[email protected]], [], [https://example.org/foo ]) AC_CONFIG_SRCDIR([configure.ac]) AC_CONFIG_MACRO_DIR([_m4]) AC_CONFIG_AUX_DIR([_aux]) LT_INIT([]) AM_INIT_AUTOMAKE([foreign subdir-objects]) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_FILES([Makefile]) AC_OUTPUT() echo "========================================" echo "enable_shared=$enable_shared" echo "enable_static=$enable_static" echo "========================================" $ autoreconf -i $ ./configure --enable-shared=foo checking build system type... x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu checking how to print strings... printf ... config.status: executing libtool commands config.status: executing depfiles commands ======================================== enable_shared=no enable_static=yes ======================================== Pay attention to --enable-shared=foo configure option. Regardless of the option, enable_shared is no. --enable-shared option (without argument) does work, though: $ ./configure --enable-shared ... ======================================== enable_shared=yes enable_static=yes ======================================== I have a look into configure script and found that PACKAGE variable is used before it is initialized. It seems it was my mistake, I have called LT_INIT *before* AM_INIT_AUTOMAKE: LT_INIT([]) AM_INIT_AUTOMAKE([foreign subdir-objects]) Swapping these two lines: AM_INIT_AUTOMAKE([foreign subdir-objects]) LT_INIT([]) sorts out the problem, so --enable-shared=foo works as expected. However, libtool manual says nothing about relative order of LT_INIT and AM_INIT_AUTOMAKE, while it is not obvious for newbies. Could you please note in libtool manual that LT_INIT must be called *after* AM_INIT_AUTOMAKE? Thanks. _______________________________________________ Bug-libtool mailing list [email protected] https://lists.gnu.org/mailman/listinfo/bug-libtool