]> git.ipfire.org Git - thirdparty/libtool.git/log
thirdparty/libtool.git
16 months agolibtool: Add more test case descriptions
Ileana Dumitrescu [Thu, 28 Mar 2024 17:30:26 +0000 (19:30 +0200)] 
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.

16 months agolibtool: Fix and remove TODO for improperly sized symbol in TOC
Ileana Dumitrescu [Tue, 26 Mar 2024 18:01:49 +0000 (20:01 +0200)] 
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.

16 months agoClang uses -fopenmp=* to allow choosing between libgomp and libomp.
Sam James [Mon, 25 Mar 2024 18:32:30 +0000 (20:32 +0200)] 
Clang uses -fopenmp=* to allow choosing between libgomp and libomp.

* build-aux/ltmain.in: Pass through -fopenmp=*.

16 months agoltmain.in: update QNX version_type handling
Stephen Webb [Fri, 22 Mar 2024 16:49:53 +0000 (12:49 -0400)] 
ltmain.in: update QNX version_type handling

QNX handles ELF SONAME versioning just like most other targets.

16 months agolibtool: Fix documentation for demo compile mode commands
Ileana Dumitrescu [Wed, 20 Mar 2024 15:48:51 +0000 (17:48 +0200)] 
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

16 months agolibtool: Some outdated documentation warnings removed
Ileana Dumitrescu [Fri, 15 Mar 2024 15:53:22 +0000 (17:53 +0200)] 
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.

16 months agonotes.texi: Specify -lasan with -fsanitize=address in g++
Ileana Dumitrescu [Wed, 13 Mar 2024 17:08:54 +0000 (19:08 +0200)] 
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.

16 months agolibtool: Add test case descriptions
Ileana Dumitrescu [Thu, 7 Mar 2024 18:49:16 +0000 (20:49 +0200)] 
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.

16 months agolibtool: Documentation refers to demo directory that no longer exists
Ileana Dumitrescu [Wed, 6 Mar 2024 20:03:17 +0000 (22:03 +0200)] 
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.

16 months agoltmain.in: correct windows compiler preprocessor checks
Ozkan Sezer [Fri, 1 Mar 2024 08:37:28 +0000 (11:37 +0300)] 
ltmain.in: correct windows compiler preprocessor checks

Commit f54924fa5d8d5959038e58adab7c552c3ca495ae seems to have been
wrongly applied.

17 months agoltmain.in: Expand process.h inclusion on Windows
Ileana Dumitrescu [Thu, 29 Feb 2024 13:58:26 +0000 (15:58 +0200)] 
ltmain.in: Expand process.h inclusion on Windows

Multiple compilers on Windows besides the proprietary MSVC compiler
require process.h, and not unistd.h. The inclusion check is expanded
to include these alternative compilers which also require process.h.

* ltmain.in: Replace _MSV_VER with WIN32 and !__GNU_C check

17 months agolibtool.m4: Check for space after -l flag
Ileana Dumitrescu [Sat, 17 Feb 2024 16:34:03 +0000 (18:34 +0200)] 
libtool.m4: Check for space after -l flag

The -R and -L flags are currently checked if they have a space behind
them. -l should be added to the list of cases checked.

* m4/libtool.m4: Check for a space after the -l flag.

17 months agom4: update serial numbers in modified files
Mike Frysinger [Thu, 1 Feb 2024 05:02:23 +0000 (00:02 -0500)] 
m4: update serial numbers in modified files

These should have been included in the commits that updated these
files, but too late now to rewrite git history.

* m4/libtool.m4: Update serial number.
* m4/ltdl.m4, m4/ltoptions.m4: Likewise.

18 months agotests: Also check amd64 where we test for x86_64
Tijl Coosemans [Mon, 22 Jan 2024 13:12:26 +0000 (14:12 +0100)] 
tests: Also check amd64 where we test for x86_64

It is used on FreeBSD.

* tests/demo.at: Also test for amd64 where we test for x86_64.

18 months agolibtoolize: always copy config-h.in like aclocal.m4
Mike Frysinger [Thu, 18 Jan 2024 05:19:19 +0000 (00:19 -0500)] 
libtoolize: always copy config-h.in like aclocal.m4

When running `libtoolize --ltdl`, a symlink to the source config-h.in
is used rather than a copy of the file.  This causes the build system
to look at its old timestamp relative to the other generated files
that are copied in, and then try to regenerate things, and update the
config-h.in timestamp by touching the symlink (which will dereference
things).  This breaks `make distcheck` because when a few tests run
that invoke `libtoolize --ltdl --install` w/out --copy, and then try
to build the project, automake's rules trigger autoheader regen, and
then update the timestamp, which updates the underlying file, and then
causes libtool's own files to get out of sync.  So the next time make
is run in the tree, it tries to regenerate the source files, and fails
as the source tree is read-only.

