mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
* [ptxdist] [PATCH] libtool: update 2.4.2 -> 2.4.6
@ 2017-02-04 17:47 Clemens Gruber
  2017-02-04 17:47 ` [ptxdist] [PATCH] m4: version bump 1.4.17 -> 1.4.18 Clemens Gruber
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Clemens Gruber @ 2017-02-04 17:47 UTC (permalink / raw)
  To: ptxdist; +Cc: Clemens Gruber

Also add two upstream patches to silence warnings when using binutils
built with --enable-deterministic-archives.

Signed-off-by: Clemens Gruber <clemens.gruber@pqgruber.com>
---
 .../0001-libool.m4-add-ARFLAGS-variable.patch      |  68 +++++++++++
 ...-ARFLAGS-use-cr-instead-of-cru-by-default.patch | 124 +++++++++++++++++++++
 patches/libtool-2.4.6/series                       |   5 +
 rules/host-autotools-libtool.make                  |   4 +-
 4 files changed, 199 insertions(+), 2 deletions(-)
 create mode 100644 patches/libtool-2.4.6/0001-libool.m4-add-ARFLAGS-variable.patch
 create mode 100644 patches/libtool-2.4.6/0002-ARFLAGS-use-cr-instead-of-cru-by-default.patch
 create mode 100644 patches/libtool-2.4.6/series

diff --git a/patches/libtool-2.4.6/0001-libool.m4-add-ARFLAGS-variable.patch b/patches/libtool-2.4.6/0001-libool.m4-add-ARFLAGS-variable.patch
new file mode 100644
index 000000000..52e21f513
--- /dev/null
+++ b/patches/libtool-2.4.6/0001-libool.m4-add-ARFLAGS-variable.patch
@@ -0,0 +1,68 @@
+From: Pavel Raiskup <praiskup@redhat.com>
+Date: Fri, 17 Apr 2015 15:05:42 +0200
+Subject: [PATCH] libool.m4: add ARFLAGS variable
+
+Libtool has used $AR_FLAGS since 2000-05-29 commit
+8300de4c54e6f04f0d, Automake ARFLAGS since 2003-04-06 commit
+a71b3490639831ca.  Even though ARFLAGS is younger, it sounds like
+better name according GNU Coding Standards.
+
+Related to bug#20082.
+
+* m4/libtool.m4 (_LT_PROG_AR): Copy ARFLAGS value into AR_FLAGS
+variable if AR_FLAGS is not set.  Add new _LT_DECL'ed variable
+'lt_ar_flags' to keep the configure-time value of AR_FLAGS.  The
+new 'lt_ar_flags' is to be used as the default value for AR_FLAGS
+at libtool-runtime.
+* NEWS: Document.
+---
+ NEWS          |  6 ++++++
+ m4/libtool.m4 | 17 +++++++++++++++--
+ 2 files changed, 21 insertions(+), 2 deletions(-)
+
+diff --git a/NEWS b/NEWS
+index d7ca4341c393..590ce15ed5cd 100644
+--- a/NEWS
++++ b/NEWS
+@@ -140,6 +140,12 @@ NEWS - list of user-visible changes between releases of GNU Libtool
+ 
+         make check-local TESTSUITEFLAGS='-k "!expensive"'
+ 
++** New features:
++
++  - Libtool script now supports (configure-time and runtime) ARFLAGS
++    variable, which obsoletes AR_FLAGS.  This is due to naming conventions
++    among other *FLAGS and to be consistent with Automake's ARFLAGS.
++
+ ** Bug fixes:
+ 
+   - Fix a long-standing latent bug in autom4te include path for autotests
+diff --git a/m4/libtool.m4 b/m4/libtool.m4
+index a3bc337b79ad..2d6bda98fc92 100644
+--- a/m4/libtool.m4
++++ b/m4/libtool.m4
+@@ -1493,9 +1493,22 @@ need_locks=$enable_libtool_lock
+ m4_defun([_LT_PROG_AR],
+ [AC_CHECK_TOOLS(AR, [ar], false)
+ : ${AR=ar}
+-: ${AR_FLAGS=cru}
+ _LT_DECL([], [AR], [1], [The archiver])
+-_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
++
++# Use ARFLAGS variable as AR's operation code to sync the variable naming with
++# Automake.  If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have
++# higher priority because thats what people were doing historically (setting
++# ARFLAGS for automake and AR_FLAGS for libtool).  FIXME: Make the AR_FLAGS
++# variable obsoleted/removed.
++
++test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cru}
++lt_ar_flags=$AR_FLAGS
++_LT_DECL([], [lt_ar_flags], [0], [Flags to create an archive (by configure)])
++
++# Make AR_FLAGS overridable by 'make ARFLAGS='.  Don't try to run-time override
++# by AR_FLAGS because that was never working and AR_FLAGS is about to die.
++_LT_DECL([], [AR_FLAGS], [\@S|@{ARFLAGS-"\@S|@lt_ar_flags"}],
++         [Flags to create an archive])
+ 
+ AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
+   [lt_cv_ar_at_file=no
diff --git a/patches/libtool-2.4.6/0002-ARFLAGS-use-cr-instead-of-cru-by-default.patch b/patches/libtool-2.4.6/0002-ARFLAGS-use-cr-instead-of-cru-by-default.patch
new file mode 100644
index 000000000..a137845e8
--- /dev/null
+++ b/patches/libtool-2.4.6/0002-ARFLAGS-use-cr-instead-of-cru-by-default.patch
@@ -0,0 +1,124 @@
+From: Pavel Raiskup <praiskup@redhat.com>
+Date: Fri, 17 Apr 2015 16:54:58 +0200
+Subject: [PATCH] ARFLAGS: use 'cr' instead of 'cru' by default
+
+In some GNU/Linux distributions people started to compile 'ar'
+binary with --enable-deterministic-archives (binutils project).
+That, however, in combination with our previous long time working
+default AR_FLAGS=cru causes warnings on such installations:
+ar: `u' modifier ignored since `D' is the default (see `U')
+
+The 'u' option (at least with GNU binutils) did small optimization
+during repeated builds because it instructed 'ar' to not
+open/close unchanged *.o files and to rather read their contents
+from old archive file.  However, its removal should not cause a
+big performance hit for usual workflows.
+
+Distributions started using --enable-deterministic-archives
+knowing that it would disable the 'u', just to rather have a bit
+more deterministic builds.
+
+Also, to justify this change a bit more, keeping 'u' in ARFLAGS
+could only result in many per-project changes to override
+Libtool's ARFLAGS default, just to silent such warnings.
+
+Fixes bug#19967.  Reported by Eric Blake.
+
+* m4/libtool.m4 (_LT_PROG_AR): Default AR_FLAGS to 'cr'.
+(_LT_REQUIRED_DARWIN_CHECKS): Use $AR_FLAGS instead 'cru' string.
+* doc/libtool.texi: Do 's/ar cru/ar cr/' in whole documentation.
+* NEWS: Document.
+---
+ NEWS             |  4 ++++
+ doc/libtool.texi | 10 +++++-----
+ m4/libtool.m4    |  6 +++---
+ 3 files changed, 12 insertions(+), 8 deletions(-)
+
+diff --git a/NEWS b/NEWS
+index 590ce15ed5cd..2afc01ef38a9 100644
+--- a/NEWS
++++ b/NEWS
+@@ -146,6 +146,10 @@ NEWS - list of user-visible changes between releases of GNU Libtool
+     variable, which obsoletes AR_FLAGS.  This is due to naming conventions
+     among other *FLAGS and to be consistent with Automake's ARFLAGS.
+ 
++** Important incompatible changes:
++
++  - Libtool changed ARFLAGS/AR_FLAGS default from 'cru' to 'cr'.
++
+ ** Bug fixes:
+ 
+   - Fix a long-standing latent bug in autom4te include path for autotests
+diff --git a/doc/libtool.texi b/doc/libtool.texi
+index 0298627c2464..4c664bb2ab05 100644
+--- a/doc/libtool.texi
++++ b/doc/libtool.texi
+@@ -602,7 +602,7 @@ Without libtool, the programmer would invoke the @command{ar} command to
+ create a static library:
+ 
+ @example
+-burger$ @kbd{ar cru libhello.a hello.o foo.o}
++burger$ @kbd{ar cr libhello.a hello.o foo.o}
+ burger$
+ @end example
+ 
+@@ -632,7 +632,7 @@ libtool are the same ones you would use to produce an executable named
+ a23$ @kbd{libtool --mode=link gcc -g -O -o libhello.la foo.o hello.o}
+ *** Warning: Linking the shared library libhello.la against the
+ *** non-libtool objects foo.o hello.o is not portable!
+-ar cru .libs/libhello.a
++ar cr .libs/libhello.a
+ ranlib .libs/libhello.a
+ creating libhello.la
+ (cd .libs && rm -f libhello.la && ln -s ../libhello.la libhello.la)
+@@ -662,7 +662,7 @@ archive, not a shared library (@pxref{Static libraries}).}:
+ @example
+ a23$ @kbd{libtool --mode=link gcc -g -O -o libhello.la foo.lo hello.lo \
+                 -rpath /usr/local/lib -lm}
+-ar cru @value{objdir}/libhello.a foo.o hello.o
++ar cr @value{objdir}/libhello.a foo.o hello.o
+ ranlib @value{objdir}/libhello.a
+ creating libhello.la
+ (cd @value{objdir} && rm -f libhello.la && ln -s ../libhello.la libhello.la)
+@@ -676,7 +676,7 @@ burger$ @kbd{libtool --mode=link gcc -g -O -o libhello.la foo.lo hello.lo \
+                 -rpath /usr/local/lib -lm}
+ rm -fr  @value{objdir}/libhello.a @value{objdir}/libhello.la
+ ld -Bshareable -o @value{objdir}/libhello.so.0.0 @value{objdir}/foo.o @value{objdir}/hello.o -lm
+-ar cru @value{objdir}/libhello.a foo.o hello.o
++ar cr @value{objdir}/libhello.a foo.o hello.o
+ ranlib @value{objdir}/libhello.a
+ creating libhello.la
+ (cd @value{objdir} && rm -f libhello.la && ln -s ../libhello.la libhello.la)
+@@ -6001,7 +6001,7 @@ in cases where it is necessary.
+ @subsection Archivers
+ 
+ On all known systems, building a static library can be accomplished by
+-running @kbd{ar cru lib@var{name}.a @var{obj1}.o @var{obj2}.o @dots{}},
++running @kbd{ar cr lib@var{name}.a @var{obj1}.o @var{obj2}.o @dots{}},
+ where the @file{.a} file is the output library, and each @file{.o} file is an
+ object file.
+ 
+diff --git a/m4/libtool.m4 b/m4/libtool.m4
+index 2d6bda98fc92..3335def6d847 100644
+--- a/m4/libtool.m4
++++ b/m4/libtool.m4
+@@ -1042,8 +1042,8 @@ int forced_loaded() { return 2;}
+ _LT_EOF
+       echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
+       $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
+-      echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
+-      $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
++      echo "$AR $AR_FLAGS libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
++      $AR $AR_FLAGS libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
+       echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
+       $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
+       cat > conftest.c << _LT_EOF
+@@ -1501,7 +1501,7 @@ _LT_DECL([], [AR], [1], [The archiver])
+ # ARFLAGS for automake and AR_FLAGS for libtool).  FIXME: Make the AR_FLAGS
+ # variable obsoleted/removed.
+ 
+-test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cru}
++test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr}
+ lt_ar_flags=$AR_FLAGS
+ _LT_DECL([], [lt_ar_flags], [0], [Flags to create an archive (by configure)])
+ 
diff --git a/patches/libtool-2.4.6/series b/patches/libtool-2.4.6/series
new file mode 100644
index 000000000..884c5cf53
--- /dev/null
+++ b/patches/libtool-2.4.6/series
@@ -0,0 +1,5 @@
+# generated by git-ptx-patches
+#tag:base --start-number 1
+0001-libool.m4-add-ARFLAGS-variable.patch
+0002-ARFLAGS-use-cr-instead-of-cru-by-default.patch
+# b42e3ae11d0f098f770ef6bedc9d21c7  - git-ptx-patches magic
diff --git a/rules/host-autotools-libtool.make b/rules/host-autotools-libtool.make
index 392ccfd17..907c5560f 100644
--- a/rules/host-autotools-libtool.make
+++ b/rules/host-autotools-libtool.make
@@ -16,8 +16,8 @@ LAZY_PACKAGES-$(PTXCONF_HOST_AUTOTOOLS_LIBTOOL) += host-autotools-libtool
 #
 # Paths and names
 #
-HOST_AUTOTOOLS_LIBTOOL_VERSION	:= 2.4.2
-HOST_AUTOTOOLS_LIBTOOL_MD5	:= d2f3b7d4627e69e13514a40e72a24d50
+HOST_AUTOTOOLS_LIBTOOL_VERSION	:= 2.4.6
+HOST_AUTOTOOLS_LIBTOOL_MD5	:= addf44b646ddb4e3919805aa88fa7c5e
 HOST_AUTOTOOLS_LIBTOOL		:= libtool-$(HOST_AUTOTOOLS_LIBTOOL_VERSION)
 HOST_AUTOTOOLS_LIBTOOL_SUFFIX	:= tar.gz
 HOST_AUTOTOOLS_LIBTOOL_URL	:= $(call ptx/mirror, GNU, libtool/$(HOST_AUTOTOOLS_LIBTOOL).$(HOST_AUTOTOOLS_LIBTOOL_SUFFIX))
-- 
2.11.1


_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [ptxdist] [PATCH] m4: version bump 1.4.17 -> 1.4.18
  2017-02-04 17:47 [ptxdist] [PATCH] libtool: update 2.4.2 -> 2.4.6 Clemens Gruber
@ 2017-02-04 17:47 ` Clemens Gruber
  2017-02-04 17:47 ` [ptxdist] [PATCH] automake: version bump 1.14.1 -> 1.15 Clemens Gruber
  2017-03-10  9:46 ` [ptxdist] [PATCH] libtool: update 2.4.2 -> 2.4.6 Michael Olbrich
  2 siblings, 0 replies; 4+ messages in thread
From: Clemens Gruber @ 2017-02-04 17:47 UTC (permalink / raw)
  To: ptxdist; +Cc: Clemens Gruber

Signed-off-by: Clemens Gruber <clemens.gruber@pqgruber.com>
---
 rules/host-m4.make | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/rules/host-m4.make b/rules/host-m4.make
index fd9f69ce4..5a734fe2b 100644
--- a/rules/host-m4.make
+++ b/rules/host-m4.make
@@ -16,8 +16,8 @@ HOST_PACKAGES-$(PTXCONF_HOST_M4) += host-m4
 #
 # Paths and names
 #
-HOST_M4_VERSION	:= 1.4.17
-HOST_M4_MD5	:= 12a3c829301a4fd6586a57d3fcf196dc
+HOST_M4_VERSION	:= 1.4.18
+HOST_M4_MD5	:= 730bb15d96fffe47e148d1e09235af82
 HOST_M4		:= m4-$(HOST_M4_VERSION)
 HOST_M4_SUFFIX	:= tar.xz
 HOST_M4_URL	:= http://ftp.gnu.org/gnu/m4/$(HOST_M4).$(HOST_M4_SUFFIX)
-- 
2.11.1


_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [ptxdist] [PATCH] automake: version bump 1.14.1 -> 1.15
  2017-02-04 17:47 [ptxdist] [PATCH] libtool: update 2.4.2 -> 2.4.6 Clemens Gruber
  2017-02-04 17:47 ` [ptxdist] [PATCH] m4: version bump 1.4.17 -> 1.4.18 Clemens Gruber
@ 2017-02-04 17:47 ` Clemens Gruber
  2017-03-10  9:46 ` [ptxdist] [PATCH] libtool: update 2.4.2 -> 2.4.6 Michael Olbrich
  2 siblings, 0 replies; 4+ messages in thread
From: Clemens Gruber @ 2017-02-04 17:47 UTC (permalink / raw)
  To: ptxdist; +Cc: Clemens Gruber

Signed-off-by: Clemens Gruber <clemens.gruber@pqgruber.com>
---
 rules/host-autotools-automake.make | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/rules/host-autotools-automake.make b/rules/host-autotools-automake.make
index 2236f2ab5..4e7b1ac13 100644
--- a/rules/host-autotools-automake.make
+++ b/rules/host-autotools-automake.make
@@ -16,8 +16,8 @@ LAZY_PACKAGES-$(PTXCONF_HOST_AUTOTOOLS_AUTOMAKE) += host-autotools-automake
 #
 # Paths and names
 #
-HOST_AUTOTOOLS_AUTOMAKE_VERSION	:= 1.14.1
-HOST_AUTOTOOLS_AUTOMAKE_MD5	:= 7fc29854c520f56b07aa232a0f880292
+HOST_AUTOTOOLS_AUTOMAKE_VERSION	:= 1.15
+HOST_AUTOTOOLS_AUTOMAKE_MD5	:= 9a1ddb0e053474d9d1105cfe39b0c48d
 HOST_AUTOTOOLS_AUTOMAKE		:= automake-$(HOST_AUTOTOOLS_AUTOMAKE_VERSION)
 HOST_AUTOTOOLS_AUTOMAKE_SUFFIX	:= tar.xz
 HOST_AUTOTOOLS_AUTOMAKE_URL	:= $(call ptx/mirror, GNU, automake/$(HOST_AUTOTOOLS_AUTOMAKE).$(HOST_AUTOTOOLS_AUTOMAKE_SUFFIX))
-- 
2.11.1


_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [ptxdist] [PATCH] libtool: update 2.4.2 -> 2.4.6
  2017-02-04 17:47 [ptxdist] [PATCH] libtool: update 2.4.2 -> 2.4.6 Clemens Gruber
  2017-02-04 17:47 ` [ptxdist] [PATCH] m4: version bump 1.4.17 -> 1.4.18 Clemens Gruber
  2017-02-04 17:47 ` [ptxdist] [PATCH] automake: version bump 1.14.1 -> 1.15 Clemens Gruber
@ 2017-03-10  9:46 ` Michael Olbrich
  2 siblings, 0 replies; 4+ messages in thread
From: Michael Olbrich @ 2017-03-10  9:46 UTC (permalink / raw)
  To: ptxdist

On Sat, Feb 04, 2017 at 06:47:15PM +0100, Clemens Gruber wrote:
> Also add two upstream patches to silence warnings when using binutils
> built with --enable-deterministic-archives.
> 
> Signed-off-by: Clemens Gruber <clemens.gruber@pqgruber.com>

Thanks, all three applied,

Michael

> ---
>  .../0001-libool.m4-add-ARFLAGS-variable.patch      |  68 +++++++++++
>  ...-ARFLAGS-use-cr-instead-of-cru-by-default.patch | 124 +++++++++++++++++++++
>  patches/libtool-2.4.6/series                       |   5 +
>  rules/host-autotools-libtool.make                  |   4 +-
>  4 files changed, 199 insertions(+), 2 deletions(-)
>  create mode 100644 patches/libtool-2.4.6/0001-libool.m4-add-ARFLAGS-variable.patch
>  create mode 100644 patches/libtool-2.4.6/0002-ARFLAGS-use-cr-instead-of-cru-by-default.patch
>  create mode 100644 patches/libtool-2.4.6/series
> 
> diff --git a/patches/libtool-2.4.6/0001-libool.m4-add-ARFLAGS-variable.patch b/patches/libtool-2.4.6/0001-libool.m4-add-ARFLAGS-variable.patch
> new file mode 100644
> index 000000000..52e21f513
> --- /dev/null
> +++ b/patches/libtool-2.4.6/0001-libool.m4-add-ARFLAGS-variable.patch
> @@ -0,0 +1,68 @@
> +From: Pavel Raiskup <praiskup@redhat.com>
> +Date: Fri, 17 Apr 2015 15:05:42 +0200
> +Subject: [PATCH] libool.m4: add ARFLAGS variable
> +
> +Libtool has used $AR_FLAGS since 2000-05-29 commit
> +8300de4c54e6f04f0d, Automake ARFLAGS since 2003-04-06 commit
> +a71b3490639831ca.  Even though ARFLAGS is younger, it sounds like
> +better name according GNU Coding Standards.
> +
> +Related to bug#20082.
> +
> +* m4/libtool.m4 (_LT_PROG_AR): Copy ARFLAGS value into AR_FLAGS
> +variable if AR_FLAGS is not set.  Add new _LT_DECL'ed variable
> +'lt_ar_flags' to keep the configure-time value of AR_FLAGS.  The
> +new 'lt_ar_flags' is to be used as the default value for AR_FLAGS
> +at libtool-runtime.
> +* NEWS: Document.
> +---
> + NEWS          |  6 ++++++
> + m4/libtool.m4 | 17 +++++++++++++++--
> + 2 files changed, 21 insertions(+), 2 deletions(-)
> +
> +diff --git a/NEWS b/NEWS
> +index d7ca4341c393..590ce15ed5cd 100644
> +--- a/NEWS
> ++++ b/NEWS
> +@@ -140,6 +140,12 @@ NEWS - list of user-visible changes between releases of GNU Libtool
> + 
> +         make check-local TESTSUITEFLAGS='-k "!expensive"'
> + 
> ++** New features:
> ++
> ++  - Libtool script now supports (configure-time and runtime) ARFLAGS
> ++    variable, which obsoletes AR_FLAGS.  This is due to naming conventions
> ++    among other *FLAGS and to be consistent with Automake's ARFLAGS.
> ++
> + ** Bug fixes:
> + 
> +   - Fix a long-standing latent bug in autom4te include path for autotests
> +diff --git a/m4/libtool.m4 b/m4/libtool.m4
> +index a3bc337b79ad..2d6bda98fc92 100644
> +--- a/m4/libtool.m4
> ++++ b/m4/libtool.m4
> +@@ -1493,9 +1493,22 @@ need_locks=$enable_libtool_lock
> + m4_defun([_LT_PROG_AR],
> + [AC_CHECK_TOOLS(AR, [ar], false)
> + : ${AR=ar}
> +-: ${AR_FLAGS=cru}
> + _LT_DECL([], [AR], [1], [The archiver])
> +-_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
> ++
> ++# Use ARFLAGS variable as AR's operation code to sync the variable naming with
> ++# Automake.  If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have
> ++# higher priority because thats what people were doing historically (setting
> ++# ARFLAGS for automake and AR_FLAGS for libtool).  FIXME: Make the AR_FLAGS
> ++# variable obsoleted/removed.
> ++
> ++test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cru}
> ++lt_ar_flags=$AR_FLAGS
> ++_LT_DECL([], [lt_ar_flags], [0], [Flags to create an archive (by configure)])
> ++
> ++# Make AR_FLAGS overridable by 'make ARFLAGS='.  Don't try to run-time override
> ++# by AR_FLAGS because that was never working and AR_FLAGS is about to die.
> ++_LT_DECL([], [AR_FLAGS], [\@S|@{ARFLAGS-"\@S|@lt_ar_flags"}],
> ++         [Flags to create an archive])
> + 
> + AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
> +   [lt_cv_ar_at_file=no
> diff --git a/patches/libtool-2.4.6/0002-ARFLAGS-use-cr-instead-of-cru-by-default.patch b/patches/libtool-2.4.6/0002-ARFLAGS-use-cr-instead-of-cru-by-default.patch
> new file mode 100644
> index 000000000..a137845e8
> --- /dev/null
> +++ b/patches/libtool-2.4.6/0002-ARFLAGS-use-cr-instead-of-cru-by-default.patch
> @@ -0,0 +1,124 @@
> +From: Pavel Raiskup <praiskup@redhat.com>
> +Date: Fri, 17 Apr 2015 16:54:58 +0200
> +Subject: [PATCH] ARFLAGS: use 'cr' instead of 'cru' by default
> +
> +In some GNU/Linux distributions people started to compile 'ar'
> +binary with --enable-deterministic-archives (binutils project).
> +That, however, in combination with our previous long time working
> +default AR_FLAGS=cru causes warnings on such installations:
> +ar: `u' modifier ignored since `D' is the default (see `U')
> +
> +The 'u' option (at least with GNU binutils) did small optimization
> +during repeated builds because it instructed 'ar' to not
> +open/close unchanged *.o files and to rather read their contents
> +from old archive file.  However, its removal should not cause a
> +big performance hit for usual workflows.
> +
> +Distributions started using --enable-deterministic-archives
> +knowing that it would disable the 'u', just to rather have a bit
> +more deterministic builds.
> +
> +Also, to justify this change a bit more, keeping 'u' in ARFLAGS
> +could only result in many per-project changes to override
> +Libtool's ARFLAGS default, just to silent such warnings.
> +
> +Fixes bug#19967.  Reported by Eric Blake.
> +
> +* m4/libtool.m4 (_LT_PROG_AR): Default AR_FLAGS to 'cr'.
> +(_LT_REQUIRED_DARWIN_CHECKS): Use $AR_FLAGS instead 'cru' string.
> +* doc/libtool.texi: Do 's/ar cru/ar cr/' in whole documentation.
> +* NEWS: Document.
> +---
> + NEWS             |  4 ++++
> + doc/libtool.texi | 10 +++++-----
> + m4/libtool.m4    |  6 +++---
> + 3 files changed, 12 insertions(+), 8 deletions(-)
> +
> +diff --git a/NEWS b/NEWS
> +index 590ce15ed5cd..2afc01ef38a9 100644
> +--- a/NEWS
> ++++ b/NEWS
> +@@ -146,6 +146,10 @@ NEWS - list of user-visible changes between releases of GNU Libtool
> +     variable, which obsoletes AR_FLAGS.  This is due to naming conventions
> +     among other *FLAGS and to be consistent with Automake's ARFLAGS.
> + 
> ++** Important incompatible changes:
> ++
> ++  - Libtool changed ARFLAGS/AR_FLAGS default from 'cru' to 'cr'.
> ++
> + ** Bug fixes:
> + 
> +   - Fix a long-standing latent bug in autom4te include path for autotests
> +diff --git a/doc/libtool.texi b/doc/libtool.texi
> +index 0298627c2464..4c664bb2ab05 100644
> +--- a/doc/libtool.texi
> ++++ b/doc/libtool.texi
> +@@ -602,7 +602,7 @@ Without libtool, the programmer would invoke the @command{ar} command to
> + create a static library:
> + 
> + @example
> +-burger$ @kbd{ar cru libhello.a hello.o foo.o}
> ++burger$ @kbd{ar cr libhello.a hello.o foo.o}
> + burger$
> + @end example
> + 
> +@@ -632,7 +632,7 @@ libtool are the same ones you would use to produce an executable named
> + a23$ @kbd{libtool --mode=link gcc -g -O -o libhello.la foo.o hello.o}
> + *** Warning: Linking the shared library libhello.la against the
> + *** non-libtool objects foo.o hello.o is not portable!
> +-ar cru .libs/libhello.a
> ++ar cr .libs/libhello.a
> + ranlib .libs/libhello.a
> + creating libhello.la
> + (cd .libs && rm -f libhello.la && ln -s ../libhello.la libhello.la)
> +@@ -662,7 +662,7 @@ archive, not a shared library (@pxref{Static libraries}).}:
> + @example
> + a23$ @kbd{libtool --mode=link gcc -g -O -o libhello.la foo.lo hello.lo \
> +                 -rpath /usr/local/lib -lm}
> +-ar cru @value{objdir}/libhello.a foo.o hello.o
> ++ar cr @value{objdir}/libhello.a foo.o hello.o
> + ranlib @value{objdir}/libhello.a
> + creating libhello.la
> + (cd @value{objdir} && rm -f libhello.la && ln -s ../libhello.la libhello.la)
> +@@ -676,7 +676,7 @@ burger$ @kbd{libtool --mode=link gcc -g -O -o libhello.la foo.lo hello.lo \
> +                 -rpath /usr/local/lib -lm}
> + rm -fr  @value{objdir}/libhello.a @value{objdir}/libhello.la
> + ld -Bshareable -o @value{objdir}/libhello.so.0.0 @value{objdir}/foo.o @value{objdir}/hello.o -lm
> +-ar cru @value{objdir}/libhello.a foo.o hello.o
> ++ar cr @value{objdir}/libhello.a foo.o hello.o
> + ranlib @value{objdir}/libhello.a
> + creating libhello.la
> + (cd @value{objdir} && rm -f libhello.la && ln -s ../libhello.la libhello.la)
> +@@ -6001,7 +6001,7 @@ in cases where it is necessary.
> + @subsection Archivers
> + 
> + On all known systems, building a static library can be accomplished by
> +-running @kbd{ar cru lib@var{name}.a @var{obj1}.o @var{obj2}.o @dots{}},
> ++running @kbd{ar cr lib@var{name}.a @var{obj1}.o @var{obj2}.o @dots{}},
> + where the @file{.a} file is the output library, and each @file{.o} file is an
> + object file.
> + 
> +diff --git a/m4/libtool.m4 b/m4/libtool.m4
> +index 2d6bda98fc92..3335def6d847 100644
> +--- a/m4/libtool.m4
> ++++ b/m4/libtool.m4
> +@@ -1042,8 +1042,8 @@ int forced_loaded() { return 2;}
> + _LT_EOF
> +       echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
> +       $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
> +-      echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
> +-      $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
> ++      echo "$AR $AR_FLAGS libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
> ++      $AR $AR_FLAGS libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
> +       echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
> +       $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
> +       cat > conftest.c << _LT_EOF
> +@@ -1501,7 +1501,7 @@ _LT_DECL([], [AR], [1], [The archiver])
> + # ARFLAGS for automake and AR_FLAGS for libtool).  FIXME: Make the AR_FLAGS
> + # variable obsoleted/removed.
> + 
> +-test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cru}
> ++test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr}
> + lt_ar_flags=$AR_FLAGS
> + _LT_DECL([], [lt_ar_flags], [0], [Flags to create an archive (by configure)])
> + 
> diff --git a/patches/libtool-2.4.6/series b/patches/libtool-2.4.6/series
> new file mode 100644
> index 000000000..884c5cf53
> --- /dev/null
> +++ b/patches/libtool-2.4.6/series
> @@ -0,0 +1,5 @@
> +# generated by git-ptx-patches
> +#tag:base --start-number 1
> +0001-libool.m4-add-ARFLAGS-variable.patch
> +0002-ARFLAGS-use-cr-instead-of-cru-by-default.patch
> +# b42e3ae11d0f098f770ef6bedc9d21c7  - git-ptx-patches magic
> diff --git a/rules/host-autotools-libtool.make b/rules/host-autotools-libtool.make
> index 392ccfd17..907c5560f 100644
> --- a/rules/host-autotools-libtool.make
> +++ b/rules/host-autotools-libtool.make
> @@ -16,8 +16,8 @@ LAZY_PACKAGES-$(PTXCONF_HOST_AUTOTOOLS_LIBTOOL) += host-autotools-libtool
>  #
>  # Paths and names
>  #
> -HOST_AUTOTOOLS_LIBTOOL_VERSION	:= 2.4.2
> -HOST_AUTOTOOLS_LIBTOOL_MD5	:= d2f3b7d4627e69e13514a40e72a24d50
> +HOST_AUTOTOOLS_LIBTOOL_VERSION	:= 2.4.6
> +HOST_AUTOTOOLS_LIBTOOL_MD5	:= addf44b646ddb4e3919805aa88fa7c5e
>  HOST_AUTOTOOLS_LIBTOOL		:= libtool-$(HOST_AUTOTOOLS_LIBTOOL_VERSION)
>  HOST_AUTOTOOLS_LIBTOOL_SUFFIX	:= tar.gz
>  HOST_AUTOTOOLS_LIBTOOL_URL	:= $(call ptx/mirror, GNU, libtool/$(HOST_AUTOTOOLS_LIBTOOL).$(HOST_AUTOTOOLS_LIBTOOL_SUFFIX))
> -- 
> 2.11.1
> 
> 
> _______________________________________________
> ptxdist mailing list
> ptxdist@pengutronix.de

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

_______________________________________________
ptxdist mailing list
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-03-10  9:46 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-02-04 17:47 [ptxdist] [PATCH] libtool: update 2.4.2 -> 2.4.6 Clemens Gruber
2017-02-04 17:47 ` [ptxdist] [PATCH] m4: version bump 1.4.17 -> 1.4.18 Clemens Gruber
2017-02-04 17:47 ` [ptxdist] [PATCH] automake: version bump 1.14.1 -> 1.15 Clemens Gruber
2017-03-10  9:46 ` [ptxdist] [PATCH] libtool: update 2.4.2 -> 2.4.6 Michael Olbrich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox