diff options
author | Vadim Zeitlin <vz-libtool@zeitlins.org> | 2013-10-09 17:35:13 -0700 |
---|---|---|
committer | Brooks Moses <bmoses@google.com> | 2013-10-09 17:35:13 -0700 |
commit | 12641bdc45d091fd1e014d242dcf271237f3c95c (patch) | |
tree | beada21aa30a65744c03b5517313aa5157afab8e /build-aux/ltmain.in | |
parent | 1c89ed8e1cdbee5bf2a56627bf02ebdd427dc2e3 (diff) | |
download | libtool-12641bdc45d091fd1e014d242dcf271237f3c95c.tar.gz |
libtool: Don't fall back to static libraries if building them was disabled
If -no-undefined was not specified but the platform didn't
support shared libraries with undefined symbols (e.g. Cygwin/
MinGW), static libraries were built instead of shared ones,
even if building them was explicitly disabled with --disable-
static configure option.
Fix this by stopping with a fatal error if a shared library
can't be built in this case instead of unexpectedly building a
static library instead.
* libltdl/config/ltmain.m4sh (func_mode_link()): Stop with
fatal error when trying to build a shared library without -no-
undefined on a platform not supporting undefined symbols in
shared libraries.
Copyright-paperwork-exempt: Yes
Diffstat (limited to 'build-aux/ltmain.in')
-rw-r--r-- | build-aux/ltmain.in | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in index 363ce9bb..58b443cd 100644 --- a/build-aux/ltmain.in +++ b/build-aux/ltmain.in @@ -6984,9 +6984,12 @@ func_mode_link () # Check to see if the archive will have undefined symbols. if test yes = "$allow_undefined"; then if test unsupported = "$allow_undefined_flag"; then - func_warning "undefined symbols not allowed in $host shared libraries" - build_libtool_libs=no - build_old_libs=yes + if test "$build_old_libs" = yes; then + func_warning "undefined symbols not allowed in $host shared libraries; building static only" + build_libtool_libs=no + else + func_fatal_error "can't build $host shared library unless -no-undefined is specified" + fi fi else # Don't allow undefined symbols. |