* libtool.m4 (AC_LIBTOOL_COMPILER_OPTION,
AC_LIBTOOL_PROG_CC_C_O): Changed method for compilation with
custom flags to be language-independent. Thereby removed
CFLAGS/GCJFLAGS mixup bug. Imitate Autoconf-style logging.
Log entries no longer discarded by compilation failures.
(_LT_AC_LANG_C_CONFIG, _LT_AC_LANG_CXX_CONFIG,
_LT_AC_LANG_GCJ_CONFIG): Tuned settings of
lt_simple_compile_test_code and lt_simple_link_test_code
to avoid warnings that could break some option detections.
(AC_LIBTOOL_PROG_COMPILER_NO_RTTI): Removed
redundant "-c conftest.$ac_ext" in the argument to
AC_LIBTOOL_COMPILER_OPTION.
(AC_LIBTOOL_PROG_LD_SHLIBS): Replaced C-specific conftest
source code with $lt_simple_compile_test_code, to support
the "-lc" test with other languages.
Bob Friesenhahn [Tue, 19 Nov 2002 04:42:08 +0000 (04:42 +0000)]
* ltmain.in: When using gcc, pass -mfoo to the linker
via $compiler_flags in order to pass architecture information to
the linker (e.g. 32 vs 64-bit). This may also be accomplished via
-Wl,-mfoo but this is not reliable with gcc because gcc may use
-mfoo to select a different linker, different libraries, etc, while
-Wl,-mfoo simply passes -mfoo to the linker. If there is a better
solution, please let me know what it is.
Bob Friesenhahn [Mon, 18 Nov 2002 18:59:44 +0000 (18:59 +0000)]
* tests/Makefile.am: Conditional assignment of FFLAGS = @FFLAGS@
does not appear to be necessary given that Automake makes this
assignment by default. The condition is removed since Automake
1.7.1 complains about it.
Jakub Jelinek [Mon, 18 Nov 2002 18:06:20 +0000 (18:06 +0000)]
* libtool.m4: Support linking of 64-bit libraries on
sparc{,v[789]}-*linux*, s390*-*linux*, ppc*-*linux*
GNU/Linux systems when the platform default is to build
32-bit libraries.
Bob Friesenhahn [Mon, 18 Nov 2002 15:37:05 +0000 (15:37 +0000)]
* tests/*.test: MinGW's MSYS treats files under /dev
specially. This causes 'test -r /dev/null/config/site' to
improperly report success, causing configure to fail. Change the
CONFIG_SITE definition from "/dev/null/config/site" to
"/nonexistent" to avoid this problem.
Charles Wilson [Mon, 18 Nov 2002 15:26:17 +0000 (15:26 +0000)]
* libtool.m4 (_LT_AC_LOCK): remove support for ancient
versions of mingw and cygwin.
(AC_LIBTOOL_POSTDEP_PREDEP): new function.
moved the "find hidden library dependencies" code here
from AC_LIBTOOL_LANG_CXX_CONFIG. Attempted to make it
multi-tag compatible, but currently only CXX calls it.
(AC_LIBTOOL_LANG_CXX_CONFIG): set
enable_shared_with_satic_runtimes to 'no' by default
Set it to 'yes' for cygwin, mingw, pw32. Replace
"find hidden library dependencies" code with a call
to the new function AC_LIBTOOL_POSTDEP_PREDEP.
Consolidate cygwin and mingw/pw32 stanzas.
(AC_LIBTOOL_LANG_F77_CONFIG): set
enable_shared_with_static_runtimes to 'no' by default
(AC_LIBTOOL_CONFIG): add
enable_shared_with_static_runtimes to the list of variables
to write into ltmain.sh; include it in the libtool script
template as allow_libtool_libs_with_static_runtimes.
(AC_LIBTOOL_PROG_LD_SHLIBS): set
enable_shared_with_static_runtimes to 'no' by default
Set it to 'yes' for cygwin, mingw, pw32.
(AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE): only put cr in regexp
if the build_os is mingw, not host_os
* ltmain.in (case deplibs_check_method): for all appropriate
cases, if allow_libtool_libs_with_static_runtimes, then remove
predeps and postdeps from the list of dependencies that must
be checked for "dynamicness". For the "none" case, the
presence of compiler-generated postdeps and predeps should
not trigger "inter-library dependencies not supported" error.
(initial setup after arg processing): on cygwin/mingw, allow
compiler-generated dependent libs to be duplicated without
elimination.
(initial search loop for deplibs): if the deplib in question
is a libtool lib, then if
allow_libtool_libs_with_static_runtimes then parse the .la file.
If the .la file only has an "old_library", add the deplib
directly to the deplibs list (-lstdc++) and DON'T use the .la
file; this allows the (case deplibs_check_method) change above
to take effect.
* ltmain.in (for pass in $passes loop): remove predeps,
postdeps, and compiler_lib_search_path from dependency_libs.
Ossama Othman [Sun, 3 Nov 2002 17:35:37 +0000 (17:35 +0000)]
* ltmain.in: add support for installing into temporary
staging area (e.g. 'make install DESTDIR=...')
* libtool.m4 (AC_LIBTOOL_LANG_CXX_CONFIG): restore setting
allow_undefined_flag=unsupported for cygwin and mingw.
(AC_LIBTOOL_PROG_LD_SHLIBS): ditto, for both "normal" gcc/ld
and for the (unmaintained?) MSVC case.
* doc/libtool.texi (Install mode): document new
-inst-prefix option.
Charles Wilson [Thu, 31 Oct 2002 00:52:39 +0000 (00:52 +0000)]
* libtool.m4 (AC_LIBTOOL_PROG_CC_C_O): use printf, not
echo. (AC_DEPLIBS_CHECK_METHOD): use new shell function
win32_libid on w32 platforms
* ltmain.in: add new section for shell functions. Add
win32_libid() shell function.
* f77demo/Makefile.am: add -no-undefined flag
* ltdl.c (realloc): Remove custom realloc. (#define
rpl_realloc realloc) and comment out later code for custom
realloc. You can't define your own malloc unless you know
enough about the malloc in use to be able to tell how big
the src ptr is. The disabled code incorrectly used the
*destination* ptr to decide how much to copy. This
sometimes results in out-of-bound accesses which cause
segfaults. This is a quick hack for now; we may want
something cleaner later. (tryall_dlopen_module): check to
be sure (dirname_len > 0) before testing first character
against '/'. (try_dlopen): check for feof(file) in read
loop -- otherwise infloop?
* libtool.m4: When LDFLAGS="-Wl,-brtl,[other options]", the
-brtl special-case code for AIX never gets triggered because
were are being too specific about how we search for -brtl.
Use case statement to avoid this. Remove extraneous
semicolon.
* ltmain.in: Recognize the IBM xlc compiler.
Christoph Egger [Fri, 11 Oct 2002 15:52:08 +0000 (15:52 +0000)]
* libtool.m4 (AC_LIBTOOL_PROG_LD_SHLIBS, darwin): Add
-install_name to the link line only when -dynamiclib is
specified for a module. Use -bind_at_load when linking C++
shared libraries.
* libtool.m4 (osf[345]): Append $major to soname_spec.
Reflect this in library_names_spec.
* ltmain.in (osf): Prefix $major with '.' for use as extension.
Eric Lindahl [Wed, 31 Jul 2002 20:15:28 +0000 (20:15 +0000)]
* libtool.m4 (AC_PROG_LIBTOOL): Added support for the new F77
Fortran support tag.
(AC_LIBTOOL_PROG_CC_C_O, _LT_AC_TAGCONFIG): Support F77 tag.
(AC_LIBTOOL_F77, _LT_AC_LANG_F77, AC_LIBTOOL_LANG_F77_CONFIG):
New macros for F77 tag Fortran support.
* configure.ac: Add support for creating the new F77 tag.
* bootstrap: Add f77demo directory to the list to be processed.
* Makefile.am: Add support for FFLAGS and FLIBS.
* tests/Makefile.am: Add new Fortran tests.
* tests/f77demo-*.test: New files.
* f77demo/configure.ac, f77demo/cprogram.c, f77demo/fooc.c
* f77demo/foof.f, f77demo/foo.h, f77demo/fprogram.f
* f77demo/Makefile.am, f77demo/README: New files.
Gary V. Vaughan [Wed, 26 Jun 2002 07:15:36 +0000 (07:15 +0000)]
* libtool.m4 (AC_LIBTOOL_SYS_DYNAMIC_LINKER) [mingw]: Remove
extraneous '=' character which appears in gcc 3.1
-print-search-dirs output.
Handle both upper and lower case drive letters when testing for
Windows vs POSIX style path output from -print-search-dirs
output.
Robert Boehne [Mon, 24 Jun 2002 19:32:41 +0000 (19:32 +0000)]
* ltmain.in (Piecewise linking): Add a clause to skip creating
the export file until the reloadable object file(s) have been
created, then use them as input for $export_symbols_cmds.
Gary V. Vaughan [Sun, 23 Jun 2002 21:35:58 +0000 (21:35 +0000)]
* libltdl/ltdl.c (argz_insert): Actually, BEFORE can be NULL
when *PARGZ_LEN is non-NULL, so the assertion to the contrary was
bogus.
Reported by Bob Friesenhahn <bfreisen@simple.dallas.tx.us>
and Albert Chin-A-Young <china@thewrittenword.com>
Charles Wilson [Sat, 1 Jun 2002 14:09:50 +0000 (14:09 +0000)]
* NEWS: Updated.
* libtool.m4: use $NM to create the symbol list on cygwin, not
$ltdll_cmds as on mingw. For all tags, (and host=cygwin) set
allow_undefined_flag="" so that the --auto-import magic
works properly. For all tags (and host=cygiwn) set
always_export_symbols=no -- it is unnecessary thanks to
binutils' auto-export magic.
* libltdl/ltdl.c: Don't force cygwin to use the LoadLibrary
wrapper; use cygwin's builtin implementatino of dl*.
* cdemo/Makefile.am: the downside of unsetting
'allow_undefined_flag' -- we must include -no-undefined
in the _la_LDFLAGS variable.
* depdemo/l1/Makefile.am: ditto.
* depdemo/l2/Makefile.am: ditto.
* depdemo/l3/Makefile.am: ditto.
* depdemo/l4/Makefile.am: ditto.
* mdemo/Makefile.am: ditto.
* tagdemo/Makefile.am: ditto.
* demo/Makefile.am: ditto. But also, we must make special
provision to clean up the hell0 wrapper script.
* pdemo/Makefile.am: ditto -no-undefined. ditto hell0.
And use 'hell_static' instead of 'hell.static'.
* tests/pdemo-inst.test: use 'hell_static' instead
of 'hell.static'.
* tests/pdemo-exec.test: ditto.
Gary V. Vaughan [Thu, 30 May 2002 20:20:04 +0000 (20:20 +0000)]
Finally fix the annoying bug which always adds all tags to the
libtool script built by your project configure. Now we set the
default tags depending on whether AC_PROG_CXX et. al. are actually
called from configure.ac.
* libtool.m4 (_LT_AC_TAGCONFIG): Don't default the tagnames when
no --with-tags argument is given.
(_LT_AC_SHELL_INIT): Factored out from the AC_DIVERT_PUSH code
in...
(_LT_AC_PROG_ECHO_BACKSLASH): ...which now calls the macro
instead.
(AC_LIBTOOL_CXX): Use _LT_AC_SHELL_INIT to add CXX to the
initialisation sequence for tagnames.
(AC_LIBTOOL_GCJ): Similarly for GCJ tag.
(AC_LIBTOOL_RC): Likewise for RC tag.
Jon Meredith [Tue, 21 May 2002 14:05:20 +0000 (14:05 +0000)]
* ltmain.in: Fix a problem on SCO OpenServer5 that caused a
failure in three depdemo-make tests. For some reason the linker
tries to find the dependent libraries using the library search
path before it has read the libraries specified with absolute
paths in the full commandline. This patch add -L's for each of
the dependent library directories so that they can be resolved.
Nick Hudson [Fri, 17 May 2002 16:07:25 +0000 (16:07 +0000)]
* libtool.m4: Update support for NetBSD
* ltdl.m4: Make sure that libltdl_cv_func_dlopen and
libltdl_cv_lib_dl_dlopen are set and used instead of the
ac_cv_ versions. Also, use lt_cv_sys_global_symbol_pipe
instread of global_symbol_pipe. This fixes the detection of
dlopen on BSD derived plaforms and more importantly fixes
need_uscore detection.
Paul Eggert [Mon, 6 May 2002 14:51:40 +0000 (14:51 +0000)]
* ltmain.in: Don't assume that "sort +2" works, as POSIX
1003.1-2001 says that "sort +2" is supposed to sort the file
named "+2". An example host that behaves like this is
textutils 2.0.21 with _POSIX2_VERSION=200112.
Robert Boehne [Mon, 1 Apr 2002 22:49:08 +0000 (22:49 +0000)]
* ltmain.in: Handle the case when no tag is explicitly set, and
$base_compile has a space in front of $CC, and revert the setting
of tagname checked in on 2002-3-14.
Gary V. Vaughan [Sun, 3 Mar 2002 03:19:55 +0000 (03:19 +0000)]
* NEWS: Updated.
* THANKS: Added Rob Collins and Chuck Wilson for their cygwin
work.
From Robert Collins <robert.collins@itdomain.com.au>:
* configure.ac (AC_EXEEXT): Needed for DOSish systems.
* libtool.m4 (shlibpath_overrides_runpath) [cygwin]: Set to yes
when compiling with gcc.
(lt_prog_compiler_pic) [cygwin]: No longer needs the -DDLL_EXPORT
hack, so we just say the pic is the default.
(AC_LIBTOOL_PROG_LD_SHLIBS) [cygwin]: Extract symbols from a
library normally.
[cygwin]: Declare C++ compiler characterisics for g++, taking into
account the new auto-import support in cygwin ld.
* ltmain.in (specialdeplibs) [cygwin]: Be careful about
eliminating duplicate -lgcc's from the link line.
[cygwin]: Be smarter about .exe suffixes.
* demo/configure.ac (AC_EXEEXT, AC_LIBTOOL_WIN32_DLL): Support
DOSish systems properly.
* depdemo/configure.ac (AC_EXEEXT, AC_LIBTOOL_WIN32_DLL): Ditto.
* demo/Makefile.am (deplibs-check): Allow for .exe suffix. Use
hell_static instead of hell.static for multi-`.' inhibited OSes.
* tests/demo-exec.test: Ditto.
* tests/demo-inst.test: Ditto.
* demo/foo.h [cygwin]: Sanitize cygwin dll support.
* demo/foo.c (_LIBFOO_COMPILATION_): No longer required.
* demo/hello.c (_LIBFOO_COMPILATION_): Ditto.
* depdemo/Makefile.am (bin_PROGRAMS): Use depdemo_static instead
of depdemo.static for multi-`.' inhibited OSes.
* tests/depdemo-exec.test: Ditto.
* tests/depdemo-inst.test: Ditto.
* mdemo/Makefile.am (bin_PROGRAMS): Ditto for mdemo.static.
* tests/dryrun.test: Ditto.
* tests/mdemo-exec.test: Ditto.
* tests/mdemo-inst.test: Ditto.
* tests/build-relink.test: Be careful about possible .exe
suffixes.
* tests/noinst-link.test: Allow for .exe suffix.
Alexandre Oliva [Thu, 7 Feb 2002 19:54:36 +0000 (19:54 +0000)]
Reverted incorrect patch:
2001-10-24 H.J. Lu <hjl@gnu.org>
* ltmain.sh: Allow link against an archive when building a
shared library.
* libtool.m4 (lt_cv_deplibs_check_method): Always use
file_magic for Linux ELF.
Robert Boehne [Tue, 29 Jan 2002 22:58:35 +0000 (22:58 +0000)]
* libtool.m4 (LT_AC_PROG_SED): New macro tests sed for truncation of
output. AC_REQUIRE the new macro.
* ltmain.in: Use $SED rather than plan old sed, as set by the new
macro LT_AC_PROG_SED.
Volker Christian [Fri, 11 Jan 2002 00:25:19 +0000 (00:25 +0000)]
* libltdl/ltdl.c (find_handle_callback): treat the result of a call
to access(2) correctly when deciding whether a library can be found
in a directory from user_search_path.
Gary V. Vaughan [Wed, 28 Nov 2001 00:23:58 +0000 (00:23 +0000)]
* libtoolize.in: The test for whether AC_PROG_LIBTOOL is defined
in aclocal.m4 had bitrotted slightly.
Reported by Takahiko Kawasaki <Takahiko_Kawasaki@cii.csk.co.jp>
* ltmain.in: Treat freebsd like openbsd, in that -lc/-lc_r should
not be explicitly used. ld handles this depending on the presence
of the -pthread option.
Robert Boehne [Tue, 27 Nov 2001 19:31:22 +0000 (19:31 +0000)]
With help from Michael Matz <matz@kde.org>:
* ltmain.in: Add a new command line argument
--preserve-dup-deps for preserving duplicate
dependent libraries.
* libtool.texi: Document it.
Mo DeJong [Thu, 15 Nov 2001 00:59:07 +0000 (00:59 +0000)]
* ltmain.in: Place parens around a generated relink_command
so it is run is a subshell. This avoids an install error
where libtool ended up in the wrong directory after
relinking a .la file.
Raja R Harinath [Tue, 30 Oct 2001 23:35:59 +0000 (23:35 +0000)]
* configure.ac (pkgdatadir): Move the invocation of AC_INIT_AUTOMAKE
before the use of $PACKAGE in $pkgdatadir.
Reported by Bob Friesenhahn <bfreisen@simple.dallas.tx.us>
Gary V. Vaughan [Sun, 28 Oct 2001 12:22:39 +0000 (12:22 +0000)]
From Tom Bates <Tom.Bates@compaq.com>:
* libtool.m4 [mips-compaq-nonstopux]: New port.
* ltmain.in [mips-compaq-nonstopux]: Support
$version_type == nonstopux.
* ltdl.c: change some types to size_t from int because
strlen() returns size_t. argz_len changed to size_t in
foreach_dirinpath() because argzize_path() takes 3rd
argument as size_t, not int. Based on lint run from
Bob Friesenhahn <bfriesen@simple.dallas.tx.us>.
Gary V. Vaughan [Sun, 28 Oct 2001 00:00:00 +0000 (00:00 +0000)]
* ltdl.m4 (AC_WITH_LTDL): New macro to add `--with-included-ltdl'
option to configure, but to find an appropriate ltdl library and
append the right options to link it.
H.J. Lu [Wed, 24 Oct 2001 14:30:22 +0000 (14:30 +0000)]
* ltmain.sh: Allow link against an archive when building a
shared library.
* libtool.m4 (lt_cv_deplibs_check_method): Always use
file_magic for Linux ELF.