[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Keeping TAGs sane
Keeping TAGs sane
24 Jan 2001 18:08:05 -0200
Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.1 (Crater Lake)
On a system such as AIX, on which we don't support building both
shared and static libraries, using the --tag disable-shared has
revealed some, shall I say, interesting problems. If I understood
correctly, under certain circumstances, we'd fail to import the object
files of a convenience archive into the convenience archive, leaving
I still think there's a bug lurking in there, in case one compiles the
object files with --tag disable-shared but fails to disable shared
libraries when creating the archive. Because object files are PIC by
default, it seems that libtool doesn't pick the object file names from
the non-pic object list of each .lo file. But one bug at a time :-)
I'm checking this one in in the MLB for now.
from Alexandre Oliva <address@hidden>
* ltmain.in (TAG disable-shared, TAG disable-static): Make sure we
keep at least one of build_libtool_libs or build_old_libs set to
RCS file: /home/cvs/libtool/ltmain.in,v
retrieving revision 188.8.131.52
diff -u -p -r184.108.40.206 ltmain.in
--- ltmain.in 2000/12/20 22:57:53 220.127.116.11
+++ ltmain.in 2001/01/24 19:55:54
@@ -1,7 +1,7 @@
# ltmain.sh - Provide generalized library-building support services.
# NOTE: Changing this file will not affect anything until you rerun ltconfig.
-# Copyright (C) 1996-2000 Free Software Foundation, Inc.
+# Copyright (C) 1996-2000, 2001 Free Software Foundation, Inc.
# Originally by Gordon Matzigkeit <address@hidden>, 1996
# This program is free software; you can redistribute it and/or modify
@@ -5016,12 +5016,24 @@ $echo "Try \`$modename --help' for more
+# The TAGs below are defined such that we never get into a situation
+# in which we disable both kinds of libraries. Given conflicting
+# choices, we go for a static library, that is the most portable,
+# since we can't tell whether shared libraries were disabled because
+# the user asked for that or because the platform doesn't support
+# them. This is particularly important on AIX, because we don't
+# support having both static and shared libraries enabled at the same
+# time on that platform, so we default to a shared-only configuration.
+# If a disable-shared tag is given, we'll fallback to a static-only
+# configuration. But we'll never go from static-only to shared-only.
### BEGIN LIBTOOL TAG CONFIG: disable-shared
### END LIBTOOL TAG CONFIG: disable-shared
### BEGIN LIBTOOL TAG CONFIG: disable-static
+build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac`
### END LIBTOOL TAG CONFIG: disable-static
# Local Variables:
Alexandre Oliva Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer address@hidden, redhat.com}
CS PhD student at IC-Unicamp address@hidden, gnu.org}
Free Software Evangelist *Please* write to mailing lists, not to me
- Keeping TAGs sane,
Alexandre Oliva <=