Change libtoolize to always copying the header over during install.
It's not clear to me whether this is 100% the right answer, but it
shouldn't make things worse beyond missing a case to use a symlink.
We probably can't avoid this as long as aclocal.m4 itself is copied
in instead of symlinked.  This changed between v2.4.2 and v2.4.3 in
commit 4e671d6ba69c889b1f9aee12de6c504d26dc6514 ("libtoolize:
simplify file-copying and -linking call-graph.").

Example failure log:

$ make distcheck
...
make[3]: Entering directory '.../libtool-2.4.7.62-3e11/_build/sub'
  GEN      ../../libltdl/Makefile.in
  GEN      ../../libltdl/configure
autom4te-2.72: error: cannot create autom4te.cache in .../libtool-2.4.7.62-3e11/libltdl: Permission denied
make[3]: *** [Makefile:2411: ../../libltdl/configure] Error 1
make[3]: *** Waiting for unfinished jobs....
autom4te-2.72: error: cannot create autom4te.cache in .../libtool-2.4.7.62-3e11/libltdl: Permission denied
automake-1.16: error: autoconf failed with exit status: 1
make[3]: *** [Makefile:2387: ../../libltdl/Makefile.in] Error 1

We can see this in old-m4-iface.at:AC_WITH_LTDL which doesn't use
--copy with libtoolize:

$ stat libltdl/config-h.in | grep Modify
Modify: 2024-01-18 01:18:52.998059970 -0500
$ make check-local TESTSUITEFLAGS=100
...
100: AC_WITH_LTDL                                    ok
...
$ stat libltdl/config-h.in | grep Modify
Modify: 2024-01-18 01:19:19.254727020 -0500

And in the test log we can see:

100. old-m4-iface.at:113: testing AC_WITH_LTDL ...
...
libtoolize: linking file 'libltdl/config-h.in'
...
./old-m4-iface.at:161: : ${CONFIG_SHELL=/bin/sh}; export CONFIG_SHELL;    $CONFIG_SHELL ./configure $configure_options           --prefix="$prefix" --exec-prefix="$prefix" --bindir="$prefix/bin" --libdir="$prefix/lib" --with-included-ltdl
...
./old-m4-iface.at:161: $as_unset LIBTOOL; $as_unset LIBTOOLIZE; $MAKE $target
stderr:
stdout:
cd libltdl && make
make[1]: Entering directory '/usr/local/src/gnu/libtool/tests/testsuite.dir/100/libltdl'
CDPATH="${ZSH_VERSION+.}:" && cd . && aclocal -I m4
 cd . && automake --foreign
CDPATH="${ZSH_VERSION+.}:" && cd . && autoconf
/bin/sh ./config.status --recheck
...
(CDPATH="${ZSH_VERSION+.}:" && cd . && autoheader)
rm -f stamp-h1
touch config-h.in
...

* libtoolize.in: Copy config-h.in.
* tests/libtoolize.at: Change "linking" to "copying".

18 months agoFix some style & minor grammar.
Mike Frysinger [Sat, 20 Jan 2024 20:43:00 +0000 (15:43 -0500)] 
Fix some style & minor grammar.

* doc/libtool.texi: Fix some style & minor grammar.

18 months ago* doc/libtool.texi: Minor grammatical fixes.
Ileana Dumitrescu [Sun, 21 Jan 2024 15:25:54 +0000 (17:25 +0200)] 
* doc/libtool.texi: Minor grammatical fixes.

18 months agobootstrap: don't reset config-h.in timestamp newer than configure
Mike Frysinger [Thu, 18 Jan 2024 05:19:05 +0000 (00:19 -0500)] 
bootstrap: don't reset config-h.in timestamp newer than configure

Various autotools rules will compare the timestamps of config-h.in
and configure, and if config-h.in is newer than configure, attempt
to regenerate it.  This breaks `make distcheck` which we need to
produce new releases.  So update config-h.in timestamp, but only
up to the configure file.

The breakage is caught because distcheck makes source dirs read-only
before running.

$ make distcheck
...
make[3]: Entering directory '.../libtool-2.4.7.62-7132f/_build/sub'
  GEN      ../../libltdl/configure
autom4te-2.72: error: cannot create autom4te.cache in .../libtool-2.4.7.62-7132f/libltdl: Permission denied
make[3]: *** [Makefile:2411: ../../libltdl/configure] Error 1

* bootstrap.conf (libtool_fudge_timestamps): Set config-h.in timestamp
to configure.

18 months agoHACKING: add more test related tips
Mike Frysinger [Thu, 18 Jan 2024 06:37:11 +0000 (01:37 -0500)] 
HACKING: add more test related tips

* HACKING: Document syntax-check & distcheck & parallel testing.

18 months agoltmain.in: Parse additional clang options
Richard Purdie [Wed, 17 Jan 2024 12:39:21 +0000 (12:39 +0000)] 
ltmain.in: Parse additional clang options

clang uses -rtlib and -unwindlib to select proper compiler runtime in
some cases.  Therefore pass these options to linker when found in
ldflags.

* build-aux/ltmain.in: Handle clang linker options.

18 months agolibtool.m4: Cleanup sysroot trailing "/"
Richard Purdie [Wed, 17 Jan 2024 12:39:22 +0000 (12:39 +0000)] 
libtool.m4: Cleanup sysroot trailing "/"

If $CC has --sysroot=/, it is a valid configuration however libtool will
then set lt_sysroot to "/".

This means references like $lt_sysroot$libdir become //usr/lib instead
of the more normally expected /usr/lib. This may or may not break something
but certainly is confusing to the user and gives confusing output. Making
"/" simply unset lt_sysroot is much cleaner.

Whilst here, trim any trailing '/' from sysroot paths to drop the duplication
and result in cleaner/consistent output.

* m4/libtool.m4: Cleanup sysroot trailing '/' handling.

18 months agoltmain.in: Handle prefix-map compiler options correctly
Richard Purdie [Wed, 17 Jan 2024 12:39:20 +0000 (12:39 +0000)] 
ltmain.in: Handle prefix-map compiler options correctly

If lto is enabled, we need the prefix-map variables to be passed to the
linker to correctly link the objects using correctly mapped paths.

Add these to the list of options libtool passes through.

* build-aux/ltmain.in: Handle prefix-map compiler options.

18 months agoltmain: correct fallout from freebsd-elf changes
Tim Rice [Mon, 19 Jun 2017 02:43:49 +0000 (19:43 -0700)] 
ltmain: correct fallout from freebsd-elf changes

Here is a small patch to correct builds on svr5.
When the freebsd-elf target was changed, this got missed.

Symptoms were, building newer lib ended up with libfoo.nn a lower number
than the previous version.  And building libpng-1.6.29 produced:
libtool:   error: CURRENT '' must be a nonnegative integer
libtool:   error: '16:29:0' is not valid version information

* build-aux/ltmain.in (func_mode_link): Add sco.

18 months agolibtool: add mingw to systems not requiring libm
Ozkan Sezer [Tue, 16 Feb 2021 08:55:50 +0000 (11:55 +0300)] 
libtool: add mingw to systems not requiring libm

mingw uses msvcrt as it's standard library and does not use libm.
So in LT_LIB_M it can be added to the list of systems which do not
require libm.

* libtool.m4: Add mingw to the list of systems not requiring libm

18 months agolibtool.m4: fix old_archive_from_new_cmds variable name typo
Paul Green [Wed, 20 Nov 2019 23:02:59 +0000 (23:02 +0000)] 
libtool.m4: fix old_archive_from_new_cmds variable name typo

The "From" should be "from" in the variable name.

Fixes libtool bug https://bugs.gnu.org/38305

* m4/libtool.m4: Change F to f in old_archive_from_new_cmds.

18 months agolibtool.m4: drop AC_PROG_SED fallback
Mike Frysinger [Wed, 17 Jan 2024 07:30:41 +0000 (02:30 -0500)] 
libtool.m4: drop AC_PROG_SED fallback

We require autoconf 2.62 which includes this macro so we don't need
this fallback logic anymore.

* m4/libtool.m4 (AC_PROG_SED): Delete.

18 months agolibtool.m4: fix "manifest" typos
Albert Chu [Wed, 19 Apr 2023 23:18:36 +0000 (16:18 -0700)] 
libtool.m4: fix "manifest" typos

* m4/libtool.m4: Rename lt_cv_path_mainfest_tool to lt_cv_path_manifest_tool.

Signed-off-by: Albert Chu <chu11@llnl.gov>
18 months agolibtool: fix Solaris 11 builds
Oliver Kiddle [Wed, 17 Aug 2016 12:27:43 +0000 (08:27 -0400)] 
libtool: fix Solaris 11 builds

Trying to build clamav on Solaris 11.3 with the Oracle C compiler,
I got the following error:

libtool: error: not configured to extract global symbols from dlpreopened files

I would have expected a build to use dlopen rather than the preopen
fallback so looked for related configure tests that were perhaps
returning the wrong answer.

The global_symbol_pipe being empty seemed a likely culprit.
the last three lines of nm -p on the conftest.o in this test are:

0000000032 T main
0000000016 T nm_test_func
0000000001 C nm_test_var

On Solaris 10, I'd get a D instead of a C. Adding C to the list of
characters in the symcode variable and building again resulted in a
successful build. I've attached a patch to add this C.

Url: https://savannah.gnu.org/patch/?9086

* m4/libtool.m4 (symcode): Add C for solaris.

18 months agoHACKING: minor formatting tweaks
Mike Frysinger [Wed, 17 Jan 2024 04:42:04 +0000 (23:42 -0500)] 
HACKING: minor formatting tweaks

* HACKING: Tweak style.

18 months agolibtool: remove OpenBSD specific performance hack for ranlib
Brad Smith [Tue, 16 Jan 2024 21:30:09 +0000 (16:30 -0500)] 
libtool: remove OpenBSD specific performance hack for ranlib

The -t flag was used as a performance hack for ranlib. The flag was
supported by the GNU toolchain, but is a no-op with the LLVM toolchain.

* m4/libtool.m4: Remove use of -t flag with ranlib.

18 months agolibtool: Fix support for NIOS2 processor
Richard Purdie [Tue, 16 Jan 2024 15:14:24 +0000 (15:14 +0000)] 
libtool: Fix support for NIOS2 processor

When building for a nios2 system, the $host tuple starts with "nios2-"
which is caught by the some of the greedy checks for OS/2 in libtool.
In particular, the *os2* branches of switch statements that only want
to match the OS setting end up matching all nios2 targets, which
results in incorrect behavior.

Switch to use $host_os instead of $host and tweak the patterns to
match to avoid this problem for nios2.

* build-aux/ltmain.in: Switch some $host checks to $host_os.

18 months agobootstrap: sync to latest version
Mike Frysinger [Wed, 17 Jan 2024 01:01:41 +0000 (20:01 -0500)] 
bootstrap: sync to latest version

* gl-mod/bootstrap: Update.
* bootstrap: Likewise.

18 months agobootstrap: revert typo fixes
Mike Frysinger [Wed, 17 Jan 2024 01:01:00 +0000 (20:01 -0500)] 
bootstrap: revert typo fixes

This is maintained elsewhere, so we don't want to fork it locally.

* bootstrap: Restore upstream typos.

18 months agoFix various typos
Antonin Décimo [Thu, 23 Nov 2023 08:44:21 +0000 (09:44 +0100)] 
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

18 months agocfg.mk: update old NEWS hash
Mike Frysinger [Tue, 16 Jan 2024 22:50:44 +0000 (17:50 -0500)] 
cfg.mk: update old NEWS hash

The recent change to change http:// to https:// updated old NEWS
entries.  This isn't exactly against the spirit of the "don't
change old NEWS", so update the hash to match.

* cfg.mk (old_NEWS_hash): Update.

18 months agoChangeLog.old: Convert ISO-8859-1 to UTF-8
Antonin Décimo [Thu, 23 Nov 2023 08:44:22 +0000 (09:44 +0100)] 
ChangeLog.old: Convert ISO-8859-1 to UTF-8

This file is mostly UTF-8 already, but some old entries were using
ISO-8859-1.  Change them to UTF-8 entirely.

* ChangeLog.old: Change ISO-8859-1 to UTF-8.

Copyright-paperwork-exempt: Yes

18 months agouse https:// with more gnu.org sites
Mike Frysinger [Tue, 16 Jan 2024 20:46:12 +0000 (15:46 -0500)] 
use https:// with more gnu.org sites

* NEWS: Change http:// to https:// for some URIs.
* bootstrap.conf, build-aux/ltmain.in, configure.ac, libtoolize.in: Likewise.

18 months agolibtool: Use $LD when checking for --whole-archive
Raul E Rangel [Wed, 13 Dec 2023 16:44:57 +0000 (09:44 -0700)] 
libtool: Use $LD when checking for --whole-archive

Using `$CC -print-prog-name=ld` will always use the `ld` linker. We
should instead be using the $LD variable so that we use the proper
linker.

There is already another part of the code that does this same check,
so I just copy/pasted the if line.

* m4/libtool.m4: Change `$CC -print-prog-name=ld` to $LD.

Url: https://savannah.gnu.org/support/?110978
Signed-off-by: Raul E Rangel <rrangel@chromium.org>
18 months agolibtool: remove bitrig support.
Brad Smith [Tue, 16 Jan 2024 06:49:20 +0000 (01:49 -0500)] 
libtool: remove bitrig support.

Bitrig has been defunct for 7 years.

* build-aux/ltmain.in (func_mode_link): Remove bitrig support.
* m4/libtool.m4 (_LT_CMD_OLD_ARCHIVE, LT_CMD_MAX_LEN)
(_LT_SYS_DYNAMIC_LINKER, _LT_CHECK_MAGIC_METHOD)
(_LT_LINKER_SHLIBS, _LT_LANG_CXX_CONFIG): Ditto.
* m4/ltdl.m4 (LT_SYS_DLOPEN_DEPLIBS): Ditto.
* NEWS: Updated.

18 months agolibtool: use -Fe with MSVC to specify filename
Olly Betts [Wed, 24 Jan 2018 01:09:23 +0000 (14:09 +1300)] 
libtool: use -Fe with MSVC to specify filename

This avoids a deprecation warning with current versions of MSVC, by
replacing the -o flag with -Fe. -Fe is documented as supported at
least as far back as Visual C 6.0 which was released in 1998.

* m4/libtool.m4: Use -Fe instead of -o to specify DLL output filename
for MSVC.

Signed-off-by: Olly Betts <olly@survex.com>
18 months agolibtool: fix empty "-L" in compiler_lib_search_path
Xiang.Lin [Mon, 6 Nov 2023 07:07:56 +0000 (15:07 +0800)] 
libtool: fix empty "-L" in compiler_lib_search_path

If the compiler places a space between "-L" and the path, the path will
be skipped and only an empty "-L" will appear in the final
compiler_lib_search_path. This will cause the first library in postdeps
following compiler_lib_search_path to be accidentally skipped.

* libtool.m4: Fixed string comparison by adding missing 'x's.

18 months agoFix shared library support on Android.
Bruno Haible [Mon, 18 Sep 2023 10:47:08 +0000 (12:47 +0200)] 
Fix shared library support on Android.

This patch fixes two problems:
1) A libtool library created with the -release option and no -version-info
   option was, when built with --enable-shared, installed without the
   symlink libNAME.so -> libNAME-RELEASE.so. This led to subsequent failures
   during "make install" of shared libraries that depend on it.
