Christoph Reiter 2024-11-26 23:24:08 +01:00
parent e163ecccb7
commit 79ac937102
3 changed files with 2 additions and 116 deletions

View File

@ -1,25 +0,0 @@
From 0fad3a7164f0e8bbdef93ece8a128f0e1367d4bb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Markus=20M=C3=BCtzel?= <markus.muetzel@gmx.de>
Date: Mon, 14 Oct 2024 17:25:07 +0200
Subject: [PATCH] handle unset $multilib
---
m4/libtool.m4 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index e5ddacee..4c44bf9c 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -2569,7 +2569,7 @@ cygwin* | mingw* | windows* | pw32* | cegcc*)
# If user builds GCC with mulitlibs enabled,
# it should just install on $(libdir)
# not on $(libdir)/../bin or 32 bits dlls would override 64 bit ones.
- if test yes = $multilib; then
+ if test xyes = x$multilib; then
postinstall_cmds='base_file=`basename \$file`~
dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
dldir=$destdir/`dirname \$dlpath`~
--
2.44.0.windows.1

View File

@ -1,83 +0,0 @@
From ec15841963ca3aab3bc88fb0932c014337284bfc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Martin=20Storsj=C3=B6?= <martin@martin.st>
Date: Wed, 10 Oct 2018 10:47:21 +0300
Subject: [PATCH 2/2] 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 | 28 ++++++++++++++--------------
m4/libtool.m4 | 2 ++
2 files changed, 16 insertions(+), 14 deletions(-)
diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
index e2fb263..db5d590 100644
--- a/build-aux/ltmain.in
+++ b/build-aux/ltmain.in
@@ -7932,20 +7932,7 @@ EOF
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
@@ -7964,6 +7951,19 @@ EOF
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 d9322d0..9046a84 100644
--- a/m4/libtool.m4
+++ b/m4/libtool.m4
@@ -5130,6 +5130,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'
@@ -6706,6 +6707,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'
--
2.7.4

View File

@ -2,7 +2,7 @@
pkgbase=libtool
pkgname=('libtool' 'libltdl')
pkgver=2.5.3
pkgver=2.5.4
pkgrel=1
pkgdesc="A generic library support script"
arch=('i686' 'x86_64')
@ -20,7 +20,6 @@ makedepends=(
)
source=(https://ftp.gnu.org/gnu/libtool/${pkgbase}-${pkgver}.tar.xz{,.sig}
0001-cygwin-mingw-Create-UAC-manifest-files.patch
0001-handle-unset-multilib.patch
0002-Fix-seems-to-be-moved.patch
0003-Fix-STRICT_ANSI-vs-POSIX.patch
0004-Allow-statically-linking-Flang-support-libraries-whe.patch
@ -28,13 +27,11 @@ source=(https://ftp.gnu.org/gnu/libtool/${pkgbase}-${pkgver}.tar.xz{,.sig}
0006-Pass-various-flags-to-GCC.patch
0007-msysize.patch
0011-Pick-up-clang_rt-static-archives-compiler-internal-l.patch
0012-Prefer-response-files-over-linker-scripts-for-mingw-.patch
0013-Allow-statically-linking-compiler-support-libraries-.patch
0014-Support-llvm-objdump-f-output.patch)
sha256sums=('898011232cc59b6b3bbbe321b60aba9db1ac11578ab61ed0df0299458146ae2e'
sha256sums=('f81f5860666b0bc7d84baddefa60d1cb9fa6fceb2398cc3baca6afaa60266675'
'SKIP'
'67e4f2429dfe67499b1829d0a8312d9a043057db354307f8db41d9f967944346'
'994b6e75cce06557459dea34abd0d3fde462514c7566dea519dbbae800f1d746'
'd873306936060e6c72cf0f3c174131cc85debc2ea6dc924eabdf6e3a813c768e'
'00f0b0429431a884b481eb92f4b138c50bc17eb09f0985d7ebfd4a0a50407eb6'
'30b361a43266dbd80c94fe58196113ad3ae78e134da62d9dfad65ac67e337db8'
@ -42,7 +39,6 @@ sha256sums=('898011232cc59b6b3bbbe321b60aba9db1ac11578ab61ed0df0299458146ae2e'
'2cb1b61247a4632698ac7e26c496c3ad8c1b4fde080d301994dbddc0794a4bf4'
'acec8e76b0d65c7b5f442203b2446d92a2f81ceaaa211cd2e6b8a036f5115280'
'de68dc9387f47ee129f55b2f525a7d222374ddd8915f4f42af05f185b779b826'
'c95a65e890b1ae6362807abc66809e72cf81aeea5f9f556e38f9752f974bf435'
'8069e887aeeab7491f15e00547fa66d9b9e86407f5a23f37a6d8c7d165de752e'
'e62e836f018339974f5ef7cf81bc0a4252901158eb0824eb62d0270206093ad7')
validpgpkeys=('7C5FBB96BE82B954AC20DF5F6EAC957F8EEB55C0' # Alex Ameen <alex.ameen.tx@gmail.com>
@ -63,7 +59,6 @@ prepare() {
# Note: keep the patches in sync with mingw libtool
apply_patch_with_msg \
0001-cygwin-mingw-Create-UAC-manifest-files.patch \
0001-handle-unset-multilib.patch \
0002-Fix-seems-to-be-moved.patch \
0003-Fix-STRICT_ANSI-vs-POSIX.patch \
0004-Allow-statically-linking-Flang-support-libraries-whe.patch \
@ -71,7 +66,6 @@ prepare() {
0006-Pass-various-flags-to-GCC.patch \
0007-msysize.patch \
0011-Pick-up-clang_rt-static-archives-compiler-internal-l.patch \
0012-Prefer-response-files-over-linker-scripts-for-mingw-.patch \
0013-Allow-statically-linking-compiler-support-libraries-.patch \
0014-Support-llvm-objdump-f-output.patch