libtool-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SCM] GNU Libtool branch, master, updated. v2.4.6-11-gb7b6ec3


From: Pavel Raiskup
Subject: [SCM] GNU Libtool branch, master, updated. v2.4.6-11-gb7b6ec3
Date: Tue, 29 Sep 2015 08:44:20 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Libtool".

The branch, master has been updated
       via  b7b6ec33baa4747eb147e9e249e675e477d861f4 (commit)
       via  5859cc50d62667438f36c4a2872583bcd09cfdd5 (commit)
       via  418129bc63afc312701e84cb8afa5ca413df1ab5 (commit)
       via  4335de1dfb7d2ec728427e07a54136b94a2d40f6 (commit)
      from  0f84217752fe50155f1f00fd14efbbbbdfaaed24 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit b7b6ec33baa4747eb147e9e249e675e477d861f4
Author: Pavel Raiskup <address@hidden>
Date:   Sat Sep 26 17:47:56 2015 +0200

    gnulib: sync with upstream
    
    With gnulib commit f8fe25fab60e3, AM_PROG_AR is called
    automatically from GL_EARLY macro, which brings its definition
    into aclocal.m4.  Sufficiently new enough AM_PROG_AR uses guarding
    AC_BEFORE([AM_PROG_AR], [LT_INIT]) call.
    
    Existence of 'LT_INIT' string inside aclocal.m4 however broke
    bootstrap's self-defensive libtool_check_for_bogus_macros
    function.
    
    * build-aux/no-bogus-m4-defines: New aux helper using m4 for
    aclocal.m4 pre-processing.  As this is only bootstrap/dist time
    assertion, we don't have to be too much careful (and the AC_BEFORE
    pushdef is OK for now).
    * boostrap.conf (libtool_check_for_bogus_macros): Use
    no-bogus-m4-defines helper to detect bogus macros.
    * Makefile.am: Likewise.
    * gnulib: Sync with upstream.
    * build-aux/git-log-fix: Fix typo.
    * gl/build-aux/extract-trace: Fix the script timestamp.
    * bootstrap: Sync with extract-trace.

commit 5859cc50d62667438f36c4a2872583bcd09cfdd5
Author: Pavel Raiskup <address@hidden>
Date:   Thu Jun 25 14:53:28 2015 +0200

    maint: relax 'sc_prohibit_test_dollar' check
    
    * cfg.mk (sc_prohibit_test_dollar): White-list the
    'test ${VAR+y}' construct because that is autoconf-suggested
    portable way to check for unset variable.

commit 418129bc63afc312701e84cb8afa5ca413df1ab5
Author: Pavel Raiskup <address@hidden>
Date:   Fri Apr 17 16:54:58 2015 +0200

    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.

commit 4335de1dfb7d2ec728427e07a54136b94a2d40f6
Author: Pavel Raiskup <address@hidden>
Date:   Fri Apr 17 15:05:42 2015 +0200

    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.

-----------------------------------------------------------------------

Summary of changes:
 Makefile.am                   |   11 +++-----
 NEWS                          |   10 +++++++
 bootstrap                     |    2 +-
 bootstrap.conf                |    9 +-----
 build-aux/git-log-fix         |    3 ++
 build-aux/no-bogus-m4-defines |   61 +++++++++++++++++++++++++++++++++++++++++
 cfg.mk                        |    3 +-
 doc/libtool.texi              |   10 +++---
 gl/build-aux/extract-trace    |    2 +-
 gnulib                        |    2 +-
 m4/libtool.m4                 |   21 +++++++++++---
 11 files changed, 107 insertions(+), 27 deletions(-)
 create mode 100755 build-aux/no-bogus-m4-defines

diff --git a/Makefile.am b/Makefile.am
index b8d2703..fd11dd0 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -86,11 +86,13 @@ ltmain_in   = $(srcdir)/$(aux_dir)/ltmain.in
 libtool_m4     = $(srcdir)/$(macro_dir)/libtool.m4
 ltversion_in   = $(srcdir)/$(macro_dir)/ltversion.in
 ltversion_m4   = $(srcdir)/$(macro_dir)/ltversion.m4
