Commit Graph

4437 Commits

Author SHA1 Message Date
Mike Frysinger
003520d346 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.
2024-01-16 15:46:12 -05:00
Raul E Rangel
f81f36e4e9 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>
2024-01-16 15:28:57 -05:00
Brad Smith
5a7193dbfb 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.
2024-01-16 15:11:38 -05:00
Olly Betts
81e8abf3dd
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>
2024-01-16 20:43:00 +02:00
Xiang.Lin
4da5b57531
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.
2024-01-16 19:47:20 +02:00
Bruno Haible
47c71f61df
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.
2024-01-15 22:58:56 +02:00
Mike Frysinger
544675d6b5 gnulib: update submodule to current versions
* gl/build-aux/do-release-commit-and-tag.diff: Rebase.
* gnulib: Update submodule.
2024-01-14 23:10:53 -05:00
Mike Frysinger
55e703a96b 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/.
2024-01-14 23:09:49 -05:00
Mike Frysinger
3c19bfd4fb maint: tweak update-release-year for syntax checks
`make syntax-check` complains about redundant variable braces.

* cfg.mk (update-release-year): Delete $${year} braces.
2024-01-14 23:09:49 -05:00
Mike Frysinger
f03b64dc62 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.
2024-01-14 22:36:07 -05:00
Mike Frysinger
1879a0e6db 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.
2024-01-14 21:48:38 -05:00
Mike Frysinger
a38b178625 generalize genders
* HACKING: Change "his" to "their".
* tests/old-m4-iface.at: Change "she" to "they".
2024-01-14 21:35:02 -05:00
Sam James
b80646b7b8 .gitmodules: use HTTPS for cloning gnulib
* .gitmodules: Use https://.
2024-01-14 17:42:55 -05:00
Richard Purdie
bd826173c4 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>
2024-01-14 02:11:35 -05:00
Gilles Gouaillardet
33d4b69fcc 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.
2024-01-14 02:07:38 -05:00
Sam James
533d816dea 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.
2024-01-14 01:51:06 -05:00
Mingli Yu
e01c0bfe5e 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>
2024-01-14 01:24:15 -05:00
Mingli Yu
e7dc729dd2 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>
2024-01-14 01:23:38 -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
Manoj Gupta
8878355f1d 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>
2024-01-14 01:14:29 -05:00
Mike Frysinger
22406ebb83 maint: extend release version hook to cover config.lt
* cfg.mk: Extend rule to cover config.lt.
* m4/libtool.m4: Update copyright year.
2024-01-14 01:10:32 -05:00
Jakub Wilk
9ced107b8c libtool.m4: fix typos
* m4/libtool.m4: Fix various typos.
2024-01-14 01:03:54 -05:00
Vadim Zeitlin
383a3807b7 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>
2024-01-14 00:58:07 -05:00
Samuel Thibault
7464f1db29 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.
2024-01-14 00:48:00 -05:00
Bruno Haible
9e7b9631ec 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.
2024-01-14 00:41:20 -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
Dmitry Antipov
429d905115 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>
2024-01-13 23:49:08 -05:00
Florian Weimer
477e484f19 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.
2024-01-13 23:47:35 -05:00
Paul Eggert
80d05c3483 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.
2024-01-13 22:59:34 -05:00
Paul Eggert
eb2a21cf2e 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.
2024-01-13 22:56:10 -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
1ee43a97fe README: change http to https in all URIs
* README.md: Change http:// to https:// everywhere.
2024-01-12 02:31:20 -05:00
Mike Frysinger
e9ec894d92 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.
2024-01-12 02:26:43 -05:00
Mike Frysinger
27b101add7 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.
2024-01-12 02:14:47 -05:00
Mike Frysinger
96dafbda93 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.
2024-01-12 02:09:28 -05:00
Uwe Kleine-König
64bef5ba65 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.
2024-01-12 01:37:17 -05:00
Mike Frysinger
85093d697a maint: update copyrights across project 2024-01-12 01:35:32 -05:00
Sam James
1ec8fa28dc
libtool: passthru '-Werror' flags
* build-aux/ltmain.in: Pass '-Werror' flags to linker.

Copyright-paperwork-exempt: Yes
2022-12-16 13:16:43 -06:00
Alex Ameen
6132006b5f
Revert "libtool: permit compiler libs in shlibs"
This reverts commit 1d2577357e.
2022-05-16 00:07:17 -05:00
Alex Ameen
1d2577357e
libtool: permit compiler libs in shlibs 2022-05-08 21:46:30 -05:00
Alex Ameen
b9ba1b3f0b maint: post-release administrivia
* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.
2022-03-16 23:23:11 -04:00
Alex Ameen
6d7ce133ce version 2.4.7
* NEWS: Record release date.
2022-03-16 22:45:04 -04:00
Alex Ameen
b4a37606e6
NEWS: roll-back manually filled NEWS versioning
* NEWS: 'make release-commit' wants to automatically enter this information,
so the original template must be restored.
2022-03-07 11:58:53 -06:00
Alex Ameen
33615a45a6 NEWS: fill entries for past commits
* NEWS: summarize past commits since previous release for NEWS file
2022-03-06 13:41:58 -06:00
Alex Ameen
f5eb6f1169 libltdl: bump libltdl.la version-info.
* libltdl/ltdl.mk: increment revision number to reflect minor changes
and bug-fixes.
2022-02-08 22:36:15 -06:00
Alex Ameen
28fbcb6a9a 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.
2022-02-08 13:44:03 -06:00
Alex Ameen
7e69e44199 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.
2022-02-08 13:32:47 -06:00
Alex Ameen
2dc7dad770 maint: update copyrights across project. 2022-02-08 12:11:10 -06:00
Stacey Marshall
b55b1cc841 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
2022-02-05 15:36:36 -06:00