2) Executables were created without a RUNPATH property. These executables
   then did not find their shared libraries when run.

* m4/libtool.m4: On Android, fix library_names_spec and
hardcode_libdir_flag_spec.

18 months agognulib: update submodule to current versions
Mike Frysinger [Sun, 14 Jan 2024 23:06:03 +0000 (18:06 -0500)] 
gnulib: update submodule to current versions

* gl/build-aux/do-release-commit-and-tag.diff: Rebase.
* gnulib: Update submodule.

18 months agomaint: disable syntax checks on local gnulib patches
Mike Frysinger [Mon, 15 Jan 2024 04:02:01 +0000 (23:02 -0500)] 
maint: disable syntax checks on local gnulib patches

The syntax checks might trip over problems in the gnulib code itself
when scanning the local patches.  Since it's unlikely these checks
will find anything useful, just disable them for the gl/ patches.

* cfg.mk (VC_LIST_ALWAYS_EXCLUDE_REGEX): Ignore ^gl/.

18 months agomaint: tweak update-release-year for syntax checks
Mike Frysinger [Mon, 15 Jan 2024 04:01:22 +0000 (23:01 -0500)] 
maint: tweak update-release-year for syntax checks

`make syntax-check` complains about redundant variable braces.

* cfg.mk (update-release-year): Delete $${year} braces.

