libtool: Update to 2.4.2.418

This commit is contained in:
Alexpux
2014-09-02 11:01:17 +04:00
parent 67a3795a6d
commit cfd57ac8a7
12 changed files with 1622 additions and 3333 deletions

View File

@@ -0,0 +1,28 @@
[PATCH 3/6] Pass various runtime library flags to GCC.
* build-aux/ltmain.in (func_mode_link): Pass the
-shared-libgcc and -static-lib* flags along to GCC.
---
build-aux/ltmain.in | 5 ++++-
1 files changed, 4 insertions(+), 1 deletions(-)
diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
index 1821779..eda7790 100644
--- a/build-aux/ltmain.in
+++ b/build-aux/ltmain.in
@@ -5084,9 +5084,12 @@ func_mode_link ()
# --sysroot=* for sysroot support
# -O*, -g*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
# -stdlib=* select c++ std lib with clang
+ # -{shared,static}-libgcc, -static-{libgfortran|libstdc++}
+ # link against specified runtime library
-64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
- -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-stdlib=*)
+ -O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-stdlib=*| \
+ -shared-libgcc|-static-libgcc|-static-libgfortran|-static-libstdc++)
func_quote_for_eval "$arg"
arg=$func_quote_for_eval_result
func_append compile_command " $arg"
--
1.7.1

View File

@@ -0,0 +1,29 @@
[PATCH 4/6] Fix linking with -fstack-protector
* build-aux/ltmain.in (func_mode_link): Pass -fstack-protector*
to the linker as it is required at link time to resolve libssp symbols.
Note: this patch is necessary but not sufficient for -fstack-protector* + C++.
---
build-aux/ltmain.in | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
index eda7790..74ab26a 100644
--- a/build-aux/ltmain.in
+++ b/build-aux/ltmain.in
@@ -5086,10 +5086,12 @@ func_mode_link ()
# -stdlib=* select c++ std lib with clang
# -{shared,static}-libgcc, -static-{libgfortran|libstdc++}
# link against specified runtime library
+ # -fstack-protector* stack protector flags for GCC
-64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
-O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-stdlib=*| \
- -shared-libgcc|-static-libgcc|-static-libgfortran|-static-libstdc++)
+ -shared-libgcc|-static-libgcc|-static-libgfortran|-static-libstdc++| \
+ -fstack-protector*)
func_quote_for_eval "$arg"
arg=$func_quote_for_eval_result
func_append compile_command " $arg"
--
1.7.1

View File

