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.2.10-81-g66ce911


From: Peter Rosin
Subject: [SCM] GNU Libtool branch, master, updated. v2.2.10-81-g66ce911
Date: Fri, 13 Aug 2010 11:17:07 +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  66ce911b33bb43c2079dd701aa099df709387f48 (commit)
      from  9b4ec3cd97aa37c6764d48933267792c9947b5ba (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 66ce911b33bb43c2079dd701aa099df709387f48
Author: Peter Rosin <address@hidden>
Date:   Fri Aug 13 13:11:54 2010 +0200

    Allow the use of a listing file if the archiver supports it.
    
    * libltdl/m4/libtool.m4 (_LT_CMD_OLD_ARCHIVE): Move detection
    of a suitable archiver...
    (_LT_PROG_AR): ...to here. New macro, also detect if the
    archiver supports a listing file with the new variable
    archiver_list_spec.
    * libltdl/config/ltmain.m4sh: If the archiver supports a listing
    file, use it when max_cmd_len is exceeded.  This is needed for
    tool chains such as MSVC which do not support piece by piece
    linking (-r -o).
    * doc/libtool.texi (libtool script contents): Update with
    archiver_list_spec description.
    
    Signed-off-by: Peter Rosin <address@hidden>

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

Summary of changes:
 ChangeLog                  |   15 +++++++++++++++
 doc/libtool.texi           |    4 ++++
 libltdl/config/ltmain.m4sh |    8 ++++++++
 libltdl/m4/libtool.m4      |   38 +++++++++++++++++++++++++++++++++-----
 4 files changed, 60 insertions(+), 5 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index ce4c9db..59e94e4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2010-08-13  Peter Rosin  <address@hidden>
+
+       Allow the use of a listing file if the archiver supports it.
+       * libltdl/m4/libtool.m4 (_LT_CMD_OLD_ARCHIVE): Move detection
+       of a suitable archiver...
+       (_LT_PROG_AR): ...to here. New macro, also detect if the
+       archiver supports a listing file with the new variable
+       archiver_list_spec.
+       * libltdl/config/ltmain.m4sh: If the archiver supports a listing
+       file, use it when max_cmd_len is exceeded.  This is needed for
+       tool chains such as MSVC which do not support piece by piece
+       linking (-r -o).
+       * doc/libtool.texi (libtool script contents): Update with
+       archiver_list_spec description.
+
 2010-08-10  Gary V. Vaughan  <address@hidden>  (tiny change)
 
        Make testsuite compatible with Autoconf 2.62 again.
diff --git a/doc/libtool.texi b/doc/libtool.texi
index 914bd1d..606b232 100644
--- a/doc/libtool.texi
+++ b/doc/libtool.texi
@@ -5875,6 +5875,10 @@ Commands used to create shared libraries, shared 
libraries with
 @option{-export-symbols} and static libraries, respectively.
 @end defvar
 
address@hidden archiver_list_spec
+Specify filename containing input files for @code{AR}.
address@hidden defvar
+
 @defvar old_archive_from_new_cmds
 If the shared library depends on a static library,
 @samp{old_archive_from_new_cmds} contains the commands used to create that
diff --git a/libltdl/config/ltmain.m4sh b/libltdl/config/ltmain.m4sh
index d677529..d334b65 100644
--- a/libltdl/config/ltmain.m4sh
+++ b/libltdl/config/ltmain.m4sh
@@ -7900,6 +7900,14 @@ EOF
        len=$func_len_result
        if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then
          cmds=$old_archive_cmds
+       elif test -n "$archiver_list_spec"; then
+         func_verbose "using command file archive linking..."
+         for obj in $oldobjs
+         do
+           $ECHO "$obj"
+         done > $output_objdir/$libname.libcmd
+         oldobjs=" $archiver_list_spec$output_objdir/$libname.libcmd"
+         cmds=$old_archive_cmds
        else
          # the command line is too long to link in one step, link in parts
          func_verbose "using piecewise archive linking..."
diff --git a/libltdl/m4/libtool.m4 b/libltdl/m4/libtool.m4
index c36a6b4..891a9f8 100644
--- a/libltdl/m4/libtool.m4
+++ b/libltdl/m4/libtool.m4
@@ -1312,14 +1312,42 @@ need_locks="$enable_libtool_lock"
 ])# _LT_ENABLE_LOCK
 
 
+# _LT_PROG_AR
+# -----------
+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])
+
+AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
+  [lt_cv_ar_at_file=no
+   AC_COMPILE_IFELSE([[int some_variable = 0;]],
+     [echo conftest.$ac_objext > conftest.lst
+      am_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst'
+      AC_TRY_EVAL([am_ar_try])
+      if test "$ac_status" -eq 0; then
+        lt_cv_ar_at_file=@
+      fi
+      rm -f conftest.* libconftest.a
+     ])
+  ])
+
+if test "x$lt_cv_ar_at_file" = xno; then
+  archiver_list_spec=
+else
+  archiver_list_spec=$lt_cv_ar_at_file
+fi
+_LT_DECL([], [archiver_list_spec], [1],
+  [How to feed a file listing to the archiver])
+])# _LT_PROG_AR
+
+
 # _LT_CMD_OLD_ARCHIVE
 # -------------------
 m4_defun([_LT_CMD_OLD_ARCHIVE],
-[AC_CHECK_TOOL(AR, ar, false)
-test -z "$AR" && AR=ar
-test -z "$AR_FLAGS" && AR_FLAGS=cru
-_LT_DECL([], [AR], [1], [The archiver])
-_LT_DECL([], [AR_FLAGS], [1])
+[_LT_PROG_AR
 
 AC_CHECK_TOOL(STRIP, strip, :)
 test -z "$STRIP" && STRIP=:


hooks/post-receive
-- 
GNU Libtool



reply via email to

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