Ossama Othman [Mon, 6 Dec 1999 01:50:10 +0000 (01:50 +0000)]
Temporarily reset the test language to C just before calling
AC_OBJEXT and AC_EXEEXT and then restore the previous one when
done, instead of doing an AC_BEFORE(...AC_LANG_CPLUSPLUS...). A
warning would always occur anyway because AC_PROG_CXX calls
AC_LANG_CPLUSPLUS.
Ossama Othman [Sun, 5 Dec 1999 22:41:28 +0000 (22:41 +0000)]
Make sure AC_LIBTOOL_SETUP is called before any macros that set
the autoconf test language (e.g. AC_LANG_CPLUSPLUS). Autoconf's
AC_EXEEXT macro only works for C compilers. AC_EXEEXT gets
confused and thinks that an extension such as the C++ source file
extenstion ".C" is an executable file extension, which screws up
the libtool configuration.
Pass the same autoconf variables used in the main ltconfig run to
the ltconfig configuration tag run (with the exception of a few).
This probably isn't necessary but I think it is a good idea to do
so.
Ossama Othman [Sun, 5 Dec 1999 00:35:57 +0000 (00:35 +0000)]
Make sure $ac_cv_prog_cc_pic_works and $ac_cv_prog_cc_static_works
are unset since their C compiler cached values will override their
C++ compiler specific values. Note that it was not enough to
reset their values. They had to be unset.
Ossama Othman [Sun, 5 Dec 1999 00:34:58 +0000 (00:34 +0000)]
Made invocation of ltconfig in AC_LIBTOOL_CXX macro more like the
one in AC_PROG_LIBTOOL. This adds some ILD related flags to the
invocation, in addition to providing the $libtool_flags to
ltconfig that was previously in AC_PROG_LIBTOOL (via
AC_LIBTOOL_SETUP). This fixes an ILD related bug with the C++
support, and also fixes a problem where both the static and shared
libraries were being built even if one of them was explicitly
disabled.
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.