+no_bogus_macros        = $(srcdir)/$(aux_dir)/no-bogus-m4-defines
 options_parser = $(srcdir)/$(aux_dir)/options-parser
 
 EXTRA_DIST     += $(extract_trace) $(funclib_sh) $(inline_source) \
                  $(libtoolize_in) $(ltmain_in) $(ltmain_sh) \
-                 $(ltversion_in) $(ltversion_m4) $(options_parser)
+                 $(ltversion_in) $(ltversion_m4) $(no_bogus_macros) \
+                 $(options_parser)
 
 ## These are the replacements that need to be made at bootstrap time,
 ## because they must be static in distributed files, and not accidentally
@@ -612,12 +614,7 @@ dist-hook: $(changelog) $(thanks) $(dotversion) $(readme)
 ## ...and similarly for .serial.
        $(git_commit_count) > $(dotserial)
 ## Ensure aclocal has not wrongly picked up old macro definitions.
-       @for macro in LT_INIT AC_PROG_LIBTOOL AM_PROG_LIBTOOL; do \
-         if grep "$$macro" '$(srcdir)/aclocal.m4' '$(lt_aclocal_m4)'; then \
-           echo "Bogus $$macro macro contents in an aclocal.m4 file." >&2; \
-           exit 1; \
-         else :; fi; \
-       done
+       $(no_bogus_macros)
 
 distcheck-hook: syntax-check
 
diff --git a/NEWS b/NEWS
index 82dd037..a3c5b12 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,16 @@ NEWS - list of user-visible changes between releases of GNU 
Libtool
 
 * Noteworthy changes in release ?.? (????-??-??) [?]
 
+** 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.
+
+** Important incompatible changes:
+
+  - Libtool changed ARFLAGS/AR_FLAGS default from 'cru' to 'cr'.
+
 ** Bug fixes:
 
   - Fix significant slowdown of libtoolize for certain projects (regression
diff --git a/bootstrap b/bootstrap
index 17fb169..c179f51 100755
--- a/bootstrap
+++ b/bootstrap
@@ -2155,7 +2155,7 @@ test -z "$progpath" && . `echo "$0" |${SED-sed} 
's|[^/]*$||'`/funclib.sh
 test extract-trace = "$progname" && . `echo "$0" |${SED-sed} 
's|[^/]*$||'`/options-parser
 
 # Set a version string.
-scriptversion=2015-01-20.17; # UTC
+scriptversion=2015-09-18.21; # UTC
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/bootstrap.conf b/bootstrap.conf
index 793d368..db6c74d 100644
--- a/bootstrap.conf
+++ b/bootstrap.conf
@@ -291,13 +291,8 @@ func_add_hook func_fini libtool_cleanup
 libtool_check_for_bogus_macros ()
 {
     $debug_cmd
-
-    $opt_dry_run ||
-        for macro in LT_INIT AC_PROG_LIBTOOL AM_PROG_LIBTOOL; do
-          if grep $macro aclocal.m4 libltdl/aclocal.m4; then
-            func_fatal_error "Bogus $macro macro contents in an aclocal.m4 
file"
-          else :; fi
-        done
+    $require_build_aux
+    $build_aux/no-bogus-m4-defines || exit 1
 }
 func_add_hook func_fini libtool_check_for_bogus_macros
 
diff --git a/build-aux/git-log-fix b/build-aux/git-log-fix
index 2e7ad7c..af02b0d 100644
--- a/build-aux/git-log-fix
+++ b/build-aux/git-log-fix
@@ -2,6 +2,9 @@
 # option.  It specifies what changes to make to each given SHA1's commit
 # log and metadata, using Perl-eval'able expressions.
 
+0f84217752fe50155f1f00fd14efbbbbdfaaed24
+s|Subjecŧ|Subject|
+
 8c2154fb4e80967b50b98c7327ff1465d3315f3f
 # Date:   Tue Nov 18 16:14:35 2014 +0000
 # Fox a resent smelling mystique.
diff --git a/build-aux/no-bogus-m4-defines b/build-aux/no-bogus-m4-defines
new file mode 100755
index 0000000..d66aef4
--- /dev/null
+++ b/build-aux/no-bogus-m4-defines
@@ -0,0 +1,61 @@
+#! /bin/sh
+
+#   no-bogus-m4-defines - detect wrong m4 definitions
+#   -------------------------------------------------
+#   Try to catch the case where 'aclocal' pulls installed libtool
+#   macro file contents from another version of libtool into the
+#   current package 'aclocal.m4'.  Currently used by 'make dist'
+#   and by ./bootstrap (bootstrap.conf).
+#
+#   Copyright (C) 2015 Free Software Foundation, Inc.
+#
+#   This file is part of GNU Libtool.
+#
+# GNU Libtool is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 2 of
+# the License, or (at your option) any later version.
+#
+# GNU Libtool is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GNU Libtool; see the file COPYING.  If not, a copy
+# can be downloaded from  http://www.gnu.org/licenses/gpl.html,
+# or obtained by writing to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+# Please report bugs or propose patches to address@hidden
+
+. `echo "$0" |${SED-sed} 's|[^/]*$||'`/funclib.sh
+# source this for "GNU m4" detection methods
+. `echo "$0" |${SED-sed} 's|[^/]*$||'`/extract-trace
+
+$require_gnu_m4
+
+bogus_macros='LT_INIT AC_PROG_LIBTOOL AM_PROG_LIBTOOL'
+
+bogus_macros_grep=''
+for macro in $bogus_macros; do
+  func_append bogus_macros_grep "/$macro/p;"
+done
+
+clean_false_alarms="pushdef(\`AC_BEFORE', \`')"
+
+bogus_macros_check_output=`$ECHO "$clean_false_alarms" \
+  |$M4 - aclocal.m4 libltdl/aclocal.m4 \
+  |$SED -n "$bogus_macros_grep"`
+
+exit_val=0
+for macro in $bogus_macros; do
+  case $bogus_macros_check_output in
+    *$macro*)
+      func_error "Bogus $macro macro definition in an aclocal.m4 file"
+      exit_val=1
+      ;;
+  esac
+done
+
+exit $exit_val
diff --git a/cfg.mk b/cfg.mk
index fdc21a1..6767b2d 100644
--- a/cfg.mk
+++ b/cfg.mk
@@ -176,7 +176,8 @@ sc_prohibit_test_binary_operators:
 exclude_file_name_regexp--sc_prohibit_test_dollar = ^cfg.mk$$
 sc_prohibit_test_dollar:
        @prohibit='test[         ]+(![   ])?(-.[         ]+)?X?\$$[^?#]' \