18 months agomaint: disable GNU indent checks for now
Mike Frysinger [Mon, 15 Jan 2024 03:36:07 +0000 (22:36 -0500)] 
maint: disable GNU indent checks for now

GNU indent will reformat a bunch of files in a way that's broken or
incorrect, so disable the check until we can find a way to workaround
this.  Unfortunately, the indent check is enforced at `make distcheck`
time if GNU indent is installed, so it can't simply be ignored.

* cfg.mk (local-checks-to-skip): Add sc_indent.

18 months agolibltdl: delete use of ^L
Mike Frysinger [Mon, 15 Jan 2024 02:48:38 +0000 (21:48 -0500)] 
libltdl: delete use of ^L

GNU indent does not process this well, and nothing else in the tree
uses this convention, so drop it.

(GNU indent is enforced by gnulib when running `make distcheck`.)

* libltdl/ltdl.c: Delete ^L.
* libltdl/ltdl.h: Likewise.

18 months agogeneralize genders
Mike Frysinger [Mon, 15 Jan 2024 02:33:02 +0000 (21:33 -0500)] 
generalize genders

* HACKING: Change "his" to "their".
* tests/old-m4-iface.at: Change "she" to "they".

18 months ago.gitmodules: use HTTPS for cloning gnulib
Sam James [Sun, 14 Jan 2024 20:28:00 +0000 (20:28 +0000)] 
.gitmodules: use HTTPS for cloning gnulib

