487 Commits

Author SHA1 Message Date
Ileana Dumitrescu
a390f27ff1
libtool: Add configuration options for CXX linking
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.
2025-03-28 18:34:23 +02:00
Ileana Dumitrescu
7e8ae8b3f2
libtool.texi: Update newlines for previous commit
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.
2025-02-26 21:46:33 +02:00
Bruno Haible
c41501afc3
New program libtool-next-version.
* 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.
2025-02-26 20:02:40 +02:00
Ileana Dumitrescu
34de5bf8bc
ltoptions.m4: Make aix-soname assignment more clear
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.
2025-01-18 15:46:34 +02:00
Karl Berry
fd591c8a63
libtool.texi: Update tagging documentation
* doc/libtool.texi: Failure to infer a tag results in a fatal error,
  not in defaulting to tag CC.
2025-01-14 17:23:06 +02:00
Ileana Dumitrescu
c010d1e93f
libtool: Add tagging support for OBJC and OBJCXX
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.
2025-01-13 17:33:50 +02:00
Ileana Dumitrescu
74e6c3a828
libtool: Update copyright year 2025-01-02 16:47:53 +02:00
Ileana Dumitrescu
416ff25e14
ltmain.in: Replace old warnings with documentation
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.
2024-12-06 16:28:02 +02:00
Ileana Dumitrescu
b73482d0bd
libtool.texi: Document '--no-warnings' in manual 2024-12-06 16:24:07 +02:00
Ileana Dumitrescu
f006a400b6
libtool.texi: Remove section 'References'
The section 'References' only contained old broken links.

* doc/libtool.texi: Remove broken links from documentation.
2024-11-18 20:50:01 +02:00
Ileana Dumitrescu
92725b31eb
libtool: Rename and reduce to one option, '--no-finish'
'--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.
2024-11-14 20:14:22 +02:00
Ileana Dumitrescu
0a1e894220
libtool: Add option to reorder the shared library cache
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.
2024-11-12 20:17:11 +02:00
Ileana Dumitrescu
3996b1fddc
libtool: Fix local testing of shared libraries on OpenBSD
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.
2024-11-07 17:01:47 +02:00
Jonathan Nieder
f9c1943556
libtool.texi: Wrong names for structure members
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=304400
2024-10-18 17:17:12 +03:00
Jonathan Nieder
9a2c8a9d21
libtool.texi: Documentation inconsitent with libltdl3
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=253904
2024-10-18 17:17:06 +03:00
Ileana Dumitrescu
9d99f7fdfd
Update documentation and version output
* 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.
2024-10-10 20:16:09 +03:00
Ileana Dumitrescu
4c5b082a51
libtool: Update documentation
* Makefile.am: Fix typo.
* doc/libtool.texi: Add missing test case descriptions and specify
  option and command where missing in test case descriptions.
2024-09-18 17:04:42 +03:00
Bruno Haible
8d3a91a185
Rename option --with-aix-soname to --enable-aix-soname.
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.
2024-09-03 20:19:39 +03:00
Bruno Haible
33cf00bb22
Rename option --with-pic to --enable-pic.
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.
2024-09-03 20:19:20 +03:00
Bruno Haible
ff39c3238c
Document situations where -export-symbols does not work.
* 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.
2024-09-02 16:56:54 +03:00
Tobias Stoeckmann
bb5694666b
libtool: Fix typos
Typos found with codespell.