-       halt='use '\''test "$$..."'\'' instead of '\''test $$'\'                
\
+       exclude='test \$${[A-Za-z_][A-Za-z0-9_]+\+y}'                   \
+       halt='use '\''test "$$..."'\'' instead of '\''test $$'\'        \
          $(_sc_search_regexp)
 
 # Never use test -e.
diff --git a/doc/libtool.texi b/doc/libtool.texi
index 0298627..4c664bb 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 address@hidden @var{obj1}.o @var{obj2}.o @dots{}},
+running @kbd{ar cr address@hidden @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/gl/build-aux/extract-trace b/gl/build-aux/extract-trace
index c6abd21..e66bf20 100755
--- a/gl/build-aux/extract-trace
+++ b/gl/build-aux/extract-trace
@@ -12,7 +12,7 @@ test -z "$progpath" && . `echo "$0" |${SED-sed} 
's|[^/]*$||'`/funclib.sh
 test extract-trace = "$progname" && . `echo "$0" |${SED-sed} 
's|[^/]*$||'`/options-parser
 
 # Set a version string.
-scriptversion=2015-01-20.17; # UTC
+scriptversion=2015-09-18.21; # UTC
 
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/gnulib b/gnulib
index 82b8610..a5a1569 160000
--- a/gnulib
+++ b/gnulib
@@ -1 +1 @@
-Subproject commit 82b86107d7f249e9396a65dd1a103f3227f1854e
+Subproject commit a5a1569d1953536af019636c49bd3e7a5cbbbde2
diff --git a/m4/libtool.m4 b/m4/libtool.m4
index a3bc337..3335def 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
@@ -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-cr}
+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], 
address@hidden|@{ARFLAGS-"address@hidden|@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


hooks/post-receive
-- 
GNU Libtool



reply via email to

[Prev in Thread] Current Thread [Next in Thread]