* .gitmodules: Use https://.

18 months agolibtool.m4: For reproducibility stop encoding hostname in libtool script
Richard Purdie [Mon, 25 Oct 2021 14:33:37 +0000 (15:33 +0100)] 
libtool.m4: For reproducibility stop encoding hostname in libtool script

For reproducibility, stop encoding the hostname into the libtool script,
this isn't really adding much to debugging and most distros are carrying
such a patch now as reproducibility is important.

* m4/libtool.m4: Delete call to hostname & uname.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
18 months agolibtool: Add support for flang (Fortran LLVM-based) compilers
Gilles Gouaillardet [Thu, 24 Aug 2017 08:16:46 +0000 (17:16 +0900)] 
libtool: Add support for flang (Fortran LLVM-based) compilers

This patch adds support for flang compilers.  Some specific flags
are needed so these compilers must be handled in a specific way.
By default, the compiler is called 'flang', but ARM releases their
own flang-based compiler called 'armflang'.

Because of the current lack of flang support in libtool, the
generated 'libtool' must be manually modified after 'configure' is
invoked.  Such a process is for example described on ARM web site
(it involves the Open MPI library).

Url: https://savannah.gnu.org/patch/?9442

* m4/libtool.m4: Handle *flang.

18 months agoltmain.in: Pass through -fdiagnostics-color, -frecord-gcc-switches
Sam James [Sun, 14 Jan 2024 06:27:33 +0000 (06:27 +0000)] 
ltmain.in: Pass through -fdiagnostics-color, -frecord-gcc-switches

* -fdiagnostics-color: who doesn't like color? No reason to strip it. This
  makes the link phase stick out like a sore thumb if there's warnings emitted.

* -frecord-gcc-switches: we use it in Gentoo to check if a package respects
  *FLAGS. Note that we do not need to include -grecord-gcc-switches explicitly
  here as -g* is already whitelisted.

* build-aux/ltmain.in: Handle -fdiagnostics-color* & -frecord-gcc-switches.

18 months agobuild: make sure autoheader run before automake
Mingli Yu [Tue, 13 Apr 2021 08:19:11 +0000 (16:19 +0800)] 
build: make sure autoheader run before automake

When use automake to generate Makefile.in from Makefile.am, there
comes below race:
 | configure.ac:45: error: required file 'config-h.in' not found

It is because the file config-h.in in updating process by autoheader,
so make automake run after autoheader to avoid the above race.

* Makefile.am: Have $(lt_Makefile_in) depend on $(lt_config_h_in).

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
18 months agobuild: make sure autoheader run before autoconf
Mingli Yu [Wed, 24 Mar 2021 03:21:04 +0000 (11:21 +0800)] 
build: make sure autoheader run before autoconf

autoheader will update ../libtool-2.4.6/libltdl/config-h.in which
autoconf needs, so there comes a race sometimes as below:
 | configure.ac:45: error: required file 'config-h.in' not found
 | touch '../libtool-2.4.6/libltdl/config-h.in'

So make sure autoheader run before autoconf to avoid this race.

* Makefile.am: Have $(lt_configure) depend on $(lt_config_h_in).

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
18 months agodocs: Use @file for .libs directory
Jonathan Wakely [Mon, 15 Mar 2021 13:38:33 +0000 (13:38 +0000)] 
docs: Use @file for .libs directory

* doc/libtool.texi: Use @file format for directory name.

18 months agodocs: Fix typo in 'Linking Libraries' section
Jonathan Wakely [Mon, 15 Mar 2021 13:38:08 +0000 (13:38 +0000)] 
docs: Fix typo in 'Linking Libraries' section

* doc/libtool.texi: Fix typo.

18 months agolibtool: Support "-fno-sanitize*" options.
Manoj Gupta [Fri, 16 Dec 2022 18:10:58 +0000 (10:10 -0800)] 
libtool: Support "-fno-sanitize*" options.

"-fno-sanitize*" options e.g. -fno-sanitize=alignment
or -fno-sanitize-recover=all are used to tune the behvior of
sanitizers in GCC/clang. Let libtool pass these options
to compiler similar to fsanitize=*.

* build-aux/ltmain.in: Handle -fno-sanitize*.

Signed-off-by: Manoj Gupta <manojgupta@google.com>
18 months agomaint: extend release version hook to cover config.lt
Mike Frysinger [Sun, 14 Jan 2024 06:10:12 +0000 (01:10 -0500)] 
maint: extend release version hook to cover config.lt

* cfg.mk: Extend rule to cover config.lt.
* m4/libtool.m4: Update copyright year.

18 months agolibtool.m4: fix typos
Jakub Wilk [Thu, 19 Jan 2023 11:09:33 +0000 (12:09 +0100)] 
libtool.m4: fix typos

* m4/libtool.m4: Fix various typos.