@@ -0,0 +1,24 @@
[PATCH 5/6] Fix "seems to be moved"
* build-aux/ltmain.in (func_mode_link): Compare files by inode
to fix "seems to be moved" warning.
---
build-aux/ltmain.in | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
index af46cb8..244bb5b 100644
--- a/build-aux/ltmain.in
+++ b/build-aux/ltmain.in
@@ -6283,7 +6283,9 @@ func_mode_link ()
eval libdir=`$SED -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
test -z "$libdir" && \
func_fatal_error "'$deplib' is not a valid libtool archive"
- test "$absdir" != "$libdir" && \
+ abs_inode=`ls -i "$deplib" | awk '{print $1}'`
+ lib_inode=`ls -i "$libdir/$(basename $deplib)" | awk '{print $1}'`
+ test "$abs_inode" != "$lib_inode" && \
func_warning "'$deplib' seems to be moved"
path=-L$absdir
--
1.7.0.2.msysgit.0

View File

@@ -0,0 +1,22 @@
[PATCH 6/6] Fix STRICT_ANSI vs POSIX
* build-aux/ltmain.in (func_mode_link): Also check for _POSIX
as well as __STRICT_ANSI__ to avoid re-definitions.
---
build-aux/ltmain.in | 4 +++-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
index af46cb8..244bb5b 100644
--- a/build-aux/ltmain.in
+++ b/build-aux/ltmain.in
@@ -3382,7 +3382,7 @@
/* declarations of non-ANSI functions */
#if defined __MINGW32__
-# ifdef __STRICT_ANSI__
+# if defined(__STRICT_ANSI__) && !defined(__MINGW64_VERSION_MAJOR) || defined(_POSIX_)
int _putenv (const char *);
# endif
#elif defined __CYGWIN__
--
1.7.0.2.msysgit.0

View File

@@ -0,0 +1,22 @@
--- libtool-2.4.2/configure.orig 2011-10-17 10:18:58.000000000 +0000
+++ libtool-2.4.2/configure 2013-08-04 19:01:30.220494400 +0000
@@ -28825,7 +28825,7 @@
fi
ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
- ac_cs_awk_cr='\\r'
+ ac_cs_awk_cr='\r'
else
ac_cs_awk_cr=$ac_cr
fi
--- libtool-2.4.2/libltdl/configure.orig 2011-10-17 10:19:47.000000000 +0000
+++ libtool-2.4.2/libltdl/configure 2013-08-05 11:49:24.990792500 +0000
@@ -13574,7 +13574,7 @@
fi
ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
- ac_cs_awk_cr='\\r'
+ ac_cs_awk_cr='\r'
else
ac_cs_awk_cr=$ac_cr
fi

View File

@@ -0,0 +1,31 @@
From: Peter Rosin <address@hidden>
Date: Fri, 18 Jan 2013 10:40:37 +0100
Subject: [PATCH] maint: find external libraries from a VPATH build
Fixes bug#13462.
* build-aux/ltmain.in: Assume that the external libraries are in the
same directory as this script.
Signed-off-by: Peter Rosin <address@hidden>
---
build-aux/ltmain.in | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
index c8cdb9c..2e85cb0 100644
--- a/build-aux/ltmain.in
+++ b/build-aux/ltmain.in
@@ -61,8 +61,8 @@ address@hidden@
# Much of our low-level functionality needs to be sourced from external
# libraries, which are installed to $pkgauxdir.
-. "build-aux/funclib.sh"
-. "build-aux/options-parser"
+. `echo "$0" |${SED-sed} 's|[^/]*$||'`"funclib.sh"
+. `echo "$0" |${SED-sed} 's|[^/]*$||'`"options-parser"
# Set a version string.
scriptversion='(GNU @PACKAGE@) @VERSION@'
--
1.7.9

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
diff --git a/libltdl/config/ltmain.m4sh b/libltdl/config/ltmain.m4sh
diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
index 0418007..91276c2 100644
--- a/libltdl/config/ltmain.m4sh
+++ b/libltdl/config/ltmain.m4sh
--- a/build-aux/ltmain.in
+++ b/build-aux/ltmain.in
@@ -4163,6 +4163,7 @@
# include <unistd.h>
# include <stdint.h>
@@ -10,10 +10,10 @@ index 0418007..91276c2 100644
# include <io.h>
# endif
#endif
diff --git a/libltdl/config/ltmain.sh b/libltdl/config/ltmain.sh
diff --git a/build-aux/ltmain.sh b/build-aux/ltmain.sh
index 0418007..91276c2 100644
--- a/libltdl/config/ltmain.sh
+++ b/libltdl/config/ltmain.sh
--- a/build-aux/ltmain.sh
+++ b/build-aux/ltmain.sh
@@ -4163,6 +4163,7 @@
# include <unistd.h>
# include <stdint.h>

View File

@@ -1,99 +0,0 @@
[PATCH 2/4] [cygwin|mingw] Create UAC manifest files.
* libltdl/config/ltmain.m4sh (func_emit_exe_manifest): New function.
(func_mode_link) [cygwin|mingw]: Create manifest files for wrapper
and target exe when target name matches heuristic that triggers
UAC problems for newer win32 OSs. Clean up $cwrapper.manifest on
error. Ensure manifest files have executable permission.
(func_mode_uninstall): Clean up manifest files.
Various reports by Eric Blake, Kai Tietz, and Cesar Strauss.
---
libltdl/config/ltmain.m4sh | 50 ++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 48 insertions(+), 2 deletions(-)
diff --git a/libltdl/config/ltmain.m4sh b/libltdl/config/ltmain.m4sh
index 0418007..1821779 100644
--- a/libltdl/config/ltmain.m4sh
+++ b/libltdl/config/ltmain.m4sh
@@ -4277,6 +4277,41 @@ EOF
}
# end: func_emit_cwrapperexe_src
+# func_emit_exe_manifest
+# emit a Win32 UAC manifest for executable on stdout
+# Must ONLY be called from within func_mode_link because
+# it depends on a number of variable set therein.
+func_emit_exe_manifest ()
+{
+ cat <<EOF
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
+ <assemblyIdentity version="1.0.0.0"
+EOF
+
+ case $host in
+ i?86-*-* ) echo ' processorArchitecture="x86"' ;;
+ ia64-*-* ) echo ' processorArchitecture="ia64"' ;;
+ x86_64-*-* ) echo ' processorArchitecture="amd64"' ;;
+ *) echo ' processorArchitecture="*"' ;;
+ esac
+
+ cat <<EOF
+ name="$host_os.$PROGRAM.$outputname"
+ type="win32"/>
+
+ <!-- Identify the application security requirements. -->
+ <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
+ <security>
+ <requestedPrivileges>
+ <requestedExecutionLevel level="asInvoker" uiAccess="false"/>
+ </requestedPrivileges>
+ </security>
+ </trustInfo>
+</assembly>
+EOF
+}
+
# func_win32_import_lib_p ARG
# True if ARG is an import lib, as indicated by $file_magic_cmd
func_win32_import_lib_p ()
@@ -8237,7 +8272,7 @@ EOF
cwrappersource="$output_path/$objdir/lt-$output_name.c"
cwrapper="$output_path/$output_name.exe"
$RM $cwrappersource $cwrapper
- trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15
+ trap "$RM $cwrappersource $cwrapper $cwrapper.manifest; exit $EXIT_FAILURE" 1 2 15
func_emit_cwrapperexe_src > $cwrappersource
@@ -8257,6 +8292,16 @@ EOF
$opt_dry_run || {
# note: this script will not be executed, so do not chmod.
if test "x$build" = "x$host" ; then
+ # Create the UAC manifests first if necessary (but the
+ # manifest files must have executable permission regardless).
+ case $output_name in
+ *instal*|*patch*|*setup*|*update*)
+ func_emit_exe_manifest > $cwrapper.manifest
+ func_emit_exe_manifest > $output_path/$objdir/$output_name.exe.manifest
+ chmod +x $cwrapper.manifest
+ chmod +x $output_path/$objdir/$output_name.exe.manifest
+ ;;
+ esac
$cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result
else
func_emit_wrapper no > $func_ltwrapper_scriptname_result
@@ -8777,8 +8822,9 @@ func_mode_uninstall ()
# note $name still contains .exe if it was in $file originally
# as does the version of $file that was added into $rmfiles
func_append rmfiles " $odir/$name $odir/${name}S.${objext}"
+ func_append rmfiles " ${name}.manifest $objdir/${name}.manifest"
if test "$fast_install" = yes && test -n "$relink_command"; then
- func_append rmfiles " $odir/lt-$name"
+ func_append rmfiles " $odir/lt-$name $objdir/lt-${name}.manifest"
fi
if test "X$noexename" != "X$name" ; then
func_append rmfiles " $odir/lt-${noexename}.c"
--
1.7.1

View File

@@ -1,14 +0,0 @@
diff --git a/libltdl/config/ltmain.m4sh b/libltdl/config/ltmain.m4sh
index 0418007..91276c2 100644
--- a/libltdl/config/ltmain.m4sh
+++ b/libltdl/config/ltmain.m4sh
@@ -5051,7 +5051,8 @@ func_mode_link ()
# -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
-64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
- -O*|-flto*|-fwhopr*|-fuse-linker-plugin)
+ -O*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-fgnu-tm| \
+ -shared-libgcc|-static-libgcc|-static-libgfortran|-static-libstdc++)
func_quote_for_eval "$arg"
arg="$func_quote_for_eval_result"
func_append compile_command " $arg"

View File

@@ -1,33 +1,52 @@
# Maintainer: Alexey Pavlov <alexpux@gmail.com>
pkgname=('libtool' 'libltdl')
pkgver=2.4.2
pkgver=2.4.2.418
_gccver=4.8.2
pkgrel=4
pkgrel=1
pkgdesc="A generic library support script"
arch=('i686' 'x86_64')
url="http://www.gnu.org/software/libtool"
license=('GPL')
makedepends=("gcc=${_gccver}")
source=(ftp://ftp.gnu.org/pub/gnu/libtool/${pkgname}-${pkgver}.tar.xz{,.sig}
2.4-cygwin-mingw-Create-UAC-manifest-files.patch
2.4-pass-ldflags.patch
libtool-2.4.2-msys2.patch
libtool-2.4.2-include-process-h.patch)
md5sums=('2ec8997e0c07249eb4cbd072417d70fe'
source=(#ftp://ftp.gnu.org/pub/gnu/libtool/${pkgname}-${pkgver}.tar.xz{,.sig}
ftp://alpha.gnu.org/gnu/libtool/${pkgname}-${pkgver}.tar.xz{,.sig}
0002-cygwin-mingw-Create-UAC-manifest-files.mingw.patch
0003-Pass-various-runtime-library-flags-to-GCC.mingw.patch
0004-Fix-linking-with-fstack-protector.mingw.patch
0005-Fix-seems-to-be-moved.patch
0006-Fix-strict-ansi-vs-posix.patch
0007-fix-cr-for-awk-in-configure.all.patch
0008-find-external-libraries.patch
0009-libtool-2.4.2.418-msysize.patch
0010-libtool-2.4.2-include-process-h.patch)
md5sums=('9f4aab3462f86b552f3ac74980d35308'
'SKIP'
'47f93ccdbe44347b5e929524df52ec4e'
'25dd8da8027385bbb9eeeb659ce8adaa'
'5128f5f99c73e249e5bd760a42d871fe'
'b5deb89b4f80ab8235329e56608eed5b')
'091163f2cc8c2dd8c8d5574181eb53e1'
'8ec5b2977ce8c2188246873194100c04'
'e34e8d23ebb7afcf3a0632373dc6f6fb'
'bb4e559afa91865c0f9e489e19507922'
'cfc5378b9d8ac56800489841b8b90101'
'2200a7e2cfa8f5f3f9811f03ed41c46a'
'952d3f9e5e06956244db7a751aa6739a'
'772e5f46e776ddfebc5736843b3015de'
'b2203a93dc061cd64c5b33f1524c9d94')
prepare() {
cd ${srcdir}/${pkgbase}-${pkgver}
patch -p1 -i ${srcdir}/2.4-cygwin-mingw-Create-UAC-manifest-files.patch
patch -p1 -i ${srcdir}/2.4-pass-ldflags.patch
patch -p1 -i ${srcdir}/libtool-2.4.2-msys2.patch
patch -p1 -i ${srcdir}/libtool-2.4.2-include-process-h.patch
patch -p1 -i ${srcdir}/0002-cygwin-mingw-Create-UAC-manifest-files.mingw.patch
patch -p1 -i ${srcdir}/0003-Pass-various-runtime-library-flags-to-GCC.mingw.patch
patch -p1 -i ${srcdir}/0004-Fix-linking-with-fstack-protector.mingw.patch
patch -p1 -i ${srcdir}/0005-Fix-seems-to-be-moved.patch
patch -p1 -i ${srcdir}/0006-Fix-strict-ansi-vs-posix.patch
patch -p1 -i ${srcdir}/0007-fix-cr-for-awk-in-configure.all.patch
patch -p1 -i ${srcdir}/0008-find-external-libraries.patch
patch -p1 -i ${srcdir}/0009-libtool-2.4.2.418-msysize.patch
patch -p1 -i ${srcdir}/0010-libtool-2.4.2-include-process-h.patch
}
build() {
@@ -50,7 +69,6 @@ package_libtool() {
make DESTDIR=${pkgdir} install-binSCRIPTS install-man install-info \
install-data-local
rm -r ${pkgdir}/usr/share/libtool/libltdl/
}
package_libltdl() {
@@ -59,6 +77,5 @@ package_libltdl() {
cd ${srcdir}/${pkgbase}-${pkgver}
make DESTDIR=${pkgdir} install-libLTLIBRARIES install-includeHEADERS \
install-ltdlincludeHEADERS install-data-local
rm -r ${pkgdir}/usr/share/{aclocal,libtool/config}
install-ltdlincludeHEADERS
}

File diff suppressed because it is too large Load Diff