Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r75737 - trunk/tools/build/v2/test
From: steven_at_[hidden]
Date: 2011-11-29 19:03:55


Author: steven_watanabe
Date: 2011-11-29 19:03:54 EST (Tue, 29 Nov 2011)
New Revision: 75737
URL: http://svn.boost.org/trac/boost/changeset/75737

Log:
Fix a few test problems on cygwin and mingw
Text files modified:
   trunk/tools/build/v2/test/BoostBuild.py | 41 +++++++++++++++++++++++++++------------
   1 files changed, 28 insertions(+), 13 deletions(-)

Modified: trunk/tools/build/v2/test/BoostBuild.py
==============================================================================
--- trunk/tools/build/v2/test/BoostBuild.py (original)
+++ trunk/tools/build/v2/test/BoostBuild.py 2011-11-29 19:03:54 EST (Tue, 29 Nov 2011)
@@ -76,19 +76,30 @@
 
 # Detect the host OS.
 windows = False
-if os.environ.get('OS', '').lower().startswith('windows') or \
- os.__dict__.has_key('uname') and \
- os.uname()[0].lower().startswith('cygwin'):
+cygwin = False
+if os.environ.get('OS', '').lower().startswith('windows'):
     windows = True
 
+if os.__dict__.has_key('uname') and \
+ os.uname()[0].lower().startswith('cygwin'):
+ windows = True
+ cygwin = True
 
 suffixes = {}
 
 
+# Configuration stating whether Boost Build is expected to automatically prepend
+# prefixes to built library targets.
+lib_prefix = "lib"
+dll_prefix = "lib"
+
 # Prepare the map of suffixes
 def prepare_suffix_map(toolset):
     global windows
     global suffixes
+ global cygwin
+ global lib_prefix
+ global dll_prefix
     suffixes = {'.exe': '', '.dll': '.so', '.lib': '.a', '.obj': '.o'}
     suffixes['.implib'] = '.no_implib_files_on_this_platform'
     if windows:
@@ -96,9 +107,19 @@
         if toolset in ["gcc"]:
             suffixes['.lib'] = '.a' # static libs have '.a' suffix with mingw...
             suffixes['.obj'] = '.o'
- suffixes['.implib'] = '.lib'
+ if cygwin:
+ suffixes['.implib'] = '.lib.a'
+ else:
+ suffixes['.implib'] = '.lib'
     if os.__dict__.has_key('uname') and (os.uname()[0] == 'Darwin'):
         suffixes['.dll'] = '.dylib'
+
+ lib_prefix = "lib"
+ dll_prefix = "lib"
+ if cygwin:
+ dll_prefix = "cyg"
+ elif windows and not toolset in ["gcc"]:
+ dll_prefix = None
 
 
 def re_remove(sequence, regex):
@@ -118,13 +139,6 @@
         sequence.remove(r)
 
 
-# Configuration stating whether Boost Build is expected to automatically prepend
-# prefixes to built library targets.
-lib_prefix = True
-dll_prefix = True
-if windows:
- dll_prefix = False
-
 
 #
 # FIXME: this is copy-pasted from TestSCons.py
@@ -795,6 +809,7 @@
 
     def adjust_lib_name(self, name):
         global lib_prefix
+ global dll_prefix
         result = name
 
         pos = string.rfind(name, ".")
@@ -803,12 +818,12 @@
             if suffix == ".lib":
                 (head, tail) = os.path.split(name)
                 if lib_prefix:
- tail = "lib" + tail
+ tail = lib_prefix + tail
                     result = os.path.join(head, tail)
             elif suffix == ".dll":
                 (head, tail) = os.path.split(name)
                 if dll_prefix:
- tail = "lib" + tail
+ tail = dll_prefix + tail
                     result = os.path.join(head, tail)
         # If we want to use this name in a Jamfile, we better convert \ to /, as
         # otherwise we would have to quote \.


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