[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#41819: [libtool-2.4.6] --enable-shared=PKG does not work if LT_INIT
From: |
Van de Bugger |
Subject: |
bug#41819: [libtool-2.4.6] --enable-shared=PKG does not work if LT_INIT is called before AM_INIT_AUTOMAKE |
Date: |
Fri, 12 Jun 2020 02:25:42 +0300 |
User-agent: |
Evolution 3.36.2 (3.36.2-1.fc32) |
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], [foo@example.org], [], [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.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- bug#41819: [libtool-2.4.6] --enable-shared=PKG does not work if LT_INIT is called before AM_INIT_AUTOMAKE,
Van de Bugger <=