[no subject]
branch: master commit 7c45f3b350dcace8c7d101881d5e7101b0ff0aab Author: Ileana Dumitrescu AuthorDate: Wed Nov 20 20:29:04 2024 +0200 NEWS: Update for previous commit --- NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NEWS b/NEWS index c309b8b5..2bfff4b8 100644 --- a/NEWS +++ b/NEWS @@ -48,7 +48,7 @@ NEWS - list of user-visible changes between releases of GNU Libtool - Support for 'netbsdelf*-gnu'. - - Support for Ironclad. + - Support for '*-mlibc', and subsequently Ironclad and Managarm. - Support for SerenityOS.
[no subject]
branch: development commit 5a4a8ea8b6b604c7d16d90bc9fbc23efbd21c22d Author: Ileana Dumitrescu AuthorDate: Wed Nov 20 20:39:32 2024 +0200 bootstrap: Reflect changes from submodule update --- bootstrap | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/bootstrap b/bootstrap index e4cfd3a1..c2144576 100755 --- a/bootstrap +++ b/bootstrap @@ -53,7 +53,7 @@ # # See gl/doc/bootstrap.texi for documentation on how to write # a bootstrap.conf to customize it for your project's -# idiosyncracies. +# idiosyncrasies. ## == ## @@ -192,7 +192,7 @@ extra_locale_categories= # Additional xgettext options to use. Gnulib might provide you with an # extensive list of additional options to append to this, but gettext -# 0.16.1 and newer appends them automaticaly, so you can safely ignore +# 0.16.1 and newer appends them automatically, so you can safely ignore # the complaints from 'gnulib-tool' if your $configure_ac states: # #AM_GNU_GETTEXT_VERSION([0.16.1]) @@ -752,7 +752,7 @@ func_require_term_colors () # _G_HAVE_PLUSEQ_OP # Can be empty, in which case the shell is probed, "yes" if += is - # useable or anything else if it does not work. + # usable or anything else if it does not work. test -z "$_G_HAVE_PLUSEQ_OP" \ && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \ && _G_HAVE_PLUSEQ_OP=yes @@ -902,7 +902,7 @@ eval 'func_dirname () # to NONDIR_REPLACEMENT. # value returned in "$func_dirname_result" # basename: Compute filename of FILE. -# value retuned in "$func_basename_result" +# value returned in "$func_basename_result" # For efficiency, we do not delegate to the functions above but instead # duplicate the functionality here. eval 'func_dirname_and_basename () @@ -1060,7 +1060,7 @@ func_mkdir_p () # While some portion of DIR does not yet exist... while test ! -d "$_G_directory_path"; do # ...make a list in topmost first order. Use a colon delimited - # list incase some portion of path contains whitespace. + # list in case some portion of path contains whitespace. _G_dir_list=$_G_directory_path:$_G_dir_list # If the last portion added has no slash in it, the list is done @@ -5082,7 +5082,7 @@ func_get_version () _G_app=$1 # Rather than uncomment the sed script in-situ, strip the comments -# programatically before passing the result to $SED for evaluation. +# programmatically before passing the result to $SED for evaluation. sed_get_version=`$ECHO '# extract version within line s|.*[v ]\{1,\}\([0-9]\{1,\}\.[.a-z0-9-]*\).*|\1| t done
[no subject]
branch: master commit e5b946a5810802ac66434840c4eee7e504686fbc Author: Ileana Dumitrescu AuthorDate: Wed Nov 20 20:39:32 2024 +0200 bootstrap: Reflect changes from submodule update --- bootstrap | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/bootstrap b/bootstrap index e4cfd3a1..c2144576 100755 --- a/bootstrap +++ b/bootstrap @@ -53,7 +53,7 @@ # # See gl/doc/bootstrap.texi for documentation on how to write # a bootstrap.conf to customize it for your project's -# idiosyncracies. +# idiosyncrasies. ## == ## @@ -192,7 +192,7 @@ extra_locale_categories= # Additional xgettext options to use. Gnulib might provide you with an # extensive list of additional options to append to this, but gettext -# 0.16.1 and newer appends them automaticaly, so you can safely ignore +# 0.16.1 and newer appends them automatically, so you can safely ignore # the complaints from 'gnulib-tool' if your $configure_ac states: # #AM_GNU_GETTEXT_VERSION([0.16.1]) @@ -752,7 +752,7 @@ func_require_term_colors () # _G_HAVE_PLUSEQ_OP # Can be empty, in which case the shell is probed, "yes" if += is - # useable or anything else if it does not work. + # usable or anything else if it does not work. test -z "$_G_HAVE_PLUSEQ_OP" \ && (eval 'x=a; x+=" b"; test "a b" = "$x"') 2>/dev/null \ && _G_HAVE_PLUSEQ_OP=yes @@ -902,7 +902,7 @@ eval 'func_dirname () # to NONDIR_REPLACEMENT. # value returned in "$func_dirname_result" # basename: Compute filename of FILE. -# value retuned in "$func_basename_result" +# value returned in "$func_basename_result" # For efficiency, we do not delegate to the functions above but instead # duplicate the functionality here. eval 'func_dirname_and_basename () @@ -1060,7 +1060,7 @@ func_mkdir_p () # While some portion of DIR does not yet exist... while test ! -d "$_G_directory_path"; do # ...make a list in topmost first order. Use a colon delimited - # list incase some portion of path contains whitespace. + # list in case some portion of path contains whitespace. _G_dir_list=$_G_directory_path:$_G_dir_list # If the last portion added has no slash in it, the list is done @@ -5082,7 +5082,7 @@ func_get_version () _G_app=$1 # Rather than uncomment the sed script in-situ, strip the comments -# programatically before passing the result to $SED for evaluation. +# programmatically before passing the result to $SED for evaluation. sed_get_version=`$ECHO '# extract version within line s|.*[v ]\{1,\}\([0-9]\{1,\}\.[.a-z0-9-]*\).*|\1| t done
[no subject]
branch: master commit a2c84d14aa792413c40d753293f9e5b3f9aab619 Author: mintsuki AuthorDate: Wed Nov 20 18:34:58 2024 +0100 libtool: Replace support for ironclad* with *-mlibc The main Ironclad kernel-based distribution (Gloire) uses the mlibc C library for its userland, and that is what commit bd15931e57f5171732a1a911cbbad9b5e03d0308 was intended to support. There is no reason this support should be Ironclad-specific, as there are many other OSes that use mlibc, most prominently "Managarm", which is already supported by gnu-config. --- m4/libtool.m4 | 18 +- m4/ltdl.m4| 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/m4/libtool.m4 b/m4/libtool.m4 index 628cdc9b..8d323b3e 100644 --- a/m4/libtool.m4 +++ b/m4/libtool.m4 @@ -2996,7 +2996,7 @@ netbsd*) hardcode_into_libs=yes ;; -ironclad*) +*-mlibc) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no @@ -3674,7 +3674,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) lt_cv_deplibs_check_method=pass_all ;; -ironclad*) +*-mlibc) lt_cv_deplibs_check_method=pass_all ;; @@ -4563,7 +4563,7 @@ m4_if([$1], [CXX], [ ;; netbsd* | netbsdelf*-gnu) ;; - ironclad*) + *-mlibc) ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise @@ -4921,7 +4921,7 @@ m4_if([$1], [CXX], [ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; -ironclad*) +*-mlibc) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' @@ -5408,7 +5408,7 @@ _LT_EOF fi ;; -ironclad*) +*-mlibc) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; @@ -5956,7 +5956,7 @@ _LT_EOF esac ;; -ironclad*) +*-mlibc) ;; netbsd* | netbsdelf*-gnu) @@ -7262,9 +7262,9 @@ if test yes != "$_lt_caught_CXX_error"; then esac ;; - ironclad*) - _LT_TAGVAR(ld_shlibs, $1)=yes - ;; + *-mlibc) +_LT_TAGVAR(ld_shlibs, $1)=yes + ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then diff --git a/m4/ltdl.m4 b/m4/ltdl.m4 index 4f20cee2..c7790ffd 100644 --- a/m4/ltdl.m4 +++ b/m4/ltdl.m4 @@ -495,7 +495,7 @@ AC_CACHE_CHECK([whether deplibs are loaded by dlopen], # at 6.2 and later dlopen does load deplibs. lt_cv_sys_dlopen_deplibs=yes ;; - ironclad*) + *-mlibc) lt_cv_sys_dlopen_deplibs=yes ;; netbsd* | netbsdelf*-gnu)
development updated (a1c003ee -> 5a4a8ea8)
ildumi pushed a change to branch development. from a1c003ee libltdl: Bump version for minor bugfix during cleaning new b755144e libtool: Replace support for ironclad* with *-mlibc new 5777fd1c NEWS: Update for previous commit new 5a4a8ea8 bootstrap: Reflect changes from submodule update Summary of changes: NEWS | 2 +- bootstrap | 12 ++-- m4/libtool.m4 | 18 +- m4/ltdl.m4| 2 +- 4 files changed, 17 insertions(+), 17 deletions(-)
[no subject]
branch: development commit b755144e964072518d6451b39ca76d968f41a35b Author: mintsuki AuthorDate: Wed Nov 20 18:34:58 2024 +0100 libtool: Replace support for ironclad* with *-mlibc The main Ironclad kernel-based distribution (Gloire) uses the mlibc C library for its userland, and that is what commit bd15931e57f5171732a1a911cbbad9b5e03d0308 was intended to support. There is no reason this support should be Ironclad-specific, as there are many other OSes that use mlibc, most prominently "Managarm", which is already supported by gnu-config. --- m4/libtool.m4 | 18 +- m4/ltdl.m4| 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/m4/libtool.m4 b/m4/libtool.m4 index 04a02d80..f220c667 100644 --- a/m4/libtool.m4 +++ b/m4/libtool.m4 @@ -2996,7 +2996,7 @@ netbsd*) hardcode_into_libs=yes ;; -ironclad*) +*-mlibc) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no @@ -3674,7 +3674,7 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) lt_cv_deplibs_check_method=pass_all ;; -ironclad*) +*-mlibc) lt_cv_deplibs_check_method=pass_all ;; @@ -4563,7 +4563,7 @@ m4_if([$1], [CXX], [ ;; netbsd* | netbsdelf*-gnu) ;; - ironclad*) + *-mlibc) ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise @@ -4921,7 +4921,7 @@ m4_if([$1], [CXX], [ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; -ironclad*) +*-mlibc) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' @@ -5408,7 +5408,7 @@ _LT_EOF fi ;; -ironclad*) +*-mlibc) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' ;; @@ -5956,7 +5956,7 @@ _LT_EOF esac ;; -ironclad*) +*-mlibc) ;; netbsd* | netbsdelf*-gnu) @@ -7262,9 +7262,9 @@ if test yes != "$_lt_caught_CXX_error"; then esac ;; - ironclad*) - _LT_TAGVAR(ld_shlibs, $1)=yes - ;; + *-mlibc) +_LT_TAGVAR(ld_shlibs, $1)=yes + ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then diff --git a/m4/ltdl.m4 b/m4/ltdl.m4 index 4f20cee2..c7790ffd 100644 --- a/m4/ltdl.m4 +++ b/m4/ltdl.m4 @@ -495,7 +495,7 @@ AC_CACHE_CHECK([whether deplibs are loaded by dlopen], # at 6.2 and later dlopen does load deplibs. lt_cv_sys_dlopen_deplibs=yes ;; - ironclad*) + *-mlibc) lt_cv_sys_dlopen_deplibs=yes ;; netbsd* | netbsdelf*-gnu)
[no subject]
branch: master commit baa1fe41f9a2697e2d5847c8e1c97996560d56d1 Author: Ileana Dumitrescu AuthorDate: Wed Nov 20 22:08:47 2024 +0200 maint: post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. --- .prev-version | 2 +- NEWS | 3 +++ cfg.mk| 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.prev-version b/.prev-version index aedc15bb..fe16b348 100644 --- a/.prev-version +++ b/.prev-version @@ -1 +1 @@ -2.5.3 +2.5.4 diff --git a/NEWS b/NEWS index 07333e0c..679bf94c 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,8 @@ NEWS - list of user-visible changes between releases of GNU Libtool +* Noteworthy changes in release ?.? (-??-??) [?] + + * Noteworthy changes in release 2.5.4 (2024-11-20) [stable] ** New features: diff --git a/cfg.mk b/cfg.mk index b96bb1c1..3eb7f610 100644 --- a/cfg.mk +++ b/cfg.mk @@ -29,7 +29,7 @@ update-release-year: m4/libtool.m4 # Set format of NEWS. -old_NEWS_hash := 61ef5bb8af40dc806027f40d99f8c980 +old_NEWS_hash := d51e62d3a4268be1a7b418b089c528d0 manual_title = Portable Dynamic Shared Object Management
master updated (e5b946a5 -> baa1fe41)
ildumi pushed a change to branch master. from e5b946a5 bootstrap: Reflect changes from submodule update new db22f7fc version 2.5.4 new baa1fe41 maint: post-release administrivia Summary of changes: .prev-version | 2 +- NEWS | 3 +++ cfg.mk| 2 +- 3 files changed, 5 insertions(+), 2 deletions(-)
master updated (27662ec0 -> e5b946a5)
ildumi pushed a change to branch master. from 27662ec0 libltdl: Bump version for minor bugfix during cleaning new a2c84d14 libtool: Replace support for ironclad* with *-mlibc new 7c45f3b3 NEWS: Update for previous commit new e5b946a5 bootstrap: Reflect changes from submodule update Summary of changes: NEWS | 2 +- bootstrap | 12 ++-- m4/libtool.m4 | 18 +- m4/ltdl.m4| 2 +- 4 files changed, 17 insertions(+), 17 deletions(-)
[no subject]
branch: development commit f8e43524394033e1b62ed395d39a694d1608fa7a Author: Ileana Dumitrescu AuthorDate: Wed Nov 20 21:40:14 2024 +0200 version 2.5.4 * NEWS: Record release date. --- NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 2bfff4b8..07333e0c 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,6 @@ NEWS - list of user-visible changes between releases of GNU Libtool -* Noteworthy changes in release ?.? (-??-??) [?] +* Noteworthy changes in release 2.5.4 (2024-11-20) [stable] ** New features:
annotated tag v2.5.4 created (now 300a6826)
ildumi pushed a change to annotated tag v2.5.4. at 300a6826 (tag) tagging db22f7fce768951ac89a83ea3ddedbb8a46511f7 (commit) replaces v2.5.3 by Ileana Dumitrescu on Wed Nov 20 21:40:21 2024 +0200 - Log - libtool 2.5.4 -BEGIN PGP SIGNATURE- iQIzBAABCgAdFiEE+ibKeEvhiJJ/IrmfZXDqARRvc1QFAmc+OyUACgkQZXDqARRv c1TxrBAAlx21DlNGoxIp1pmFh+cnMxg1qO0J1DA/r3BfLH/PJqSBM4nUTV0hkxBV IvViHizC9T73VAKQxZQGkq13vDCpY0TfLWXAhwsu5VTHo6JpFHpxb6LH/CuVAgTs cbRbz6l3eN5hGcOvx3CdclB3fLuJ8+vxsMxcG5OzDe981wXouL2HTPVUxKdLuVST vYCuRu40QqVoTZwTlE85j5tAwcWG2mXtsTDovoe/CGPAvCAHuXJkZCiKPF9+IwWX /VU9tlFjrBEUQKnYSkcXB6SCpiPK1fpeStW1NA2kvfd70NXJrn7r8DUTJf6lm+YM 2aCqgqGWLIDwvyBthQdTy553BH5SlAfvgB8UlQGkiVyPBkK/DAE+qe0DnOFWMMqQ XM1br/ISAl+VXKlr2RtyNQKfapQ3d1q3Qsr8lM69x0tMArTQoeoF5WVeY3aYNOga KK5IeuUKB5RDOAqG8TfWf+oiq98UmlQ0JOLcJ69s2AvEjqhaMnJgzUH5sLc94bVE qMu6OL/aZhFS06V3eODwoQsvXZEL8ZWzDpEHYEcy/1Lhmwu8CIejViqQmf424Rt6 busDhFPuzn81/5EjM0TG9olv8t/170PKLoLiiliO/92Sf5Mu0mH693i6rlQ6wDRp czn/SLUDEHGybJ3H6LWdMBkIsLlFBCQj5G5g3Z17bajef0ZEp+w= =ohdT -END PGP SIGNATURE- --- This annotated tag includes the following new commits: new db22f7fc version 2.5.4
development updated (5a4a8ea8 -> 0fe02ce4)
ildumi pushed a change to branch development. from 5a4a8ea8 bootstrap: Reflect changes from submodule update new f8e43524 version 2.5.4 new 0fe02ce4 maint: post-release administrivia Summary of changes: .prev-version | 2 +- NEWS | 3 +++ cfg.mk| 2 +- 3 files changed, 5 insertions(+), 2 deletions(-)
[no subject]
branch: development commit 0fe02ce4c5274e67446dffb45792009732174231 Author: Ileana Dumitrescu AuthorDate: Wed Nov 20 22:08:47 2024 +0200 maint: post-release administrivia * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. --- .prev-version | 2 +- NEWS | 3 +++ cfg.mk| 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.prev-version b/.prev-version index aedc15bb..fe16b348 100644 --- a/.prev-version +++ b/.prev-version @@ -1 +1 @@ -2.5.3 +2.5.4 diff --git a/NEWS b/NEWS index 07333e0c..679bf94c 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,8 @@ NEWS - list of user-visible changes between releases of GNU Libtool +* Noteworthy changes in release ?.? (-??-??) [?] + + * Noteworthy changes in release 2.5.4 (2024-11-20) [stable] ** New features: diff --git a/cfg.mk b/cfg.mk index b96bb1c1..3eb7f610 100644 --- a/cfg.mk +++ b/cfg.mk @@ -29,7 +29,7 @@ update-release-year: m4/libtool.m4 # Set format of NEWS. -old_NEWS_hash := 61ef5bb8af40dc806027f40d99f8c980 +old_NEWS_hash := d51e62d3a4268be1a7b418b089c528d0 manual_title = Portable Dynamic Shared Object Management
[no subject]
branch: master commit db22f7fce768951ac89a83ea3ddedbb8a46511f7 Author: Ileana Dumitrescu AuthorDate: Wed Nov 20 21:40:14 2024 +0200 version 2.5.4 * NEWS: Record release date. --- NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 2bfff4b8..07333e0c 100644 --- a/NEWS +++ b/NEWS @@ -1,6 +1,6 @@ NEWS - list of user-visible changes between releases of GNU Libtool -* Noteworthy changes in release ?.? (-??-??) [?] +* Noteworthy changes in release 2.5.4 (2024-11-20) [stable] ** New features:
[no subject]
branch: development commit f9e96cc4f9dcac611a1e72eb3ef4b9884db0e9d0 Author: Ileana Dumitrescu AuthorDate: Wed Nov 20 16:16:21 2024 +0200 gnulib: Update submodule to recent commit --- gnulib | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnulib b/gnulib index b3791b2b..ea58a72d 16 --- a/gnulib +++ b/gnulib @@ -1 +1 @@ -Subproject commit b3791b2bb9bdf03b2f99be5629d017a40382e1ee +Subproject commit ea58a72d4db3c4729e51de2633845ee381dd00b6
[no subject]
branch: master commit ab43d096d15f43c015a586ed460aaff17882d2a5 Author: Ileana Dumitrescu AuthorDate: Fri Oct 25 19:06:44 2024 +0300 libtool: Avoid test failure in OpenBSD The following errors can be seen for the 'execute mode' test in OpenBSD: build/libtool: test: <: missing second argument build/libtool: test: >: missing second argument The cwrapper in OpenBSD cannot parse these symbols as arguments in execute mode if there are no other characters with them. * tests/execute-mode.at: Escape '<' and '>' in OpenBSD. --- tests/execute-mode.at | 9 - 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/tests/execute-mode.at b/tests/execute-mode.at index ac77c40b..44b723bc 100644 --- a/tests/execute-mode.at +++ b/tests/execute-mode.at @@ -170,6 +170,13 @@ LT_AT_NOINST_EXEC_CHECK([./main], [], [], [stdout], [ignore], ["arg with special chars: \$!&*'\`()"]) AT_CHECK([$FGREP 'arg with special chars: $!&*'\''`()' stdout], [], [ignore]) +# OpenBSD cwrapper has issues parsing '<' and '>' in execute mode without other +# characters, so the symbols are escaped during testing in OpenBSD. +escape= +case $host_os in openbsd*) + escape='\' ;; +esac + # We always pair two args. The first one is never the empty string. arg1= for arg2 in \ @@ -182,7 +189,7 @@ for arg2 in \ 'd\\' '' \ 'd\\\' '' \ 'd' '' \ - '<' '>' \ + "$escape<" "$escape>" \ '' '' do if test -z "$arg1"; then
[no subject]
branch: master commit 323d8a5dfd80b9e3eb649cdf2a08a7cb9d6ba833 Author: Ileana Dumitrescu AuthorDate: Wed Oct 30 20:32:25 2024 +0200 libtool.m4: Update hardcode_shlibpath_var for OpenBSD When generating an executable in OpenBSD, the executable fails to generate when shlibpath_var, LD_LIBRARY_PATH, is used solely to locate dependent libraries. For hardcoding library paths in OpenBSD, see documentation for hardcode_direct and hardcode_libdir_flag_spec. * m4/libtool.m4: Update hardcode_shlibpath_var from 'no' to 'unsupported' by removing 'with_gnu_ld=no' for OpenBSD. --- m4/libtool.m4 | 3 --- 1 file changed, 3 deletions(-) diff --git a/m4/libtool.m4 b/m4/libtool.m4 index d0d36865..2955adeb 100644 --- a/m4/libtool.m4 +++ b/m4/libtool.m4 @@ -5091,9 +5091,6 @@ dnl Note also adjust exclude_expsyms for C++ above. # we just hope/assume this is gcc and not c89 (= MSVC++ or ICC) with_gnu_ld=yes ;; - openbsd*) -with_gnu_ld=no -;; esac _LT_TAGVAR(ld_shlibs, $1)=yes
[no subject]
branch: master commit bbc5fa945633fc478111bfc77ef49600d989dd54 Author: Ileana Dumitrescu AuthorDate: Mon Nov 18 22:20:05 2024 +0200 libtool.at: Fix failures for 'test silencing warnings' Replace 'g++' with variable '$CXX' and add version number for flag '-version-info'. --- tests/libtool.at | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/libtool.at b/tests/libtool.at index 7143a508..770a57af 100755 --- a/tests/libtool.at +++ b/tests/libtool.at @@ -251,9 +251,9 @@ AT_DATA([x.cpp], void f(int *p) { *p = 21; } ]]) -AT_CHECK([$LIBTOOL --mode=compile --tag=CXX g++ -c x.cpp], [0], [stdout], [stderr]) +AT_CHECK([$LIBTOOL --mode=compile --tag=CXX $CXX -c x.cpp], [0], [stdout], [stderr]) -AT_CHECK([$LIBTOOL --no-warnings --mode=link --tag=CXX g++ -o libx.la -no-canonical-prefixes -R /usr/lib64/ -version-info x.lo], [0], [stdout], [stderr]) +AT_CHECK([$LIBTOOL --no-warnings --mode=link --tag=CXX $CXX -o libx.la -no-canonical-prefixes -R /usr/lib64/ -version-info 0:0:0 x.lo], [0], [stdout], [stderr]) AT_CHECK([$GREP -- 'warning' stderr], [1], [ignore])
[no subject]
branch: master commit e6c7986fc81a544e6a114e3d6ea1c1916f180787 Author: Jerome Duval AuthorDate: Sat Sep 30 12:12:08 2017 +0200 Adjust haiku configuration --- m4/libtool.m4 | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/m4/libtool.m4 b/m4/libtool.m4 index ad0ad445..c2979b7c 100644 --- a/m4/libtool.m4 +++ b/m4/libtool.m4 @@ -2786,8 +2786,9 @@ haiku*) soname_spec='$libname$release$shared_ext$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=no - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes + sys_lib_search_path_spec='/boot/system/non-packaged/develop/lib /boot/system/develop/lib' + sys_lib_dlsearch_path_spec='/boot/home/config/non-packaged/lib /boot/home/config/lib /boot/system/non-packaged/lib /boot/system/lib' + hardcode_into_libs=no ;; hpux9* | hpux10* | hpux11*)
[no subject]
branch: development commit a1c003ee776823adc210ac310d0ddd8511d87601 Author: Ileana Dumitrescu AuthorDate: Wed Nov 20 17:30:20 2024 +0200 libltdl: Bump version for minor bugfix during cleaning --- libltdl/ltdl.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libltdl/ltdl.mk b/libltdl/ltdl.mk index 9d6be829..a498d0cb 100644 --- a/libltdl/ltdl.mk +++ b/libltdl/ltdl.mk @@ -35,7 +35,7 @@ AM_CPPFLAGS += -DLT_CONFIG_H='<$(LT_CONFIG_H)>' \ -I$(srcdir)/libltdl -Ilibltdl/libltdl \ -I$(srcdir)/libltdl/libltdl AM_LDFLAGS+= -no-undefined -LTDL_VERSION_INFO = -version-info 10:2:3 +LTDL_VERSION_INFO = -version-info 10:3:3 noinst_LTLIBRARIES += $(LT_DLLOADERS)
[no subject]
branch: development commit 5777fd1c19a7bd245a043344d057fbad85976b74 Author: Ileana Dumitrescu AuthorDate: Wed Nov 20 20:29:04 2024 +0200 NEWS: Update for previous commit --- NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NEWS b/NEWS index c309b8b5..2bfff4b8 100644 --- a/NEWS +++ b/NEWS @@ -48,7 +48,7 @@ NEWS - list of user-visible changes between releases of GNU Libtool - Support for 'netbsdelf*-gnu'. - - Support for Ironclad. + - Support for '*-mlibc', and subsequently Ironclad and Managarm. - Support for SerenityOS.
[no subject]
branch: development commit 193020a240be968387248a39da4ee688ac4db838 Author: Tim Schumacher AuthorDate: Sun May 29 15:01:28 2022 +0200 libtool: Add support for SerenityOS This hobbyist OS has already been added to `config.sub` (and `config.guess` respectively) some time ago, but was still lacking upstream support for building libraries using libtool. Since it is a relatively up-to-date system with ports of modern software, "adding support" mostly just means adding empty cases to avoid falling though to the most basic behavior (that guarantees compatibility at the expense of disabling everything that might be critical). * m4/libtool.m4: Add support for SerenityOS. --- m4/libtool.m4 | 26 ++ 1 file changed, 26 insertions(+) diff --git a/m4/libtool.m4 b/m4/libtool.m4 index c3fd4dc3..8c7d4cbb 100644 --- a/m4/libtool.m4 +++ b/m4/libtool.m4 @@ -3087,6 +3087,17 @@ rdos*) dynamic_linker=no ;; +serenity*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + dynamic_linker='SerenityOS LibELF' + ;; + solaris*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no @@ -3686,6 +3697,10 @@ rdos*) lt_cv_deplibs_check_method=pass_all ;; +serenity*) + lt_cv_deplibs_check_method=pass_all + ;; + solaris*) lt_cv_deplibs_check_method=pass_all ;; @@ -4563,6 +4578,8 @@ m4_if([$1], [CXX], [ ;; psos*) ;; + serenity*) +;; solaris*) case $cc_basename in CC* | sunCC*) @@ -4911,6 +4928,9 @@ m4_if([$1], [CXX], [ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; +serenity*) + ;; + solaris*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' @@ -6025,6 +6045,9 @@ _LT_EOF _LT_TAGVAR(hardcode_libdir_separator, $1)=: ;; +serenity*) + ;; + solaris*) _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' if test yes = "$GCC"; then @@ -7350,6 +7373,9 @@ if test yes != "$_lt_caught_CXX_error"; then _LT_TAGVAR(ld_shlibs, $1)=no ;; + serenity*) +;; + sunos4*) case $cc_basename in CC*)
development updated (5848f0aa -> 65c7b93a)
ildumi pushed a change to branch development. from 5848f0aa libtool.at: Fix failures for 'test silencing warnings' new 63560839 ltmain.in: Fix handling xlc(1)-specific options new 0a013484 Adjust haiku configuration new 50d7b464 Do not explicitly link dependencies on Haiku. new a1b219a6 libtool: add support for Ironclad new 193020a2 libtool: Add support for SerenityOS new 2c4bb57a libtool: add support for wasm32-emscripten new 65c7b93a NEWS: Update for recent commits Summary of changes: NEWS| 9 ++ build-aux/ltmain.in | 4 ++- m4/libtool.m4 | 92 + m4/ltdl.m4 | 3 ++ 4 files changed, 100 insertions(+), 8 deletions(-)
[no subject]
branch: master commit 4ba29e983ce6d4d49a6730c296400677bdbad679 Author: Ileana Dumitrescu AuthorDate: Mon Nov 11 21:24:08 2024 +0200 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. --- NEWS| 3 ++ build-aux/ltmain.in | 94 + doc/libtool.texi| 48 ++- tests/bug_71489.at | 10 ++ 4 files changed, 154 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index f97c5e45..39e75bae 100644 --- a/NEWS +++ b/NEWS @@ -7,6 +7,9 @@ NEWS - list of user-visible changes between releases of GNU Libtool - New libtool command line flag, --no-finish, to skip executing finish_cmds that would alter the shared library cache during testing. + - New libtool command line flag, --reorder-cache=DIRS, to reorder the +shared library cache, only on OpenBSD. + ** Bug fixes: - Fix incorrect use of workarounds designed for Darwin versions that diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in index 76ee77c9..1599fe74 100644 --- a/build-aux/ltmain.in +++ b/build-aux/ltmain.in @@ -142,6 +142,7 @@ usage_message="Options: --no-finish don't update shared library cache --no-warningsequivalent to '-Wnone' --preserve-dup-deps don't remove duplicate dependency libraries + --reorder-cache=DIRS reorder shared library cache for preferred DIRS --quiet, --silentdon't print informational messages --tag=TAGuse configuration variables from tag TAG -v, --verboseprint more informational messages than default @@ -376,6 +377,7 @@ libtool_options_prep () opt_dry_run=false opt_help=false opt_mode= +opt_reorder_cache=false opt_preserve_dup_deps=false opt_quiet=false opt_finishing=true @@ -496,6 +498,24 @@ libtool_parse_options () func_append preserve_args " $_G_opt" ;; +--reorder-cache) +opt_reorder_cache=true +shared_lib_dirs=$1 +if test -n "$shared_lib_dirs"; then + case $1 in +# Must begin with /: +/*) ;; + +# Catch anything else as an error (relative paths) +*) func_warning "invalid argument '$1' for $_G_opt" + func_warning "absolute paths are required for $_G_opt" + exit_cmd=exit + break + ;; + esac +fi +;; + --silent|--quiet) opt_quiet=: opt_verbose=false @@ -1061,6 +1081,15 @@ func_convert_path_front_back_pathsep () # end func_convert_path_front_back_pathsep +# func_convert_delimited_path PATH ORIG_DELIMITER NEW_DELIMITER +# Replaces a delimiter for a given path. +func_convert_delimited_path () +{ + converted_path=`$ECHO "$1" | $SED "s#$2#$3#g"` +} +# end func_convert_delimited_path + + ## # $build to $host FILE NAME CONVERSION FUNCTIONS # ## @@ -1395,6 +1424,65 @@ func_dll_def_p () } +# func_reorder_shared_lib_cache DIRS +# Reorder the shared library cache by unconfiguring previous shared library cache +# and configuring preferred search directories before previous search directories. +# Previous shared library cache: /usr/lib /usr/local/lib +# Preferred search directories: /tmp/testing +# Reordered shared library cache: /tmp/testing /usr/lib /usr/local/lib +func_reorder_shared_lib_cache () +{ + $debug_cmd + + case $host_os in + openbsd*) + get_search_directories=`PATH="$PATH:/sbin" ldconfig -r | $GREP "search directories" | $SED "s#.*search directories:\ ##g"` + func_convert_delimited_path "$get_search_directories" ':' '\ ' + save_search_directories=$converted_path + func_convert_delimited_path "$1" ':' '\ ' + + # Ensure directories exist + for dir in $converted_path; do + # Ensure each directory is an absolute path + case $dir in + /*) ;; + *) fu
[no subject]
branch: master commit f5a020ffa15a506f51def722a89e824c6113ee0a Author: Ileana Dumitrescu AuthorDate: Wed Nov 20 16:20:59 2024 +0200 bootstrap: Update submodule to recent commit --- gl-mod/bootstrap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gl-mod/bootstrap b/gl-mod/bootstrap index 81614867..bfdcc277 16 --- a/gl-mod/bootstrap +++ b/gl-mod/bootstrap @@ -1 +1 @@ -Subproject commit 8161486733a34d19c7b2b741fab5ade4b6a31c98 +Subproject commit bfdcc277cd237fde115d3aa972add7608d348b90
[no subject]
branch: master commit e5dfb39aab2f36357402db0bddfbdd6310efe25b Author: Ileana Dumitrescu AuthorDate: Mon Nov 18 20:19:57 2024 +0200 libtool: Fix --no-warnings flag Passing --no-warnings to libtool would not suppress warning messages. * build-aux/ltmain.in: Add 'opt_warning' check before printing out warning messages. * tests/libtool.at: Add simple test for '--no-warnings'. * NEWS: Update. --- NEWS| 2 ++ build-aux/ltmain.in | 25 + tests/libtool.at| 19 +++ 3 files changed, 34 insertions(+), 12 deletions(-) diff --git a/NEWS b/NEWS index b61b4024..355a5ad0 100644 --- a/NEWS +++ b/NEWS @@ -36,6 +36,8 @@ NEWS - list of user-visible changes between releases of GNU Libtool - Fix '-Fe' usage with linking in MSVC. + - Fix '--no-warnings' flag. + ** Changes in supported systems or compilers: - Support additional flang-based compilers, 'f18' and 'f95'. diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in index 4d7fc293..8cef9e8d 100644 --- a/build-aux/ltmain.in +++ b/build-aux/ltmain.in @@ -111,18 +111,6 @@ func_echo () } -# func_warning ARG... -# --- -# Libtool warnings are not categorized, so override funclib.sh -# func_warning with this simpler definition. -func_warning () -{ -$debug_cmd - -$warning_func ${1+"$@"} -} - - ## ## ## Options parsing. ## ## ## @@ -383,6 +371,7 @@ libtool_options_prep () opt_preserve_dup_deps=false opt_quiet=false opt_finishing=true +opt_warning= nonopt= preserve_args= @@ -553,6 +542,18 @@ libtool_parse_options () func_add_hook func_parse_options libtool_parse_options +# func_warning ARG... +# --- +# Libtool warnings are not categorized, so override funclib.sh +# func_warning with this simpler definition. +func_warning () +{ +if $opt_warning; then +$debug_cmd +$warning_func ${1+"$@"} +fi +} + # libtool_validate_options [ARG]... # - diff --git a/tests/libtool.at b/tests/libtool.at index b41c3cde..7143a508 100755 --- a/tests/libtool.at +++ b/tests/libtool.at @@ -239,3 +239,22 @@ AT_CHECK([$LIBTOOL -n --mode=link --tag=UnKnOwN compiler -o liba.la foo.lo], AT_CHECK([$GREP 'ignoring unknown tag' stderr], [0], [ignore]) AT_CLEANUP + +## ## +## Silence LT warnings. ## +## ## + +AT_SETUP([test silencing warnings]) + +AT_DATA([x.cpp], +[[ +void f(int *p) { *p = 21; } +]]) + +AT_CHECK([$LIBTOOL --mode=compile --tag=CXX g++ -c x.cpp], [0], [stdout], [stderr]) + +AT_CHECK([$LIBTOOL --no-warnings --mode=link --tag=CXX g++ -o libx.la -no-canonical-prefixes -R /usr/lib64/ -version-info x.lo], [0], [stdout], [stderr]) + +AT_CHECK([$GREP -- 'warning' stderr], [1], [ignore]) + +AT_CLEANUP
[no subject]
branch: master commit eed74d650aecb91f556d52c8d5f4018035daeb16 Author: Martin Storsjö AuthorDate: Wed Oct 10 10:47:21 2018 +0300 libtool: Prefer response files over linker scripts for mingw tools The GCC/binutils tools support response files just fine, while lld (impersonating GNU ld) only supports response files, not linker scripts. Using a linker script as input just to pass a list of files is overkill for cases when a response file is enough. * build-aux/ltmain.in: Move creation of ld script. * m4/libtool.m4: Add new variable tag for file_list_spec. * NEWS: Update. --- NEWS| 3 +++ build-aux/ltmain.in | 28 ++-- m4/libtool.m4 | 2 ++ 3 files changed, 19 insertions(+), 14 deletions(-) diff --git a/NEWS b/NEWS index ab986ba0..96b79902 100644 --- a/NEWS +++ b/NEWS @@ -23,6 +23,9 @@ NEWS - list of user-visible changes between releases of GNU Libtool - Fix path comparison by removing trailing slashes on install commands. + - Fix linking for mingw with lld by prefering response files over the +linker script. + ** Changes in supported systems or compilers: - Support additional flang-based compilers, 'f18' and 'f95'. diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in index be94b032..83aaaf92 100644 --- a/build-aux/ltmain.in +++ b/build-aux/ltmain.in @@ -7937,20 +7937,7 @@ func_mode_link () last_robj= k=1 - if test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then - output=$output_objdir/$output_la.lnkscript - func_verbose "creating GNU ld script: $output" - echo 'INPUT (' > $output - for obj in $save_libobjs - do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" >> $output - done - echo ')' >> $output - func_append delfiles " $output" - func_to_tool_file "$output" - output=$func_to_tool_file_result - elif test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then + if test -n "$save_libobjs" && test : != "$skipped_export" && test -n "$file_list_spec"; then output=$output_objdir/$output_la.lnk func_verbose "creating linker input file list: $output" : > $output @@ -7969,6 +7956,19 @@ func_mode_link () func_append delfiles " $output" func_to_tool_file "$output" output=$firstobj\"$file_list_spec$func_to_tool_file_result\" + elif test -n "$save_libobjs" && test : != "$skipped_export" && test yes = "$with_gnu_ld"; then + output=$output_objdir/$output_la.lnkscript + func_verbose "creating GNU ld script: $output" + echo 'INPUT (' > $output + for obj in $save_libobjs + do + func_to_tool_file "$obj" + $ECHO "$func_to_tool_file_result" >> $output + done + echo ')' >> $output + func_append delfiles " $output" + func_to_tool_file "$output" + output=$func_to_tool_file_result else if test -n "$save_libobjs"; then func_verbose "creating reloadable object files..." diff --git a/m4/libtool.m4 b/m4/libtool.m4 index 0a9c9afa..d0d36865 100644 --- a/m4/libtool.m4 +++ b/m4/libtool.m4 @@ -5204,6 +5204,7 @@ _LT_EOF _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] + _LT_TAGVAR(file_list_spec, $1)='@' if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' @@ -6781,6 +6782,7 @@ if test yes != "$_lt_caught_CXX_error"; then _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes + _LT_TAGVAR(file_list_spec, $1)='@' if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
[no subject]
branch: master commit 1bda2465d7072e88989c2a3365b136bc3a3bb049 Author: Ileana Dumitrescu AuthorDate: Thu Nov 7 16:29:19 2024 +0200 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 option, '--no-finish. * doc/libtool.texi: Document new option in libtool. * NEWS: Update. --- NEWS| 5 + build-aux/ltmain.in | 15 ++- doc/libtool.texi| 13 - 3 files changed, 31 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 96b79902..f97c5e45 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,11 @@ NEWS - list of user-visible changes between releases of GNU Libtool * Noteworthy changes in release ?.? (-??-??) [?] +** New features: + + - New libtool command line flag, --no-finish, to skip executing +finish_cmds that would alter the shared library cache during testing. + ** Bug fixes: - Fix incorrect use of workarounds designed for Darwin versions that diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in index 83aaaf92..76ee77c9 100644 --- a/build-aux/ltmain.in +++ b/build-aux/ltmain.in @@ -139,6 +139,7 @@ usage_message="Options: -n, --dry-rundisplay commands without modifying any files --features display basic configuration information and exit --mode=MODE use operation mode MODE + --no-finish don't update shared library cache --no-warningsequivalent to '-Wnone' --preserve-dup-deps don't remove duplicate dependency libraries --quiet, --silentdon't print informational messages @@ -377,6 +378,7 @@ libtool_options_prep () opt_mode= opt_preserve_dup_deps=false opt_quiet=false +opt_finishing=true nonopt= preserve_args= @@ -474,6 +476,11 @@ libtool_parse_options () shift ;; +--no-finish) +opt_finishing=false +func_append preserve_args " $_G_opt" +;; + --no-silent|--no-quiet) opt_quiet=false func_append preserve_args " $_G_opt" @@ -2144,7 +2151,7 @@ func_mode_finish () fi fi -if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then +if test -n "$finish_cmds$finish_eval" && test -n "$libdirs" && $opt_finishing; then for libdir in $libdirs; do if test -n "$finish_cmds"; then # Do each command in the finish commands. @@ -2169,6 +2176,12 @@ func_mode_finish () for libdir in $libdirs; do $ECHO " $libdir" done + if test "false" = "$opt_finishing"; then +echo +echo "NOTE: finish_cmds were not executed during testing, so you must" +echo "manually run ldconfig to add a given test directory, LIBDIR, to" +echo "the search path for generated executables." + fi echo echo "If you ever happen to want to link against installed libraries" echo "in a given directory, LIBDIR, you must either use libtool, and" diff --git a/doc/libtool.texi b/doc/libtool.texi index 803c90aa..953abb36 100644 --- a/doc/libtool.texi +++ b/doc/libtool.texi @@ -1272,6 +1272,16 @@ stripped or the link will fail. In cases where these duplications are required, this option will preserve them, only stripping the libraries that libtool knows it can safely. +@item --no-finish +Do not execute finish_cmds (disabled by default). This option is for +specifying that testing of local changes to shared libraries is being +performed so that ldconfig will not alter the shared library cache, which +is an issue observed on OpenBSD 7.5. This option should be combined with +the usage of @option{--mode=install} and @option{--mode=finish} to have +any effect. Prior to utilizing this option, the shared library cache must +not contain links to the listed install directory for shared libraries +undergoing testing; otherwise, it will have no useful effect. + @item --quiet @itemx --silent Do not print out any progress or informational messages. @@ -6855,7 +6865,8 @@ shell does not support the shell option @code{nocaseglob}, making @defvar finish_cmds Commands to tell the dynamic linker how to find shared libraries in a -specific directory. +specific directory. These commands can be disabled during testing local +changes to shared libraries with @option{--no-finish}. @end defvar @defvar finish_eval
[no subject]
branch: master commit 6bc5e177b6caa14078cf4315da50c874493bf8c3 Author: Ileana Dumitrescu AuthorDate: Wed Nov 13 19:37:10 2024 +0200 libtool.m4: Fix '-Fe' usage with linking in MSVC A space after '-Fe' treats a file name as an input file instead of as the intended output file. * m4/libtool.m4: Remove space after '-Fe'. * NO-THANKS: Add Kirill Makurin for bug report 74175. * NEWS: Update. --- NEWS | 2 ++ NO-THANKS | 1 + m4/libtool.m4 | 4 ++-- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 39e75bae..b61b4024 100644 --- a/NEWS +++ b/NEWS @@ -34,6 +34,8 @@ NEWS - list of user-visible changes between releases of GNU Libtool - Fix linking for mingw with lld by prefering response files over the linker script. + - Fix '-Fe' usage with linking in MSVC. + ** Changes in supported systems or compilers: - Support additional flang-based compilers, 'f18' and 'f95'. diff --git a/NO-THANKS b/NO-THANKS index 218590bb..9a4da560 100644 --- a/NO-THANKS +++ b/NO-THANKS @@ -107,6 +107,7 @@ John Wolfe j...@sco.com Joseph Beckenbach III j...@best.com Kenneth Albanowski kja...@kjahds.com Khem Raj raj.k...@gmail.com +Kirill Makurin maiddais...@outlook.com Kurt D. Zeilenga k...@openldap.org Lawrence Velázquez lar...@macports.org Lionel Landwerlin llandwer...@gmail.com diff --git a/m4/libtool.m4 b/m4/libtool.m4 index 2955adeb..ad0ad445 100644 --- a/m4/libtool.m4 +++ b/m4/libtool.m4 @@ -5667,14 +5667,14 @@ _LT_EOF # Tell ltmain to make .dll files, not .so files. shrext_cmds=.dll # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -Fe $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' + _LT_TAGVAR(archive_cmds, $1)='$CC -Fe$output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames=' _LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then cp "$export_symbols" "$output_objdir/$soname.def"; echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp"; else $SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp; fi~ - $CC -Fe $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ + $CC -Fe$tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
[no subject]
branch: master commit cc7c98dc89fdb21729d3c6d5d8455f497cf6d6be Author: Ileana Dumitrescu AuthorDate: Wed Nov 20 16:16:21 2024 +0200 gnulib: Update submodule to recent commit --- gnulib | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnulib b/gnulib index b3791b2b..ea58a72d 16 --- a/gnulib +++ b/gnulib @@ -1 +1 @@ -Subproject commit b3791b2bb9bdf03b2f99be5629d017a40382e1ee +Subproject commit ea58a72d4db3c4729e51de2633845ee381dd00b6
master updated (5586070a -> 27662ec0)
ildumi pushed a change to branch master. from 5586070a gnulib: Update submodule to recent commit new 65026af3 ltmain.in: Handle trailing slashes on install commands new ad4b513f libtool: Test trailing slash in destination new 6b119a1c libtool: Use wrapper function for AUTORECONF new ab43d096 libtool: Avoid test failure in OpenBSD new eed74d65 libtool: Prefer response files over linker scripts for mingw tools new 323d8a5d libtool.m4: Update hardcode_shlibpath_var for OpenBSD new 1bda2465 libtool: Fix local testing of shared libraries on OpenBSD new 4ba29e98 libtool: Add option to reorder the shared library cache new 6bc5e177 libtool.m4: Fix '-Fe' usage with linking in MSVC new 98bcb0ba ltmain.in: Update libtool usage for missing options new 0a8c7b00 ltmain.in: Upgrade warnings to errors new 270b7bb2 ltmain.in: Fix infinite loop for error messages new e5dfb39a libtool: Fix --no-warnings flag new 5335d4cf libtool.texi: Remove section 'References' new bbc5fa94 libtool.at: Fix failures for 'test silencing warnings' new 1a9f976d ltmain.in: Fix handling xlc(1)-specific options new e6c7986f Adjust haiku configuration new 4e5a1201 Do not explicitly link dependencies on Haiku. new bd15931e libtool: add support for Ironclad new 23519121 libtool: Add support for SerenityOS new d8a93445 libtool: add support for wasm32-emscripten new f13692cc NEWS: Update for recent commits new cc7c98dc gnulib: Update submodule to recent commit new f5a020ff bootstrap: Update submodule to recent commit new 27662ec0 libltdl: Bump version for minor bugfix during cleaning Summary of changes: NEWS | 26 +++ NO-THANKS | 1 + build-aux/ltmain.in | 206 +++--- doc/libtool.texi | 91 ++ gl-mod/bootstrap | 2 +- gnulib| 2 +- libltdl/ltdl.mk | 2 +- m4/libtool.m4 | 101 ++--- m4/ltdl.m4| 3 + tests/bug_42313.at| 4 +- tests/bug_71489.at| 10 +++ tests/destdir.at | 41 ++ tests/execute-mode.at | 9 ++- tests/libtool.at | 19 + tests/testsuite.at| 3 +- 15 files changed, 424 insertions(+), 96 deletions(-)
[no subject]
branch: development commit 46178f427f385ba5bf5d401390d48cfb83fb6847 Author: Ileana Dumitrescu AuthorDate: Wed Nov 20 16:20:59 2024 +0200 bootstrap: Update submodule to recent commit --- gl-mod/bootstrap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gl-mod/bootstrap b/gl-mod/bootstrap index 81614867..bfdcc277 16 --- a/gl-mod/bootstrap +++ b/gl-mod/bootstrap @@ -1 +1 @@ -Subproject commit 8161486733a34d19c7b2b741fab5ade4b6a31c98 +Subproject commit bfdcc277cd237fde115d3aa972add7608d348b90
[no subject]
branch: master commit d8a934458b251b465b7d31da9ba9148a128a146d Author: Khalid Masum AuthorDate: Wed May 15 17:03:30 2024 +0600 libtool: add support for wasm32-emscripten This patch adds support for emscripten compiler for shared compilation. * build-aux/ltmain.in: clone link-mode handling for emscripten from unixware7. * m4/libtool.m4: translate emscripten specific flags for shared module building. --- build-aux/ltmain.in | 1 + m4/libtool.m4 | 15 +++ 2 files changed, 16 insertions(+) diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in index a4fa6280..fa157775 100644 --- a/build-aux/ltmain.in +++ b/build-aux/ltmain.in @@ -6571,6 +6571,7 @@ func_mode_link () case $host in *-*-sco3.2v5.0.[024]*) add_dir=-L$dir ;; *-*-sysv4*uw2*) add_dir=-L$dir ;; + *-*-emscripten*) add_dir=-L$dir ;; *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ *-*-unixware7*) add_dir=-L$dir ;; *-*-darwin* ) diff --git a/m4/libtool.m4 b/m4/libtool.m4 index 1a9bedc8..628cdc9b 100644 --- a/m4/libtool.m4 +++ b/m4/libtool.m4 @@ -3195,6 +3195,21 @@ uts4*) shlibpath_var=LD_LIBRARY_PATH ;; +emscripten*) + version_type=none + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext' + soname_spec='$libname$release$shared_ext' + finish_cmds= + dynamic_linker="Emscripten linker" + _LT_COMPILER_PIC($1)='-fPIC' + _LT_TAGVAR(archive_cmds, $1)='$CC -sSIDE_MODULE=2 -shared $libobjs $deplibs $compiler_flags -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -sSIDE_MODULE=2 -shared $libobjs $deplibs $compiler_flags -o $lib -s EXPORTED_FUNCTIONS=@$output_objdir/$soname.expsym' + _LT_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_TAGVAR(no_undefined_flag, $1)= + ;; + *) dynamic_linker=no ;;
[no subject]
branch: master commit 98bcb0ba98f125a3ee29fe7ba0a21d8816cdde12 Author: Ileana Dumitrescu AuthorDate: Thu Nov 14 20:21:41 2024 +0200 ltmain.in: Update libtool usage for missing options Some options were not listed in the usage output of libtool: --finish, --no-quiet, and --no-silent. --- build-aux/ltmain.in | 32 +--- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in index 1599fe74..8b153aa4 100644 --- a/build-aux/ltmain.in +++ b/build-aux/ltmain.in @@ -134,21 +134,23 @@ usage='$progpath [OPTION]... [MODE-ARG]...' # Short help message in response to '-h'. usage_message="Options: - --config show all configuration variables - --debug enable verbose shell tracing - -n, --dry-rundisplay commands without modifying any files - --features display basic configuration information and exit - --mode=MODE use operation mode MODE - --no-finish don't update shared library cache - --no-warningsequivalent to '-Wnone' - --preserve-dup-deps don't remove duplicate dependency libraries - --reorder-cache=DIRS reorder shared library cache for preferred DIRS - --quiet, --silentdon't print informational messages - --tag=TAGuse configuration variables from tag TAG - -v, --verboseprint more informational messages than default - --versionprint version information - -W, --warnings=CATEGORY report the warnings falling in CATEGORY [all] - -h, --help, --help-all print short, long, or detailed help message + --config show all configuration variables + --debug enable verbose shell tracing + -n, --dry-rundisplay commands without modifying any files + --features display basic configuration information + --finish use operation '--mode=finish' + --mode=MODE use operation mode MODE + --no-finish don't update shared library cache + --no-quiet, --no-silent print default informational messages + --no-warningsequivalent to '-Wnone' + --preserve-dup-deps don't remove duplicate dependency libraries + --quiet, --silentdon't print informational messages + --reorder-cache=DIRS reorder shared library cache for preferred DIRS + --tag=TAGuse configuration variables from tag TAG + -v, --verboseprint more informational messages than default + --versionprint version information + -W, --warnings=CATEGORY report the warnings falling in CATEGORY [all] + -h, --help, --help-all print short, long, or detailed help message " # Additional text appended to 'usage_message' in response to '--help'.
[no subject]
branch: master commit 23519121db9ad50d0229ea3a1de0d1f72b6cb361 Author: Tim Schumacher AuthorDate: Sun May 29 15:01:28 2022 +0200 libtool: Add support for SerenityOS This hobbyist OS has already been added to `config.sub` (and `config.guess` respectively) some time ago, but was still lacking upstream support for building libraries using libtool. Since it is a relatively up-to-date system with ports of modern software, "adding support" mostly just means adding empty cases to avoid falling though to the most basic behavior (that guarantees compatibility at the expense of disabling everything that might be critical). * m4/libtool.m4: Add support for SerenityOS. --- m4/libtool.m4 | 26 ++ 1 file changed, 26 insertions(+) diff --git a/m4/libtool.m4 b/m4/libtool.m4 index a80c506d..1a9bedc8 100644 --- a/m4/libtool.m4 +++ b/m4/libtool.m4 @@ -3087,6 +3087,17 @@ rdos*) dynamic_linker=no ;; +serenity*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + dynamic_linker='SerenityOS LibELF' + ;; + solaris*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no @@ -3686,6 +3697,10 @@ rdos*) lt_cv_deplibs_check_method=pass_all ;; +serenity*) + lt_cv_deplibs_check_method=pass_all + ;; + solaris*) lt_cv_deplibs_check_method=pass_all ;; @@ -4563,6 +4578,8 @@ m4_if([$1], [CXX], [ ;; psos*) ;; + serenity*) +;; solaris*) case $cc_basename in CC* | sunCC*) @@ -4911,6 +4928,9 @@ m4_if([$1], [CXX], [ _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; +serenity*) + ;; + solaris*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' @@ -6025,6 +6045,9 @@ _LT_EOF _LT_TAGVAR(hardcode_libdir_separator, $1)=: ;; +serenity*) + ;; + solaris*) _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' if test yes = "$GCC"; then @@ -7350,6 +7373,9 @@ if test yes != "$_lt_caught_CXX_error"; then _LT_TAGVAR(ld_shlibs, $1)=no ;; + serenity*) +;; + sunos4*) case $cc_basename in CC*)
[no subject]
branch: master commit ad4b513fcab6c2f2e487d70aa08d3a355b560ef9 Author: Ileana Dumitrescu AuthorDate: Thu Oct 24 20:43:03 2024 +0300 libtool: Test trailing slash in destination This test is added to ensure path comparisons pass when installing to a destination, specifically when there is a trailing slash in the destination. * tests/destdir.at: Add test for trailing slash in destination. --- tests/destdir.at | 41 + 1 file changed, 41 insertions(+) diff --git a/tests/destdir.at b/tests/destdir.at index f109f149..df0d8ba8 100644 --- a/tests/destdir.at +++ b/tests/destdir.at @@ -137,4 +137,45 @@ fi AT_CLEANUP +AT_SETUP([trailing slash in destination]) +AT_KEYWORDS([libtool]) + +AT_DATA([configure.ac], +[[ +AC_INIT([foo], [0]) +AM_INIT_AUTOMAKE([foreign]) +AC_PROG_CC +LT_INIT +AC_CONFIG_FILES([Makefile]) +AC_CONFIG_MACRO_DIRS([m4]) +AC_OUTPUT +]]) + +AT_DATA([Makefile.am], +[[ +lib_LTLIBRARIES = libbase.la +libbase_la_SOURCES = foo.c +# Path with trailing slash for test +bardir = /usr/lib/bar/extensions/ +bar_LTLIBRARIES = foo.la +foo_la_SOURCES = foo.c +foo_la_LDFLAGS = -module -avoid-version +foo_la_LIBADD = libbase.la +]]) + +AT_DATA([foo.c], +[[ +int unused; +]]) + +LT_AT_LIBTOOLIZE([--force --copy --install]) +LT_AT_AUTORECONF([--force --verbose --install]) +LT_AT_CONFIGURE([]) +# Use local 'tmp' directory as destination +sysroot=`pwd`/tmp +AT_CHECK([$MAKE], [0], [ignore], [ignore]) +AT_CHECK([$MAKE install DESTDIR=$sysroot], [0], [ignore], [ignore]) + +AT_CLEANUP + m4_popdef([_LT_DIRSETUP])
[no subject]
branch: master commit 4e5a12014badfc301b9035fb73e9c15ae2c23dcc Author: Adrien Destugues AuthorDate: Sat Apr 11 21:12:42 2020 +0200 Do not explicitly link dependencies on Haiku. This is not needed, the runtime_loader can figure them out. --- m4/libtool.m4 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/m4/libtool.m4 b/m4/libtool.m4 index c2979b7c..21abbfa0 100644 --- a/m4/libtool.m4 +++ b/m4/libtool.m4 @@ -5222,7 +5222,7 @@ _LT_EOF haiku*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' - _LT_TAGVAR(link_all_deplibs, $1)=yes + _LT_TAGVAR(link_all_deplibs, $1)=no ;; os2*) @@ -6868,7 +6868,7 @@ if test yes != "$_lt_caught_CXX_error"; then haiku*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' -_LT_TAGVAR(link_all_deplibs, $1)=yes +_LT_TAGVAR(link_all_deplibs, $1)=no ;; hpux9*)
[no subject]
branch: master commit 270b7bb2dbd3e25c0b7aa6f318f9d83c1ffa7f76 Author: Ileana Dumitrescu AuthorDate: Thu Nov 14 21:05:12 2024 +0200 ltmain.in: Fix infinite loop for error messages If an invalid argument is passed to options '--mode' or '--reorder-cache' after a valid command, error messages will print infinitely: $ libtool --help --mode=MODE libtool: error: invalid argument 'MODE' for --mode libtool: error: invalid argument 'MODE' for --mode libtool: error: invalid argument 'MODE' for --mode ... * build-aux/ltmain.in: Remove 'break' in case statement to fix infinite loop, and add shift for option '--reorder-cache' to allow more options to be processed. --- build-aux/ltmain.in | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in index 9d891127..4d7fc293 100644 --- a/build-aux/ltmain.in +++ b/build-aux/ltmain.in @@ -474,7 +474,6 @@ libtool_parse_options () # Catch anything else as an error *) func_error "invalid argument '$1' for $_G_opt" exit_cmd=exit - break ;; esac shift @@ -512,10 +511,10 @@ libtool_parse_options () *) func_error "invalid argument '$1' for $_G_opt" func_error "absolute paths are required for $_G_opt" exit_cmd=exit - break ;; esac fi +shift ;; --silent|--quiet)
[no subject]
branch: master commit f13692cc20dea9d237c82aa9ff2964ff43422977 Author: Ileana Dumitrescu AuthorDate: Tue Nov 19 21:31:53 2024 +0200 NEWS: Update for recent commits --- NEWS | 9 + 1 file changed, 9 insertions(+) diff --git a/NEWS b/NEWS index 355a5ad0..c309b8b5 100644 --- a/NEWS +++ b/NEWS @@ -38,12 +38,21 @@ NEWS - list of user-visible changes between releases of GNU Libtool - Fix '--no-warnings' flag. + - Fix handling xlc(1)-specific options. + + - Fix Haiku support. + ** Changes in supported systems or compilers: - Support additional flang-based compilers, 'f18' and 'f95'. - Support for 'netbsdelf*-gnu'. + - Support for Ironclad. + + - Support for SerenityOS. + + - Support for wasm32-emscripten. * Noteworthy changes in release 2.5.3 (2024-09-25) [stable]
[no subject]
branch: master commit 27662ec02714cc7688ad99ebc851b58e27ce8827 Author: Ileana Dumitrescu AuthorDate: Wed Nov 20 17:30:20 2024 +0200 libltdl: Bump version for minor bugfix during cleaning --- libltdl/ltdl.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libltdl/ltdl.mk b/libltdl/ltdl.mk index 9d6be829..a498d0cb 100644 --- a/libltdl/ltdl.mk +++ b/libltdl/ltdl.mk @@ -35,7 +35,7 @@ AM_CPPFLAGS += -DLT_CONFIG_H='<$(LT_CONFIG_H)>' \ -I$(srcdir)/libltdl -Ilibltdl/libltdl \ -I$(srcdir)/libltdl/libltdl AM_LDFLAGS+= -no-undefined -LTDL_VERSION_INFO = -version-info 10:2:3 +LTDL_VERSION_INFO = -version-info 10:3:3 noinst_LTLIBRARIES += $(LT_DLLOADERS)
[no subject]
branch: master commit 1a9f976d1ca4450788471ab5ebb6d0469c3f6f91 Author: Ileana Dumitrescu AuthorDate: Tue Nov 19 20:58:01 2024 +0200 ltmain.in: Fix handling xlc(1)-specific options Patch supplied on Savannah by user, whr: https://savannah.gnu.org/patch/index.php?10126 --- build-aux/ltmain.in | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in index 8cef9e8d..a4fa6280 100644 --- a/build-aux/ltmain.in +++ b/build-aux/ltmain.in @@ -5327,7 +5327,8 @@ func_mode_link () # Tru64 UNIX uses -model [arg] to determine the layout of C++ # classes, name mangling, and exception handling. # Darwin uses the -arch flag to determine output architecture. - -model|-arch|-isysroot|--sysroot) + # -q for IBM XL C/C++ compiler. + -model|-arch|-isysroot|--sysroot|-q) func_append compiler_flags " $arg" func_append compile_command " $arg" func_append finalize_command " $arg"
development updated (65c7b93a -> a1c003ee)
ildumi pushed a change to branch development. from 65c7b93a NEWS: Update for recent commits new f9e96cc4 gnulib: Update submodule to recent commit new 46178f42 bootstrap: Update submodule to recent commit new a1c003ee libltdl: Bump version for minor bugfix during cleaning Summary of changes: gl-mod/bootstrap | 2 +- gnulib | 2 +- libltdl/ltdl.mk | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-)
[no subject]
branch: master commit 0a8c7b00ed094f9ca283fc09a06887386c9d7d85 Author: Ileana Dumitrescu AuthorDate: Thu Nov 14 20:31:55 2024 +0200 ltmain.in: Upgrade warnings to errors --- build-aux/ltmain.in | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in index 8b153aa4..9d891127 100644 --- a/build-aux/ltmain.in +++ b/build-aux/ltmain.in @@ -472,7 +472,7 @@ libtool_parse_options () clean|compile|execute|finish|install|link|relink|uninstall) ;; # Catch anything else as an error - *) func_error "invalid argument for $_G_opt" + *) func_error "invalid argument '$1' for $_G_opt" exit_cmd=exit break ;; @@ -509,8 +509,8 @@ libtool_parse_options () /*) ;; # Catch anything else as an error (relative paths) -*) func_warning "invalid argument '$1' for $_G_opt" - func_warning "absolute paths are required for $_G_opt" +*) func_error "invalid argument '$1' for $_G_opt" + func_error "absolute paths are required for $_G_opt" exit_cmd=exit break ;; @@ -1448,7 +1448,7 @@ func_reorder_shared_lib_cache () # Ensure each directory is an absolute path case $dir in /*) ;; - *) func_warning "Directory '$dir' is not an absolute path" + *) func_error "Directory '$dir' is not an absolute path" exit $EXIT_FAILURE ;; esac # Ensure no trailing slashes @@ -1461,7 +1461,7 @@ func_reorder_shared_lib_cache () preferred_search_directories=$dir fi else - func_warning "Directory '$dir' does not exist" + func_error "Directory '$dir' does not exist" exit $EXIT_FAILURE fi done @@ -1477,7 +1477,7 @@ func_reorder_shared_lib_cache () exit $EXIT_SUCCESS ;; *) - func_warning "--reorder-cache is not supported for host_os=$host_os." + func_error "--reorder-cache is not supported for host_os=$host_os." exit $EXIT_FAILURE ;; esac
[no subject]
branch: master commit bd15931e57f5171732a1a911cbbad9b5e03d0308 Author: streaksu AuthorDate: Sat Dec 2 22:00:00 2023 +0100 libtool: add support for Ironclad --- m4/libtool.m4 | 42 +++--- m4/ltdl.m4| 3 +++ 2 files changed, 42 insertions(+), 3 deletions(-) diff --git a/m4/libtool.m4 b/m4/libtool.m4 index 21abbfa0..a80c506d 100644 --- a/m4/libtool.m4 +++ b/m4/libtool.m4 @@ -1725,9 +1725,9 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl lt_cv_sys_max_cmd_len=12288;# 12K is about right ;; - gnu*) -# Under GNU Hurd, this test is not required because there is -# no limit to the length of command line arguments. + gnu* | ironclad*) +# Under GNU Hurd and Ironclad, this test is not required because there +# is no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; @@ -2996,6 +2996,18 @@ netbsd*) hardcode_into_libs=yes ;; +ironclad*) + version_type=linux # correct to gnu/linux during the next big refactor + need_lib_prefix=no + need_version=no + library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' + soname_spec='$libname$release$shared_ext$major' + dynamic_linker='mlibc ld.so' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + newsos6) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext' @@ -3636,6 +3648,10 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) lt_cv_deplibs_check_method=pass_all ;; +ironclad*) + lt_cv_deplibs_check_method=pass_all + ;; + netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' @@ -4517,6 +4533,8 @@ m4_if([$1], [CXX], [ ;; netbsd* | netbsdelf*-gnu) ;; + ironclad*) + ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. @@ -4871,6 +4889,12 @@ m4_if([$1], [CXX], [ _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; +ironclad*) + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' + ;; + *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. @@ -5349,6 +5373,11 @@ _LT_EOF fi ;; +ironclad*) + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib' + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib' + ;; + netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' @@ -5892,6 +5921,9 @@ _LT_EOF esac ;; +ironclad*) + ;; + netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out @@ -7192,6 +7224,10 @@ if test yes != "$_lt_caught_CXX_error"; then esac ;; + ironclad*) + _LT_TAGVAR(ld_shlibs, $1)=yes + ;; + netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' diff --git a/m4/ltdl.m4 b/m4/ltdl.m4 index 8ed76ab7..4f20cee2 100644 --- a/m4/ltdl.m4 +++ b/m4/ltdl.m4 @@ -495,6 +495,9 @@ AC_CACHE_CHECK([whether deplibs are loaded by dlopen], # at 6.2 and later dlopen does load deplibs. lt_cv_sys_dlopen_deplibs=yes ;; + ironclad*) +lt_cv_sys_dlopen_deplibs=yes +;; netbsd* | netbsdelf*-gnu) lt_cv_sys_dlopen_deplibs=yes ;;
[no subject]
branch: master commit 6b119a1c799614d533c881b7c65aba096596be28 Author: Ileana Dumitrescu AuthorDate: Fri Oct 25 18:23:58 2024 +0300 libtool: Use wrapper function for AUTORECONF Update tests to skip if required autotools are not installed for executing AUTORECONF and to have stdout saved for checks. * tests/bug_42313.at: Use LT_AT_AUTORECONF instead of AT_CHECK. * tests/testsuite.at: Save stdout for LT_AT_AUTORECONF. --- tests/bug_42313.at | 4 ++-- tests/testsuite.at | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/tests/bug_42313.at b/tests/bug_42313.at index 1ee0f7b1..2d8369f4 100644 --- a/tests/bug_42313.at +++ b/tests/bug_42313.at @@ -32,7 +32,7 @@ AC_OUTPUT ]]) LT_AT_LIBTOOLIZE([--install]) -AT_CHECK([$AUTORECONF --install], [0], [stdout], [stderr]) +LT_AT_AUTORECONF([--install]) AT_CHECK([autoscan || exit 77], [0], [stdout], [stderr]) AT_CHECK([$GREP -- 'AC_PROG_RANLIB' stderr], [1], [ignore]) @@ -55,7 +55,7 @@ AC_OUTPUT ]]) LT_AT_LIBTOOLIZE([--install]) -AT_CHECK([$AUTORECONF --install], [0], [stdout], [stderr]) +LT_AT_AUTORECONF([--install]) AT_CHECK([$GREP -- 'obsolete' stdout], [0], [ignore]) AT_CLEANUP diff --git a/tests/testsuite.at b/tests/testsuite.at index 5817c85c..bacc72ce 100644 --- a/tests/testsuite.at +++ b/tests/testsuite.at @@ -164,7 +164,8 @@ m4_define([LT_AT_AUTORECONF], [[m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_define([AC_CONFIG_MACRO_DIRS], m4_defn([AC_CONFIG_MACRO_DIR]))]) ]]) -AT_CHECK([$AUTORECONF $1], [0], [ignore], [stderr], +# This is stdout because its output is used by other test cases. +AT_CHECK([$AUTORECONF $1], [0], [stdout], [stderr], [AT_CHECK([$GREP 'require .*but have' stderr && (exit 77)], [1])]) AT_XFAIL_IF( [case ,$AUTORECONF,$AUTOCONF,$AUTOHEADER,$ACLOCAL,$AUTOMAKE, in *,no,*) :;; *) false;; esac])
[no subject]
branch: master commit 65026af3bc318d984635572939a9ae8eb0415ad5 Author: Richard Purdie AuthorDate: Sat Apr 16 18:58:15 2022 +0100 ltmain.in: Handle trailing slashes on install commands A command like: libtool --mode=install /usr/bin/install -c gck-roots-store-standalone.la '/image/usr/lib/gnome-keyring/standalone/' where the path ends with a trailing slash currently fails. This occurs in software like gnome-keyring or pulseaudio and is because the comparision code doesn't see the paths as equal. Strip both paths to ensure this works reliably. * build-aux/ltmain.in: Strip trailing slashes on install commands. * NEWS: Update. --- NEWS| 2 ++ build-aux/ltmain.in | 9 - 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 82aac9ea..ab986ba0 100644 --- a/NEWS +++ b/NEWS @@ -21,6 +21,8 @@ NEWS - list of user-visible changes between releases of GNU Libtool - Fix linking libraries at runtime with tcc by adding run path. + - Fix path comparison by removing trailing slashes on install commands. + ** Changes in supported systems or compilers: - Support additional flang-based compilers, 'f18' and 'f95'. diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in index 4e2a63fd..be94b032 100644 --- a/build-aux/ltmain.in +++ b/build-aux/ltmain.in @@ -2405,8 +2405,15 @@ func_mode_install () func_append dir "$objdir" if test -n "$relink_command"; then + # Strip any trailing slash from the destination. + func_stripname '' '/' "$libdir" + destlibdir=$func_stripname_result + + func_stripname '' '/' "$destdir" + s_destdir=$func_stripname_result + # Determine the prefix the user has applied to our future dir. - inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` + inst_prefix_dir=`$ECHO "X$s_destdir" | $Xsed -e "s%$destlibdir\$%%"` # Don't allow the user to place us outside of our expected # location b/c this prevents finding dependent libraries that