Add configuration options to choose whether to use '-nostdlib' when
linking C++ shared libraries and modules.
* m4/libtool.m4: Replace '-nostdlib' with variable '$stdlibflag' and
set '$output_verbose_link_cmd' to be empty when enabling standard
library linking for C++ modules.
* m4/ltoptions.m4: Add new configuration options, --enable-cxx-stdlib
and --disable-cxx-stdlib, and add LT_INIT options, cxx-stdlib and
no-cxx-stdlib.
* doc/libtool.texi: Update for new configuration options.
* NEWS: Update.
The documentation follows the traditional method of inserting newlines
before the 80 character limit, with a few exceptions. Now, the
documentation will use some semantic newlines, specifically inserting
newlines for clause breaks (commas, semicolons, colons, and so on).
However, it will only break on symbols, instead of also breaking for
phrases, and it will still utilize the 80 character limit should a
symbol break not exist first.
* doc/libtool.texi: Alter line breaks to use partial semantic newlines.
* libtool-next-version.in: New file, based on
gnulib/build-aux/libtool-next-version.
* doc/libtool.texi (Updating version info): Add sub-nodes
'Manual version info update', 'Guided version info update',
'Invoking libtool-next-version'.
* Makefile.am (BUILT_SOURCES): Add libtool-next-version.
(libtoolnextv_in): New variable.
(EXTRA_DIST): Add it.
(bin_SCRIPTS): Add libtool-next-version.
(libtool-next-version): New target.
(libtoolnextv_1): New variable. New target.
(dist_man1_MANS): Add it.
The option --with-aix-soname=svr4 does not work the same as using
LT_INIT([aix-soname=svr4]), since the configure script is reordered
depending on which is used. The reordering causes 'enable_shared'
to not be set before processing for 'aix-soname' when using LT_INIT.
For LT_INIT([aix-soname=svr4]) to be set as intended, 'shared' must
be set before 'aix-soname=svr4', like LT_INIT([shared aix-soname=svr4]).
* m4/ltoptions.m4: Warn user if 'enable_shared' has not been set when
setting 'aix-soname' and add configuration messages to show which
variant of shared library versioning has been set for 'aix-soname'.
* doc/libtool.texi: Update to specify need for 'shared' to be used
before 'aix-soname' for LT_INIT.
Reported: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=67754
* Makefile.am: Set environment variables for tests.
* configure.ac: Add language support for Objective-C and Objective-C++.
* build-aux/ltmain.in: Update help message for tags available.
* m4/libtool.m4: Add tagging support for OBJC and OBJCXX.
* tests/flags.at: Add tests for passing OBJC and OBJCXX flags.
* tests/infer-tag.at: Add tests for inferring OBJC and OBJCXX tags.
* doc/libtool.texi: Update documentation.
* NEWS: Update.
Without the ability to disable these old warnings individually, they
are migrating to the relevant section of the documentation to inform
new users that may not know. These warnings have been present for
two decades, so existing users should be aware of this functionality.
* build-aux/ltmain.in: Remove old warnings.
* doc/libtool.texi: Document contents of warning messages.
'--test' and '--check' options caused confusion with the previous
naming, so it has been updated to '--no-finish' for skipping
finish_cmds.
* build-aux/ltmain.in: Replace option names.
* doc/libtool.texi: Update.
* NEWS: Update.
Add option to reorder the shared library cache in OpenBSD so that user
preferred directories for shared libraries can be used when linking
before directories previously listed in the shared library cache.
This allows for users in OpenBSD to easily switch between versions of
libraries with the same name during testing.
* NEWS: Update for new (OpenBSD) option.
* build-aux/ltmain.in: Add option --reorder-cache=DIRS.
* doc/libtool.texi: Update documentation for new option.
* test/bug_71489.at: Alter test for OpenBSD to utilize new option.
On OpenBSD 7.5, the shared library cache is updated with finish_cmds,
which causes the test for 'Use local version' to fail. Simply, installed
versions of shared libraries take precedence over those locally built.
To ensure local versions of shared libraries can be tested properly and
more easily, additional options have been added to libtool to skip
executing finish_cmds, like 'ldconfig -m $libdir' in OpenBSD.
* build-aux/ltmain.in: Add libtool options, '--test' and '--check'.
* doc/libtool.texi: Document new options in libtool.
* NEWS: Update for bug fix.
* libtoolize.in: Overwrite function in bootstrap for printing version
information for libtoolize.
* build-aux/ltmain.in: Overwrite function in bootstrap for printing
version information for libtool.
* doc/libtool.texi: Fix typo and correct references for tests/demo
subdirectory to the tests/demo.at Autotest file.
* gl/top/README-release.diff: Add documentation for maintainers so
the CVS repository is properly updated following a stable release.
* Makefile.am: Fix typo.
* doc/libtool.texi: Add missing test case descriptions and specify
option and command where missing in test case descriptions.
Reported at <https://savannah.gnu.org/support/index.php?110674>.
* doc/libtool.texi (LT_INIT): Talk about --enable-aix-soname instead of --with-aix-soname.
* m4/ltoptions.m4 (_LT_WITH_AIX_SONAME): Use AC_ARG_ENABLE instead of
AC_ARG_WITH. In the default case, use _AC_ENABLE_IF, in order to still
recognize the old option --with-aix-soname.
* m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER): Update comment.
* configure.ac: Update comment.
* NEWS: Mention the change.
Reported at <https://savannah.gnu.org/support/index.php?110674>.
* doc/libtool.texi (LT_INIT): Talk about --enable-pic instead of
--with-pic, and about --disable-pic instead of --without-pic.
(Test descriptions): Likewise.
* m4/ltoptions.m4 (_LT_WITH_PIC): Use AC_ARG_ENABLE instead of
AC_ARG_WITH. In the default case, use _AC_ENABLE_IF, in order to still
recognize the old options --with-pic and --without-pic.
* tests/demo.at: Add a test for --enable-pic, keeping the test for
--with-pic. Test '--disable-pic' instead of '--with-pic=no'.
* tests/with-pic.at: Test --enable-pic instead of --with-pic.
* NEWS: Mention the change.
* doc/libtool.texi (Link mode): Document that -export-symbols does not work on
static libraries. Document the most important platforms where it does not work
on shared libraries.
Building the documentation contains this warning:
libtool.texi:1333: warning: @pxref node name should not contain `.'
Now, users will be linked to the top of the autoconf manual and need
to manually scroll to the section specified.
* doc/libtool.texi: Specify section header instead of duplicating
autoconf manual name.
By default, CATEGORY is set to "all" for all of the warning messages to
be output to standard error. CATEGORY can be set to "none" to disable
warnings.
* doc/libtool.texi: Document "W" or "--warnings=CATEGORY" option.
This is cleanup for libtool. The option test_compile is not used in
libtool, and the documentation states that it would probably be dropped
in the future.
* build-aux/ltmain.in: Remove case statement for test_compile.
* doc/libtool.texi: Remove test_compile from documentation.
* m4/libtool.m4: Remove test_compile definition from macro file.
The libtool documentation is still lacking several test case
descriptions for tests/*demo.at Autotest files.
* doc/libtool.texi: Add missing test case descriptions.
A comment in the libtool manual specifies a TODO for fixing the font
size of the ++ symbol in the TOC. This is fixed by wrapping the
symbol in a @code command, and this TODO can be removed.
* doc/libtool.texi: Wrap ++ in a @code command to fix font in TOC.
The demo compile mode commands in Chapter 3 fail to compile since
the source files include a header file that is not in the header search
list. The config.h file is in the local folder. Before this fix, the
compile mode commands would return errors like below:
main.c:1:10: fatal error: config.h: No such file or directory
1 | #include <config.h>
| ^~~~~~~~~~
compilation terminated.
The '-I' option has been added to the gcc commands to specify that the
local folder should be searched for header files.
* doc/libtool.texi: Add option to demo compile mode commands
Documentation for dlopen(3) states that it is thread safe, and it is
defined this way by POSIX.
* doc/libtool.texi: Remove old dlopen multi-threaded support warnings.
When using the flag -fsanitize=address with g++, the user should also
specify -lasan to ensure linking occurs correctly. libtool uses
-nostdlib, and gcc implicitly includes -lasan when -fsanitize=address
is used. However, g++ does not implicitly include -lasan. The
documentation has been updated to reflect this information rather than
adding the -lasan flag to libtool.
* doc/notes.texi: Document that the user should pass -lasan.
The libtool documentation is lacking several test case descriptions
for tests/*demo.at Autotest files.
* doc/libtool.texi: Add missing test case descriptions.
The libtool documentation included mention of an old test framework.
The documentation has been reworked to indicate the current test
framework used by libtool, where the tests/*demo directories have been
replaced with tests/*demo.at Autotest files.
* doc/libtool.texi: Clarifies where the example files originate.
* TODO: Remove TODO item related to tests/*demo directories.
* build-aux/ltmain.in: add -Wa,* as link-mode flag.
Add help messages for -Wa,* and -Xassember in link mode.
Add help message for -Xcompiler in compile mode.
* doc/libtool.texi: document -Xassembler and -Wa,* for link-mode.
* gnulib: Update to the latest git version.
* gl-mod/bootstrap: Likewise.
* bootstrap: Regenerate.
* gl/top/README-release.diff: Update the patch for the latest
changes in gnulib's README-release.
Per report from devel@lists.fedoraproject.org, thread id
CLHZMVL3CZ43KX7CD3PF3FDV255EA57O
* doc/libtool.texi (Install mode): With the
'libtool --mode=install' wrapper the 'install' command needs to be
specified.