18 months agolibtool: Include _CRTIMP in _putenv() declaration in EXE wrapper sources.
Vadim Zeitlin [Thu, 23 Jun 2011 09:34:35 +0000 (11:34 +0200)] 
libtool: Include _CRTIMP in _putenv() declaration in EXE wrapper sources.

Re-declaring _putenv() without _CRTIMP in strict ANSI mode when using
MinGW resulted in a warning because of a conflict with the previous
declaration that did use _CRTIMP.

Simply add _CRTIMP to our declaration to avoid it.

* build-aux/ltmain.in (func_emit_cwrapperexe_src): Add _CRTIMP to
_putenv() declaration.

Signed-off-by: Vadim Zeitlin <vz-libtool@zeitlins.org>
18 months agolibtool: hurd-amd64 support
Samuel Thibault [Sat, 6 May 2023 14:17:09 +0000 (16:17 +0200)] 
libtool: hurd-amd64 support

This adds support for passing -m elf32_x86_64 vs -m elf_x86_64 to the
linker on hurd-amd64.

Url: https://savannah.gnu.org/patch/?10398

* m4/libtool.m4: dd x86_64-gnu* case to pass -m elf32_x86_64 vs
-m elf_x86_64 to linker.

18 months agoRecognize *-*-windows* config triplets
Bruno Haible [Wed, 30 Aug 2023 12:03:24 +0000 (14:03 +0200)] 
Recognize *-*-windows* config triplets

The gnuconfig project recognizes windows* as a host OS to denote native
Windows environments.  The commit message makes it sound like LLVM and
Crablang communities will use the 'windows' value, whereas GNU will
continue to use 'mingw'. But I think it's only a matter of time until
people start to pass the option --host=x86_64-pc-windows to configure
scripts. We should be prepared for that.

Url: https://savannah.gnu.org/patch/?10387

* build-aux/ltmain.in: Treat windows* as equivalent to mingw*.
* m4/libtool.m4: Likewise.
* m4/ltdl.m4: Likewise.
* m4/ltoptions.m4: Likewise.
* tests/bindir.at: Likewise.
* tests/deplibs-mingw.at: Likewise.
* tests/lt_dladvise.at: Likewise.
* tests/testsuite.at: Likewise.

18 months agodocs: Update links to FlexDLL and edll
Antonin Décimo [Thu, 23 Nov 2023 08:44:23 +0000 (09:44 +0100)] 
docs: Update links to FlexDLL and edll

* doc/libtool.texi: Update website URIs.

Copyright-paperwork-exempt: Yes

18 months agolibtool: passthru '-shared-libsan' and '-static-libsan' flags
Dmitry Antipov [Sun, 21 May 2023 17:28:22 +0000 (20:28 +0300)] 
libtool: passthru '-shared-libsan' and '-static-libsan' flags

This is intented to link against shared and static sanitizer
runtimes with Clang.

* build-aux/ltmain.in: Pass '-shared-libsan' and '-static-libsan'
flags when linking.

Signed-off-by: Dmitry Antipov <dmantipov@yandex.ru>
18 months agotests: Fix C99 compatibility issue in lt_dlopen_a.at
Florian Weimer [Tue, 10 Jan 2023 09:21:04 +0000 (10:21 +0100)] 
tests: Fix C99 compatibility issue in lt_dlopen_a.at

Include <string.h> for the strcmp function.  This improves C99
compiler compatibility because it avoids an implicit function
declaration.

* tests/lt_dlopen_a.at: Include string.h.

18 months agolibtool: port better to POSIX grep
Paul Eggert [Mon, 19 Sep 2022 20:25:45 +0000 (13:25 -0700)] 
libtool: port better to POSIX grep

This fixes some other regular expressions that GNU grep 3.8 does not
warn about (I found them with an even-pickier 'grep').

I did not look systematically for all portability bugs of this form.

Url: https://savannah.gnu.org/patch/index.php?10282

* tests/cdemo.at (allow_undefined_flag):
Prefer } to \} in EREs, as \} is not portable.
* tests/libtool.at (quote shell meta-characters in filenames):
Prefer ] to \] in BREs, as \] is not portable.

18 months agolibtool: port to GNU grep 3.8
Paul Eggert [Mon, 19 Sep 2022 20:22:53 +0000 (13:22 -0700)] 
libtool: port to GNU grep 3.8

GNU grep 3.8 warns about some regular expressions that POSIX says have
undefined effect, e.g., '\-'.  Unfortunately Libtool uses regular
expressions of this form.  Some unittests now fail, e.g. link-order.at:

--- /dev/null
+++ .../libtool/tests/testsuite.dir/at-groups/66/stderr
@@ -0,0 +1,4 @@
+/bin/grep: warning: stray \ before /
+/bin/grep: warning: stray \ before /
+/bin/grep: warning: stray \ before /
+/bin/grep: warning: stray \ before /

Url: https://savannah.gnu.org/patch/index.php?10282

* m4/libtool.m4 (_LT_LANG_CXX_CONFIG): Do not use \- in a BRE or ERE,
as this produces undefined results that GNU grep 3.8 warns about.
Use [-] instead.
* tests/link-order.at (Link order test): Similarly, do not use
\/ in an ERE; use / instead.

18 months agolibtool: removed stale intro in document
Ileana Dumitrescu [Sat, 13 Jan 2024 17:09:47 +0000 (19:09 +0200)] 
libtool: removed stale intro in document

Fixes libtool bug https://bugs.gnu.org/64157

* libtool.texi: Removed old and stale introduction from documentation.

18 months agoREADME: change http to https in all URIs
Mike Frysinger [Fri, 12 Jan 2024 07:31:20 +0000 (02:31 -0500)] 
README: change http to https in all URIs

