Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r59898 - trunk/tools/build/v2/tools
From: ghost_at_[hidden]
Date: 2010-02-25 06:41:42


Author: vladimir_prus
Date: 2010-02-25 06:41:41 EST (Thu, 25 Feb 2010)
New Revision: 59898
URL: http://svn.boost.org/trac/boost/changeset/59898

Log:
Ran ranlib on static libraries.

Text files modified:
   trunk/tools/build/v2/tools/gcc.jam | 35 +++++++++++++++++++++++++++--------
   1 files changed, 27 insertions(+), 8 deletions(-)

Modified: trunk/tools/build/v2/tools/gcc.jam
==============================================================================
--- trunk/tools/build/v2/tools/gcc.jam (original)
+++ trunk/tools/build/v2/tools/gcc.jam 2010-02-25 06:41:41 EST (Thu, 25 Feb 2010)
@@ -103,12 +103,12 @@
         bin ?= [ common.get-absolute-tool-path $(command[-1]) ] ;
         root ?= $(bin:D) ;
     }
+ # The 'command' variable can have multiple elements. When calling
+ # the SHELL builtin we need a single string.
+ local command-string = $(command:J=" ") ;
     # Autodetect the version and flavor if not given.
     if $(command)
- {
- # The 'command' variable can have multiple elements. When calling
- # the SHELL builtin we need a single string.
- local command-string = $(command:J=" ") ;
+ {
         local machine = [ MATCH "^([^ ]+)"
             : [ SHELL "$(command-string) -dumpmachine" ] ] ;
         version ?= [ MATCH "^([0-9.]+)"
@@ -185,17 +185,35 @@
     # If it's not a system gcc install we should adjust the various programs as
     # needed to prefer using the install specific versions. This is essential
     # for correct use of MinGW and for cross-compiling.
+
+ local nl = "
+" ;
 
     # - The archive builder.
- local archiver =
- [ common.get-invocation-command gcc
- : ar : [ feature.get-values <archiver> : $(options) ] : $(bin) : search-path ] ;
+ local archiver = [ common.get-invocation-command gcc
+ : [ NORMALIZE_PATH [ MATCH "(.*)[$(nl)]+" : [ SHELL "$(command-string) -print-prog-name=ar" ] ] ]
+ : [ feature.get-values <archiver> : $(options) ]
+ : $(bin)
+ : search-path ] ;
     toolset.flags gcc.archive .AR $(condition) : $(archiver[1]) ;
     if $(.debug-configuration)
     {
         ECHO notice: using gcc archiver :: $(condition) :: $(archiver[1]) ;
     }
 
+ # - Ranlib
+ local ranlib = [ common.get-invocation-command gcc
+ : [ NORMALIZE_PATH [ MATCH "(.*)[$(nl)]+" : [ SHELL "$(command-string) -print-prog-name=ranlib" ] ] ]
+ : [ feature.get-values <ranlib> : $(options) ]
+ : $(bin)
+ : search-path ] ;
+ toolset.flags gcc.archive .RANLIB $(condition) : $(ranlib[1]) ;
+ if $(.debug-configuration)
+ {
+ ECHO notice: using gcc ranlib :: $(condition) :: $(ranlib[1]) ;
+ }
+
+
     # - The resource compiler.
     local rc =
         [ common.get-invocation-command-nodefault gcc
@@ -839,6 +857,7 @@
 # logic in intel-linux, but that's hardly worth the trouble as on Linux, 'ar' is
 # always available.
 .AR = ar ;
+.RANLIB = ranlib ;
 
 toolset.flags gcc.archive AROPTIONS <archiveflags> ;
 
@@ -879,9 +898,9 @@
 actions piecemeal archive
 {
     "$(.AR)" $(AROPTIONS) rc "$(<)" "$(>)"
+ "$(.RANLIB)" "$(<)"
 }
 
-
 rule link.dll ( targets * : sources * : properties * )
 {
     setup-threading $(targets) : $(sources) : $(properties) ;


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk