From 31af139b8a20b975430974a638e957b61cd4cf23 Mon Sep 17 00:00:00 2001 From: Steven Knight Date: Fri, 30 Jul 2004 13:05:28 +0000 Subject: Move LIB{PREFIX,SUFFIX} definitions from the Platform modules to individual Tool modules. (Chris Murray) --- doc/man/scons.1 | 10 ++++++++++ src/CHANGES.txt | 4 ++++ src/engine/SCons/Tool/ar.py | 2 ++ src/engine/SCons/Tool/mslib.py | 2 ++ src/engine/SCons/Tool/mslink.py | 4 ++-- src/engine/SCons/Tool/msvc.py | 4 ++++ src/engine/SCons/Tool/sgiar.py | 2 ++ src/engine/SCons/Tool/sunar.py | 2 ++ src/engine/SCons/Tool/tlib.py | 2 ++ 9 files changed, 30 insertions(+), 2 deletions(-) diff --git a/doc/man/scons.1 b/doc/man/scons.1 index b3e4ad4..9dff843 100644 --- a/doc/man/scons.1 +++ b/doc/man/scons.1 @@ -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. diff --git a/src/CHANGES.txt b/src/CHANGES.txt index 9447c52..5042043 100644 --- a/src/CHANGES.txt +++ b/src/CHANGES.txt @@ -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. diff --git a/src/engine/SCons/Tool/ar.py b/src/engine/SCons/Tool/ar.py index 0522adc..ab232ee 100644 --- a/src/engine/SCons/Tool/ar.py +++ b/src/engine/SCons/Tool/ar.py @@ -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') diff --git a/src/engine/SCons/Tool/mslib.py b/src/engine/SCons/Tool/mslib.py index 1075c56..45712dc 100644 --- a/src/engine/SCons/Tool/mslib.py +++ b/src/engine/SCons/Tool/mslib.py @@ -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: diff --git a/src/engine/SCons/Tool/mslink.py b/src/engine/SCons/Tool/mslink.py index c44e62b..0c7b7dc 100644 --- a/src/engine/SCons/Tool/mslink.py +++ b/src/engine/SCons/Tool/mslink.py @@ -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) diff --git a/src/engine/SCons/Tool/msvc.py b/src/engine/SCons/Tool/msvc.py index 5ab3779..ae67fdc 100644 --- a/src/engine/SCons/Tool/msvc.py +++ b/src/engine/SCons/Tool/msvc.py @@ -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) diff --git a/src/engine/SCons/Tool/sgiar.py b/src/engine/SCons/Tool/sgiar.py index 1409d03..010f090 100644 --- a/src/engine/SCons/Tool/sgiar.py +++ b/src/engine/SCons/Tool/sgiar.py @@ -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') diff --git a/src/engine/SCons/Tool/sunar.py b/src/engine/SCons/Tool/sunar.py index 36a6984..66053e7 100644 --- a/src/engine/SCons/Tool/sunar.py +++ b/src/engine/SCons/Tool/sunar.py @@ -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') diff --git a/src/engine/SCons/Tool/tlib.py b/src/engine/SCons/Tool/tlib.py index 4a70c14..ec80a21 100644 --- a/src/engine/SCons/Tool/tlib.py +++ b/src/engine/SCons/Tool/tlib.py @@ -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) -- cgit v0.12