* README.md: Change http:// to https:// everywhere.

18 months agoREADME: fix path to INSTALL in git
Mike Frysinger [Fri, 12 Jan 2024 07:26:43 +0000 (02:26 -0500)] 
README: fix path to INSTALL in git

Fixes libtool bug https://bugs.gnu.org/42787.

The file lives in automake's git, not libtool.

* README.md: Change INSTALL URL to automake.git.

18 months agomaint: fix git hooks logic error
Mike Frysinger [Fri, 12 Jan 2024 07:14:47 +0000 (02:14 -0500)] 
maint: fix git hooks logic error

`test set = set = set` is invalid, as is `test set = = set`.
Tweak the code to what was probably intended.

* build-aux/git-hooks/commit-msg: Fix $ECHO test call.

18 months agomaint: add hook to automate release version updates
Mike Frysinger [Fri, 12 Jan 2024 07:09:28 +0000 (02:09 -0500)] 
maint: add hook to automate release version updates

Fixes libtool bug https://bugs.gnu.org/67588.

Automate the process to avoid it falling stale again in the future,
and then refresh here to get in sync.

* cfg.mk: Add rule to update libtool.m4 release version.
* m4/libtool.m4: Update release year.

18 months agolibtool: Use AC_CHECK_PROG instead of AC_CHECK_TOOL to find "file"
Uwe Kleine-König [Mon, 4 Dec 2023 20:47:57 +0000 (21:47 +0100)] 
libtool: Use AC_CHECK_PROG instead of AC_CHECK_TOOL to find "file"

This fixes a warning when cross-building:

checking for arm-v7a-linux-gnueabihf-file... no
checking for file... file
configure: WARNING: using cross tools not prefixed with host triplet

file isn't platform specific and not usually installed with a host
triplet. So use AC_CHECK_PROG which differs from AC_CHECK_TOOL by not
expecting such a host triplet prefix.

* m4/libtool.m4 (_LT_DECL_FILECMD): Change AC_CHECK_TOOL to AC_CHECK_PROG.

18 months agomaint: update copyrights across project
Mike Frysinger [Fri, 12 Jan 2024 06:35:32 +0000 (01:35 -0500)] 
maint: update copyrights across project

2 years agolibtool: passthru '-Werror' flags
Sam James [Fri, 16 Dec 2022 19:16:43 +0000 (13:16 -0600)] 
libtool: passthru '-Werror' flags

* build-aux/ltmain.in: Pass '-Werror' flags to linker.

Copyright-paperwork-exempt: Yes

3 years agoRevert "libtool: permit compiler libs in shlibs"
Alex Ameen [Mon, 16 May 2022 05:07:17 +0000 (00:07 -0500)] 
Revert "libtool: permit compiler libs in shlibs"

This reverts commit 1d2577357ee704da2d6d7c7da119ad82ba8ca172.

3 years agolibtool: permit compiler libs in shlibs
Alex Ameen [Mon, 9 May 2022 02:46:30 +0000 (21:46 -0500)] 
libtool: permit compiler libs in shlibs

3 years agomaint: post-release administrivia
Alex Ameen [Thu, 17 Mar 2022 03:23:11 +0000 (23:23 -0400)] 
maint: post-release administrivia

* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.

3 years agoversion 2.4.7 v2.4.7
Alex Ameen [Thu, 17 Mar 2022 02:45:04 +0000 (22:45 -0400)] 
version 2.4.7

* NEWS: Record release date.

3 years agoNEWS: roll-back manually filled NEWS versioning
Alex Ameen [Mon, 7 Mar 2022 17:58:53 +0000 (11:58 -0600)] 
NEWS: roll-back manually filled NEWS versioning

* NEWS: 'make release-commit' wants to automatically enter this information,
so the original template must be restored.

3 years agoNEWS: fill entries for past commits
Alex Ameen [Sun, 6 Mar 2022 19:41:58 +0000 (13:41 -0600)] 
NEWS: fill entries for past commits

* NEWS: summarize past commits since previous release for NEWS file

3 years agolibltdl: bump libltdl.la version-info.
Alex Ameen [Wed, 9 Feb 2022 04:36:15 +0000 (22:36 -0600)] 
libltdl: bump libltdl.la version-info.

* libltdl/ltdl.mk: increment revision number to reflect minor changes
and bug-fixes.

3 years agolibtool: correct linter syntax complaints in M4
Alex Ameen [Tue, 8 Feb 2022 19:44:03 +0000 (13:44 -0600)] 
libtool: correct linter syntax complaints in M4

* m4/libtool.m4: remove unnecessary braces on variable derefence.
* m4/ltargz.m4: change quote style for inline comment.

3 years agognulib: update submodule to new repository.
Alex Ameen [Tue, 8 Feb 2022 19:32:47 +0000 (13:32 -0600)] 
gnulib: update submodule to new repository.

* configure.ac: Update autoconf requirement for bootstrapping to 2.64.
* README.md: Update note concerning autoconf version requirement.
* bootstrap: Propogate change to GPL license from GPL 3 to GPL 2.

3 years agomaint: update copyrights across project.
Alex Ameen [Tue, 8 Feb 2022 18:11:10 +0000 (12:11 -0600)] 
maint: update copyrights across project.

3 years agolibtool: Do not pass '-pthread' to Solaris linker.
Stacey Marshall [Sat, 5 Feb 2022 21:36:36 +0000 (15:36 -0600)] 
libtool: Do not pass '-pthread' to Solaris linker.

* build-aux/ltmain.in: Do not add -pthread to inherited linker flags on
Solaris systems.

