Move LIB{PREFIX,SUFFIX} definitions from the Platform modules to individual Tool...
authorstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Fri, 30 Jul 2004 13:05:28 +0000 (13:05 +0000)
committerstevenknight <stevenknight@fdb21ef1-2011-0410-befe-b5e4ea1792b1>
Fri, 30 Jul 2004 13:05:28 +0000 (13:05 +0000)
git-svn-id: http://scons.tigris.org/svn/scons/trunk@1013 fdb21ef1-2011-0410-befe-b5e4ea1792b1

doc/man/scons.1
src/CHANGES.txt
src/engine/SCons/Tool/ar.py
src/engine/SCons/Tool/mslib.py
src/engine/SCons/Tool/mslink.py
src/engine/SCons/Tool/msvc.py
src/engine/SCons/Tool/sgiar.py
src/engine/SCons/Tool/sunar.py
src/engine/SCons/Tool/tlib.py

index b3e4ad47117b80e7c52d7fc107755dc11ad60f67..9dff843a0761dca73cf7069e8d4ccae741daef56 100644 (file)
@@ -5143,6 +5143,11 @@ env = Environment(LINKCOM="my_linker $_LIBDIRFLAGS $_LIBFLAGS -o $TARGET $SOURCE
 
 .IP LIBPREFIX
 The prefix used for (static) library file names.
+A default value is set for each platform
+(posix, win32, os2, etc.),
+but the value is overridden by individual tools
+(ar, mslib, sgiar, sunar, tlib, etc.)
+to reflect the names of the libraries they create.
 
 .IP LIBPREFIXES
 An array of legal prefixes for library file names.
@@ -5174,6 +5179,11 @@ env = Environment(LINKCOM="my_linker $_LIBDIRFLAGS $_LIBFLAGS -o $TARGET $SOURCE
 
 .IP LIBSUFFIX 
 The suffix used for (static) library file names.
+A default value is set for each platform
+(posix, win32, os2, etc.),
+but the value is overridden by individual tools
+(ar, mslib, sgiar, sunar, tlib, etc.)
+to reflect the names of the libraries they create.
 
 .IP LIBSUFFIXES
 An array of legal suffixes for library file names.
index 9447c529fd18557a47f2eac1504d84090c21884e..5042043437ff8b8e57db21420e840d48dc3171f6 100644 (file)
@@ -158,6 +158,10 @@ RELEASE 0.96 - XXX
     variables for when different compilers/flags/etc. must be specified
     for different Fortran versions.
 
+  - Have individual tools that create libraries override the default
+    $LIBPREFIX and $LIBSUFFIX values set by the platform.  This makes
+    it easier to use Microsoft Visual Studio tools on a CygWin platform.
+
   From Gary Oberbrunner:
 
   - Add a --debug=presub option to print actions prior to substitution.
index 0522adc60fd11b864a4b77d7c3ae1f279892094b..ab232eeb603fcd7e840f75a8c7d5a402a76375e6 100644 (file)
@@ -51,6 +51,8 @@ def generate(env):
     env['RANLIB']      = ranlib
     env['RANLIBFLAGS'] = SCons.Util.CLVar('')
     env['ARCOM']       = arcom
+    env['LIBPREFIX']   = 'lib'
+    env['LIBSUFFIX']   = '.a'
 
 def exists(env):
     return env.Detect('ar')
index 1075c56d93f913a50b76c0cc9a00a1c485456c6b..45712dc78b83ea2e4c666e9643f9868617777ac8 100644 (file)
@@ -60,6 +60,8 @@ def generate(env):
     env['AR']          = 'lib'
     env['ARFLAGS']     = SCons.Util.CLVar('/nologo')
     env['ARCOM']       = "${TEMPFILE('$AR $ARFLAGS /OUT:$TARGET $SOURCES')}"
+    env['LIBPREFIX']   = ''
+    env['LIBSUFFIX']   = '.lib'
 
 def exists(env):
     try:
index c44e62b6a43b1eab9124db685fbc3bf539224d26..0c7b7dcd3a37c9ec840280c9b9ee5953bcb26034 100644 (file)
@@ -143,7 +143,7 @@ def generate(env):
     env['LINK']        = 'link'
     env['LINKFLAGS']   = SCons.Util.CLVar('/nologo')
     env['_PDB'] = pdbGenerator
-    env['LINKCOM'] = '${TEMPFILE("$LINK $LINKFLAGS /OUT:$TARGET $( $_LIBDIRFLAGS $) $_LIBFLAGS $_PDB $SOURCES")}'
+    env['LINKCOM'] = '${TEMPFILE("$LINK $LINKFLAGS /OUT:$TARGET.win32 $( $_LIBDIRFLAGS $) $_LIBFLAGS $_PDB $SOURCES.win32")}'
     env.Append(PROGEMITTER = [prog_emitter])
     env['LIBDIRPREFIX']='/LIBPATH:'
     env['LIBDIRSUFFIX']=''
@@ -160,7 +160,7 @@ def generate(env):
     env['REGSVRACTION'] = regServerCheck
     env['REGSVR'] = os.path.join(SCons.Platform.win32.get_system_root(),'System32','regsvr32')
     env['REGSVRFLAGS'] = '/s '
-    env['REGSVRCOM'] = '$REGSVR $REGSVRFLAGS $TARGET'
+    env['REGSVRCOM'] = '$REGSVR $REGSVRFLAGS ${TARGET.win32}'
 
     try:
         version = SCons.Tool.msvs.get_default_visualstudio_version(env)
index 5ab3779d9895138a7a301b670d56ba8ee3435bb2..ae67fdccc927b6d7499624a3558e63230f02d126 100644 (file)
@@ -445,6 +445,10 @@ def generate(env):
     env['RCFLAGS'] = SCons.Util.CLVar('')
     env['RCCOM'] = '$RC $_CPPDEFFLAGS $_CPPINCFLAGS $RCFLAGS /fo$TARGET $SOURCES'
     env['BUILDERS']['RES'] = res_builder
+    env['OBJPREFIX']      = ''
+    env['OBJSUFFIX']      = '.obj'
+    env['SHOBJPREFIX']    = '$OBJPREFIX'
+    env['SHOBJSUFFIX']    = '$OBJSUFFIX'
 
     try:
         version = SCons.Tool.msvs.get_default_visualstudio_version(env)
index 1409d03a2a5694e957b8741978aa48dca9e42ca1..010f0906d25f52ccf224fca23443f1d505bed7ce 100644 (file)
@@ -55,6 +55,8 @@ def generate(env):
     env['SHLINK']      = '$LINK'
     env['SHLINKFLAGS'] = SCons.Util.CLVar('$LINKFLAGS -shared')
     env['SHLINKCOM']   = '$SHLINK $SHLINKFLAGS -o $TARGET $SOURCES $_LIBDIRFLAGS $_LIBFLAGS'
+    env['LIBPREFIX']   = 'lib'
+    env['LIBSUFFIX']   = '.a'
 
 def exists(env):
     return env.Detect('CC') or env.Detect('ar')
index 36a69842bdeb13495a8024a79ee43327fd79946e..66053e7cc933eb0f6fc55119691777d5f28f3f10 100644 (file)
@@ -54,6 +54,8 @@ def generate(env):
     env['SHLINK']      = '$LINK'
     env['SHLINKFLAGS'] = SCons.Util.CLVar('$LINKFLAGS -G')
     env['SHLINKCOM']   = '$SHLINK $SHLINKFLAGS -o $TARGET $SOURCES $_LIBDIRFLAGS $_LIBFLAGS'
+    env['LIBPREFIX']   = 'lib'
+    env['LIBSUFFIX']   = '.a'
 
 def exists(env):
     return env.Detect('CC') or env.Detect('ar')
index 4a70c14bc7a2018301ff25c7edb475781c109507..ec80a214b8c9e0b33ff9a1d949f17cc47a752308 100644 (file)
@@ -40,6 +40,8 @@ def generate(env):
     env['AR']          = 'tlib'
     env['ARFLAGS']     = SCons.Util.CLVar('')
     env['ARCOM']       = '$AR $TARGET $ARFLAGS /a $SOURCES'
+    env['LIBPREFIX']   = ''
+    env['LIBSUFFIX']   = '.lib'
 
 def exists(env):
     return SCons.Tool.bcc32.findIt('tlib', env)