* doc/libtool.texi: Change 'incompatabile' to 'incompatible'.
* doc/notes.texi: Change 'neccesary' to 'necessary'.
2024-08-14 17:19:18 +03:00
Ileana Dumitrescu
efe709390b
libtool: Update pxref to remove texinfo warning
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.
2024-06-18 19:46:26 +03:00
Ileana Dumitrescu
22389943e5
libtool: Add remaining test case descriptions
* doc/libtool.texi: Add missing test case descriptions.
2024-06-14 21:02:55 +03:00
Ileana Dumitrescu
90710b139b
libtool: Minor syntax and typo fixes
doc/notes.texi: Duplicate "to" removed.
build-aux/ltmain.in: Useless parentheses in cpp directive removed.
2024-05-11 10:52:47 +03:00
Ileana Dumitrescu
baab057261
libtool: Document warning output options
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.
2024-04-20 12:23:17 +03:00
Ileana Dumitrescu
88fc2b892c
libtool: Remove test_compile
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.
2024-04-08 22:34:19 +03:00
Ileana Dumitrescu
3a82c4aa8c
libtool: Add more test case descriptions
The libtool documentation is still lacking several test case
descriptions for tests/*demo.at Autotest files.

* doc/libtool.texi: Add missing test case descriptions.
2024-03-28 19:30:26 +02:00
Ileana Dumitrescu
deba4f81d2
libtool: Fix and remove TODO for improperly sized symbol in TOC
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.
2024-03-26 20:02:19 +02:00
Ileana Dumitrescu
98ed9b7b51
libtool: Fix documentation for demo compile mode commands
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
2024-03-20 17:48:51 +02:00
Ileana Dumitrescu
498bad82f6
libtool: Some outdated documentation warnings removed
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.
2024-03-15 17:53:22 +02:00
Ileana Dumitrescu
3561199667
notes.texi: Specify -lasan with -fsanitize=address in g++
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.
2024-03-13 19:08:54 +02:00
Ileana Dumitrescu
b07d71b36d
libtool: Add test case descriptions
The libtool documentation is lacking several test case descriptions
for tests/*demo.at Autotest files.

* doc/libtool.texi: Add missing test case descriptions.
2024-03-07 20:49:16 +02:00
Ileana Dumitrescu
7f254d9682
libtool: Documentation refers to demo directory that no longer exists
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.
2024-03-06 22:03:17 +02:00
Mike Frysinger
10a04bafef
Fix some style & minor grammar.
* doc/libtool.texi: Fix some style & minor grammar.
2024-01-21 17:38:13 +02:00
Ileana Dumitrescu
7e4b026690
* doc/libtool.texi: Minor grammatical fixes. 2024-01-21 17:25:54 +02:00
Antonin Décimo
fd8ab0cbd3 Fix various typos
* NEWS: Fix various typos.
* NO-THANKS, README.md, TODO, bootstrap, bootstrap.conf,
build-aux/edit-readme-alpha, build-aux/git-log-fix, build-aux/ltmain.in,
doc/libtool.texi, libltdl/libltdl/lt_error.h, libltdl/lt__argz.c,
libltdl/ltdl.c, libtoolize.in, tests/depdemo.at, tests/link-order.at: Likewise.
* cfg.mk (old_NEWS_hash): Update.

Copyright-paperwork-exempt: Yes
2024-01-16 17:54:26 -05:00
Jonathan Wakely
efbb2e77df docs: Use @file for .libs directory
* doc/libtool.texi: Use @file format for directory name.
2024-01-14 01:21:12 -05:00
Jonathan Wakely
26bbdd6fbe docs: Fix typo in 'Linking Libraries' section
* doc/libtool.texi: Fix typo.
2024-01-14 01:20:44 -05:00
Antonin Décimo
5576d862c4 docs: Update links to FlexDLL and edll
* doc/libtool.texi: Update website URIs.

Copyright-paperwork-exempt: Yes
2024-01-14 00:35:12 -05:00
Ileana Dumitrescu
ad06c50b00
libtool: removed stale intro in document
Fixes libtool bug https://bugs.gnu.org/64157

* libtool.texi: Removed old and stale introduction from documentation.
2024-01-13 19:09:47 +02:00
Mike Frysinger
85093d697a maint: update copyrights across project 2024-01-12 01:35:32 -05:00
Alex Ameen
2dc7dad770 maint: update copyrights across project. 2022-02-08 12:11:10 -06:00
Alex Ameen
960a33e460 docs: manually recording dependencies in Automake
* doc/libtool.texi (Using Automake): provide example of how to manually record
'BUILT_SOURCES' dependencies for libtool archives.
2021-12-24 12:55:03 -06:00
aakropotkin
1b74d78401 libtool: Add -Wa,* link-mode flag for assembler pass-thru
* 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.
2021-11-18 21:24:47 -06:00
aakropotkin
0c1bc69dac maint: update copyrights across project.
* AUTHORS: Correct manually modified copyright to be consistent with
other files.
2021-11-14 22:37:22 -06:00
Pavel Raiskup
544fc0e2c2 maint: update bootstrap, gnulib, copyright dates
* gnulib: Update to the latest git version.
* gl-mod/bootstrap: Likewise.
* bootstrap: Regenerate.
2019-03-13 15:38:36 +01:00
Pavel Raiskup
b88cebd510 maint: update bootstrap, gnulib, copyright dates
* 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.
2018-07-24 09:06:44 +02:00
Pavel Raiskup
6ca5e224bc docs: typo in 'win32-dll' description
Resolves bug 26516.  Thanks to Reuben Thomas.

* doc/libtool.texi (Configuring libtool): s/macro/option/ in
'win32-dll' option description.
2017-05-05 09:39:39 +02:00
Pavel Raiskup
722b6af0fa doc: fix typos in --mode=install invocations
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.
2017-04-25 12:15:53 +02:00
Pavel Raiskup
792b680701 maint: update copyright years
Also sync gnulib & bootstrap git submodules.

* gnulib, gl-mod/bootstrap: Move to latest git versions.
* bootstrap: Regenerate.
* all files: Bump years by 'make update-copyright'.
2017-04-21 16:56:19 +02:00