Copyright-paperwork-exempt: Yes

3 years agodocs: manually recording dependencies in Automake
Alex Ameen [Fri, 24 Dec 2021 18:55:03 +0000 (12:55 -0600)] 
docs: manually recording dependencies in Automake

* doc/libtool.texi (Using Automake): provide example of how to manually record
'BUILT_SOURCES' dependencies for libtool archives.

3 years agotests: remove deprecated old-ltdl-iface.at test.
Alex Ameen [Sun, 5 Dec 2021 22:16:30 +0000 (16:16 -0600)] 
tests: remove deprecated old-ltdl-iface.at test.

* tests/old-ltdl-iface.at: remove test as instructed by inline comments, which
indicate that this test should have been deleted in 2013.
This test fails because it relies on legacy usage of 'include Makefile.inc'
by libltdl which is no longer supported.

3 years ago* libtool: Bump M4 serial versions and add missing AC_PROG_SED to ltdl.m4
Alex Ameen [Tue, 30 Nov 2021 03:43:26 +0000 (21:43 -0600)] 
* libtool: Bump M4 serial versions and add missing AC_PROG_SED to ltdl.m4

* m4/libtool.m4: bump serial version ( covers entire release ).
* m4/ltargz.m4: bump serial version ( covers entire release ).
Add AC_PROG_SED requirement to LT_FUNC_ARGZ.
* m4/ltdl.m4: bump serial version ( covers entire release ).

3 years agolibtool: replace raw invocations of sed with $SED
Václav Haisman [Tue, 30 Nov 2021 02:37:49 +0000 (20:37 -0600)] 
libtool: replace raw invocations of sed with $SED

* build-aux/ltmain.in: replace raw invocations of sed with $SED
* m4/libtool.m4: replace raw invocations of sed with $SED
* m4/ltargz.m4: replace raw invocations of sed with $SED
* m4/ltdl.m4: replace raw invocations of sed with $SED

Co-authored-by: Alex Ameen <alex.ameen.tx@gmail.com>
Copyright-paperwork-exempt: Yes

3 years agolibtool: add support for MidnightBSD
Lucas Holt [Tue, 30 Nov 2021 00:54:09 +0000 (18:54 -0600)] 
libtool: add support for MidnightBSD

* build-aux/ltmain.in: clone link-mode handling for MidnightBSD from FreeBSD
* m4/libtool.m4: clone various TAGVARs for MidnightBSD from FreeBSD
* m4/ltdl.m4: clone dlopen handling for MidnightBSD from FreeBSD

Copyright-paperwork-exempt: Yes

3 years agolibtool: powerpc 10.5 detection without a deployment target
Ryan Schmidt [Mon, 22 Nov 2021 03:06:50 +0000 (21:06 -0600)] 
libtool: powerpc 10.5 detection without a deployment target

* m4/libtool.m4: properly set "allow undefined" flag for darwin powerpc 10.5
even if deployment target is unset

Copyright-paperwork-exempt: Yes

3 years agolibtool: support macOS 11
Jeremy Huddleston Sequoia [Mon, 22 Nov 2021 02:36:34 +0000 (20:36 -0600)] 
libtool: support macOS 11

Fixes bug#44605

* m4/libtool.m4: '_LT_REQUIRED_DARWIN_CHECKS' sets proper "allow undefined" flag
for particular macOS versions and powerpc.

Copyright-paperwork-exempt: Yes

3 years agolibtool: correct m4 quoting in sed expression
Vincent Lefevre [Mon, 22 Nov 2021 01:59:54 +0000 (19:59 -0600)] 
libtool: correct m4 quoting in sed expression

* m4/libtool.m4: properly escape character set in sed expression

Copyright-paperwork-exempt: Yes

3 years agolibtool: replace some references to /usr/bin/file and /bin/sh
Alex Ameen [Sat, 20 Nov 2021 20:17:20 +0000 (14:17 -0600)] 
libtool: replace some references to /usr/bin/file and /bin/sh

* build-aux/ltmain.sh: use '/usr/bin/env sh' in shebang
* libtoolize.in: use '/usr/bin/env sh' in shebang
* m4/libtool.m4: 'FILECMD' to replace use of '/usr/bin/file'

3 years agolibtool: Add -Wa,* link-mode flag for assembler pass-thru
aakropotkin [Fri, 19 Nov 2021 03:24:47 +0000 (21:24 -0600)] 
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.

3 years agolibtool: Pass -Xassembler flag and arguments to compiler
Alex Potapenko [Fri, 19 Nov 2021 01:53:35 +0000 (19:53 -0600)] 
libtool: Pass -Xassembler flag and arguments to compiler

* build-aux/ltmain.in: Add parsing and pass-thru for -Xassembler

Copyright-paperwork-exempt: Yes

3 years agomaint: update Bootstrap git module
Pavel Raiskup [Tue, 16 Nov 2021 12:25:08 +0000 (13:25 +0100)] 
maint: update Bootstrap git module

Fixes bug#47000.

* bootstrap: Regenerated.
* gl-mod/bootstrap: Updated to the latest HEAD.

3 years agomaint: update copyrights across project.
aakropotkin [Mon, 15 Nov 2021 04:37:22 +0000 (22:37 -0600)] 
maint: update copyrights across project.

* AUTHORS: Correct manually modified copyright to be consistent with
other files.

3 years agomaint: update AUTHORS, copyright date.
aakropotkin [Mon, 15 Nov 2021 02:38:25 +0000 (20:38 -0600)] 
maint: update AUTHORS, copyright date.

* AUTHORS: Add Alex Ameen as maintainer. Move past authors to 'previous' list.