Ossama Othman [Sat, 4 Dec 1999 21:07:54 +0000 (21:07 +0000)]
Added ltcf-c.sh to list of files related to "libtoolization."
Until we decide if other compiler/language libtool configuation
scripts should also be included in the file list, leave out
ltcf-cxx.sh for now.
Ossama Othman [Sat, 4 Dec 1999 21:06:46 +0000 (21:06 +0000)]
Change name of macro that enables C++ support in libtool from
"AC_LIBTOOL_CPP" to "AC_LIBTOOL_CXX." "CPP" is typically
associated with preprocessors, whereas CXX is associated with C++
compilers.
Moved LTCC before CC in call to ltconfig to make sure LTCC is not
set to the compiler pointed to by CC after CC has been reset to
another compiler.
Call ltconfig with ${CONFIG_SHELL-/bin/sh} just like we do in
AC_PROG_LIBTOOL.
Save value of $CC and $CFLAGS before resetting them for use with
configuration tags.
Ossama Othman [Sat, 4 Dec 1999 21:04:41 +0000 (21:04 +0000)]
Moved "LTCC" in "--add-tag" example before "CC" because users may
inadvertently do something like the following:
CC=$CXX LTCC=$CC ./ltconfig --add-tag=...
Doing the above would set LTCC to the C++ compiler ($CXX), which
is incorrect since LTCC should be the C compiler. Also added
documentation explaining this potential problem.
Alexandre Oliva [Sat, 4 Dec 1999 02:57:27 +0000 (02:57 +0000)]
Moved the contents of the ChangeLog of the head branch to this file so
that the ChangeLog for the multi-language branch is "clean." I may
merge the two change logs before the multi-language branch is merged
into the main trunk.
I did *not* change the ChangeLog on the main trunk!
Alexandre Oliva [Sat, 4 Dec 1999 02:55:16 +0000 (02:55 +0000)]
Added this file. It contains C++ compiler related configuration
code (e.g. C++ compiler as linker, etc). It is meant to be used
when creating configuration tags using the newly added "--add-tag"
ltconfig option. See the libtool documentation for more details.
Eventually, the contents of this file will be moved to
`libtool.m4'.
This script also includes support for extracting the objects and
libraries the compiler would use when linking a C++ binary. This
support should allow static constructors and the like to work
properly.
Alexandre Oliva [Sat, 4 Dec 1999 02:54:45 +0000 (02:54 +0000)]
Added this file. It contains all of the C compiler related
configuration code that was previously in ltconfig.in. This
script is meant to be source by the ltconfig script alone. It is
not meant for use by the user. Eventually, the contents of this
file will be moved to `libtool.m4'.
Alexandre Oliva [Sat, 4 Dec 1999 02:48:03 +0000 (02:48 +0000)]
The beginnings of multi-compiler/language support in libtool.
Integrated Alexandre's configuration tags patch, part of Thomas'
patch and part of my patch.
These patches make it possible for libtool to support
compilers besides C compilers. This also includes support for
linkers besides `ld', and similarly for other tools commonly used
for development. See the libtool documentation for more details.
Moved all C compiler related configuration code to `ltcf-c.sh',
described below.
Multi-compiler/language still isn't complete but testing is now
possible.
Alexandre Oliva [Fri, 3 Dec 1999 03:21:29 +0000 (03:21 +0000)]
* ltconfig.in (ac_compile): Use $ac_ext instead of .c.
(ac_link): Likewise.
(dlfcn.h, ac_try): Do not add filename, it is already in
ac_compile.
Reported by Stephane Conversy <Stephane.Conversy@lri.fr>
Alexandre Oliva [Thu, 4 Nov 1999 16:15:50 +0000 (16:15 +0000)]
* tests/sh.test: New test to detect uses of quotes within
backticks within quotes.
* ltconfig.in, ltmain.in: Fix detected errors. Mark false
positives with a comment that disables the detector.
Reported by Akim Demaille <akim@epita.fr>
Thomas Tanner [Tue, 2 Nov 1999 12:33:05 +0000 (12:33 +0000)]
* NEWS: updated
* THANKS: added Olly Betts and Pavel Roskin
* doc/libtool.texi: fix typo
* fix major bugs which rendered libtool virtually
unusable (i.e. not portable):
* ltconfig.in: don't hardcode system dependent variables in ltconfig!!
but set sane defaults
* Makefile.am: pass variables from AC_LIBTOOL_SETUP to ltconfig
* libtool.m4: ditto, fix typo in AC_PROG_LD_RELOAD_FLAG
* ltconfig.in: use old_deplibs for archives, too
remove second occurence of sysv5
* ltmain.in: fix typo, fix the second occurence of -DPIC, too
* libltdl/Makefile.am: increment version number, fix typo
* libltdl/ltdl.c (lt_dlsym): don't report an error if the
libltdl-style symbol name wasn't found
* ltconfig.in: add support for Unixware (sysv4.2uw2*)
Tor Lillqvist [Wed, 20 Oct 1999 18:30:08 +0000 (18:30 +0000)]
* libtool.m4: these was a missing `*' in the -mno-cygwin
match.
* ltconfig.in (cygwin, ltdll_obj): fixed a quoting error.
(export_symbols_cmds): added missing cosmetic newline.
Tor Lillqvist [Mon, 18 Oct 1999 20:03:57 +0000 (20:03 +0000)]
* libtool.m4: test command used == which should be =.
Support -mno-cygwin flag for building mingw32 dlls.
* ltconfig.in (file_magic_cmd): add missing quotes.
(deplibs_check_method): and here.
Gary V. Vaughan [Thu, 7 Oct 1999 15:40:07 +0000 (15:40 +0000)]
* libtool.m4 (AC_PATH_PROG_VERSION_GREP): removed in favour of the
more general AC_PATH_PROG_GREP_OUTPUT.
(AC_PATH_TOOL_VERSION_GREP): removed in favour of the more general
AC_PATH_TOOL_GREP_OUTPUT.
(AC_PROG_LIBTOOL): Search for a working find program in the
user's PATH using the new macros.
Gary V. Vaughan [Mon, 4 Oct 1999 14:44:15 +0000 (14:44 +0000)]
* ltmain.in (-no-install): This doesn't work on win32 since
the search path for libraries is not encoded in the binary,
and dlls not in $PATH won't be found. Fall back to -no-fast-install
instead.
Gary V. Vaughan [Sun, 3 Oct 1999 20:41:21 +0000 (20:41 +0000)]
* ltconfig.in: Set $FILE to @FILE@ for substitution with
the value found in libtool.m4 at configure time.
* libtool.m4 (AC_PATH_TOOL_GREP_VERSION): New macro, combines
AC_PATH_PROG and AC_CHECK_TOOL with a test which greps the
output of $ac_dir/${ac_prefix}<tool> --version for a
given regex.
(AC_PATH_PROG_GREP_VERSION): New macro used by the above.
(AC_LIBTOOL_SETUP): Use the new macros to search the PATH
[starting at /usr/bin] for a file program which accepts
--version and has "file" in its --version output.
Gary V. Vaughan [Fri, 1 Oct 1999 16:07:39 +0000 (16:07 +0000)]
* libtool.m4: be sure to AC_SUBST values no longer tested in
ltconfig.in.
* ltconfig.in: replaced several of the simple feature tests with
substitutions from config.status.
* Makefile.am (ltconfig): generate ltconfig with config.status.
* configure.in (AC_OUTPUT): generate ltconfig with config.status.
Gary V. Vaughan [Wed, 29 Sep 1999 23:15:35 +0000 (23:15 +0000)]
* ltconfig.in (whole-archive-flag-spec): I had been
wondering why my file system was filling up with empty
files named `71'... seems I forgot to hold in the
shift key when redirecting stderr, 2>&1. Doh!
Thomas Tanner [Tue, 24 Aug 1999 11:05:14 +0000 (11:05 +0000)]
* NEWS: mention fixes
* doc/PLATFORMS: GNU/Hurd update
* depdemo: make use of variables
* ltconfig.in: use CC -E when checking for ELF support
on NetBSD (reported by Todd Vierling <tv@pobox.com>),
replace all occurences of 'linkopts' with 'linker_flags'
* ltmain.in: move ltdll.c and impgen.c to ltconfig.in and
only add them to the libtool script if it's necessary
* ltconfig.in: add support for UnixWare 7.X.X
* doc/PLATFORMS: add new platforms
* doc/libtool.texi: document use of noinst_LTLIBRARIES for
convenience libraries
* ltconfig.in: check for freebsdelf3, not just freebsd3.
Set hardcode_into_libs=yes for FreeBSD 3.0 and 3.1
* ltmain.in: enable workaround for freebsdelf3.0
* ltconfig.in: export_dynamic_flag_spec is -rdynamic on BSD/OS
Olly Betts [Mon, 2 Aug 1999 22:40:36 +0000 (22:40 +0000)]
* doc/libtool.texi (Compile mode): typo correction.
(Link mode): and another.
(Release numbers): and another.
(Distributing libltdl): and another.
(Test descriptions): and another.
(libtool script contents): and one more.
* libtool.m4(cygwin mingw32, AC_LIBTOOL_SETUP): On second
thoughts, only probe for -mdll vs -dll on mingw, and revert to
the old `-Wl,--dll -nostartfiles' on cygwin.
* NEWS: Note new user visible changes.
* libtool.m4 (mingw32, AC_LIBTOOL_SETUP): probe for -mdll vs -dll
under cygwin/mingw.
probe whether the cygwin/mingw library supplies a stub DllMain
(but this information isn't yet used).
* ltconfig.in (mingw32, extract_expsyms_cmds): if HOST_CC is set,
use that to build impgen so we can use it when cross-compiling.
use correct entry points for mingw so static C++ constructors get
called for code in the DLL.
* ltmain.in (impgen.c): define O_BINARY to 0 if it is not in the
system headers.
Gary V. Vaughan [Tue, 20 Jul 1999 09:29:31 +0000 (09:29 +0000)]
* configure.in (AC_PROG_RANLIB): No longer required as we now use
AC_CHECK_TOOL in AC_LIBTOOL_SETUP.
* libtool.m4 (AC_PROG_LIBTOOL): Pass the $build variable to
ltconfig.
(AC_PROG_RANLIB): replaced with AC_CHECK_TOOL.
* ltconfig.in (build): new variable to hold the build triplet
which is now checked for unless --no-verify is specified.
(--build): new argument to set the build triplet.
(ranlib): Prefer ${host_alias}-ranlib[.exe] if $build is different
to $host.
* doc/libtool.texi (Invoking ltconfig): Document --build option.
* NEWS: Note --build option.
Thomas Tanner [Sat, 17 Jul 1999 09:00:53 +0000 (09:00 +0000)]
* NEWS, TODO: updated (pic flags)
* libtool.m4 (AC_PROG_LIBTOOL): added --with-pic flag
* ltconfig.in: new pic_mode variable and --prefer[-non]-pic flags,
fixed the strip check (reported by Keith Bostic <bostic@bostic.com>)
* ltmain.in (compile mode): build only PIC/non-PIC code depending
on pic_mode
* libltdl/README: document the supported dlopen interfaces
* doc/libtool.texi (tests): documented new tests
* tests/Makefile.am: added new tests
* tests/demo-pic.test: new test to test --with-pic
* tests/demo-nopic.test: new test to test --without-pic
* tests/build-relink2.test: variant of build-relink.test that
uses depdemo
Thomas Tanner [Wed, 30 Jun 1999 12:50:59 +0000 (12:50 +0000)]
* demo/foo.h: use LT_PARAMS instead of LTDL_PARAMS (this is not libltdl)
* tests/build-relink.test: also check for hardcode_into_libs = yes,
if set, we need to relink at install-time
Thomas Tanner [Tue, 29 Jun 1999 17:37:06 +0000 (17:37 +0000)]
* NEWS: mention -no-fast-install, rename dummy to force
* doc/PLATFORMS: 1.3b passes all tests on GNU/Linux,
FreeBSD (2.2.6 and 3.1)
* doc/libtool.texi: it's possible to link libtool libraries
using -L and -l, better documentation of uninstall and clean mode,
rename dummy to force, documented -no-fast-install,
AC_LIBLTDL_* must be called before AC_PROG_LIBTOOL,
documented hardcode_into_libs and striplib/old_striplib,
* ltconfig.in: search for strip program, added hardcode_into_libs
and striplib/old_striplib variables, set strip commands for GNU strip,
on FreeBSD >= 3.2 set hardcode_into_libs to yes,
fast-install mode doesn't work if hardcode_into_libs = yes
* ltmain.in: reimplemented hardcoding into libraries:
new relink mode, preserve all libtool args, relink libraries
when installing if necessary
added -no-fast-install flag, removed unnecessary `dlname'
initialization, use striplib/old_striplib for stripping libraries,
dlname is always soname or in library_names so we don't need
to handle different file names
Alexandre Oliva [Tue, 29 Jun 1999 08:56:55 +0000 (08:56 +0000)]
* ltconfig.in (freebsd*, shlibpath_overrides_runpath): Set to yes
up to release 3.1, and to no from 3.2 on.
Reported by Pavel Roskin <pavel_roskin@geocities.com>
Alexandre Oliva [Fri, 25 Jun 1999 23:10:24 +0000 (23:10 +0000)]
* ltconfig.in (linux-gnu*, deplibs_check_method): Use pass_all on
alpha, x86 and sparc architectures by now, reverting to file_magic
at least on ARM, where it breaks.
Gary V. Vaughan [Wed, 23 Jun 1999 12:50:23 +0000 (12:50 +0000)]
* ltconfig.in (cygwin, export_symbols_cmds): If there is already
an extracted and compiled ltdll.c, then don't delete, reextract
and recompile.
(cygwin, archive_expsym_cmds): Make sure the ltdll source has been
extracted and compiled before referencing the object, since there
are paths through the code which run archive_expsym_cmds without
running export_symbols_cmds.
Thomas Tanner [Fri, 18 Jun 1999 14:49:47 +0000 (14:49 +0000)]
* ltconfig.in (bsdi4, deplibs_check_method): use a less restrictive
regex (reported by Chris P. Ross <cross@eng.us.uu.net>)
* ltmain.in: support `-dlopen self', define lt_preloaded_symbols
if dlself != no
* doc/libtool.texi (Compile and Link mode): document it,
documented the -Wc, -Wl flags, libtool does also support non C
source code
* ltconfig.in: CR/LF fix for broken DJGPP bash
* ltmain.in: CR/LF fix for DJGPP
Gary V. Vaughan [Wed, 16 Jun 1999 14:49:41 +0000 (14:49 +0000)]
* libltdl/ltdl.c (sys_wll_open): libltdl expects this function to
fail if it is unable to physically load the library. Sadly,
LoadLibrary will search the loaded libraries for a match and
return one of them if the path search load fails. Simulate a
failure in this case for compatibility with the other APIs.
Also, LoadLibrary takes the liberty of adding `.dll' to library
names passed without an extension, we now add a trailing `.' to
prevent this from happening.
Gary V. Vaughan [Tue, 15 Jun 1999 19:31:08 +0000 (19:31 +0000)]
* libltdl/ltdl.c (sys_wll_close): Strangely enough, Microsoft have
decided that LoadLibrary returns `0' for success, yet FreeLibrary
returns `0' for failure! The FreeLibrary call used to interpret
`0' as success for both functions.
Thomas Tanner [Fri, 11 Jun 1999 23:46:47 +0000 (23:46 +0000)]
* ltmain.in: store old archives in deplibs and old_deplibs,
retain the order of dependency libraries (even old archives),
determining the absolute directory name didn't work due to a typo,
add the library search paths of all dependency libraries when
linking a library (fixes IRIX 5.2 bug)
Alexandre Oliva [Thu, 10 Jun 1999 14:42:34 +0000 (14:42 +0000)]
* ltconfig.in: Reverted June 6's patch for new GNU ld output, it
is no longer needed, as ld reverted to the original format.
* NEWS: Likewise.
* ltconfig.in: When testing self-dlopening, test whether dlclose
crashes. On FreeBSD 3.1, it does. :-(
* libltdl/configure.in: Likewise.
* NEWS: Note work-around.
Reported by Pavel Roskin <pavel_roskin@geocities.com>
Gary V. Vaughan [Wed, 9 Jun 1999 13:11:13 +0000 (13:11 +0000)]
* ltconfig.in (exeext): autoconf's AC_EXEEXT uses "no" to indicate
no extension, and we must do the same in order to share the cache
value. Also we must ignore conftest.err which HPsUX (at least)
fills with gratuitous warnings.
(objext): for consistency, do the same as above.
Reported by Pavel Roskin <pavel_roskin@geocities.com>