specified above for the
.B StaticObject
builder.
-The target object file prefix
-(specified by the $OBJPREFIX construction variable; nothing by default)
+The target shared object file prefix
+(specified by the $SHOBJPREFIX construction variable;
+by default, the same as $OBJPREFIX)
and suffix
-(specified by the $OBJSUFFIX construction variable;
-\.obj on Windows systems, .o on POSIX systems)
+(specified by the $SHOBJSUFFIX construction variable;
+by default, the same as $OBJSUFFIX)
are automatically added to the target if not already present.
Examples:
The command line used to link object files into an executable.
.IP OBJPREFIX
-The prefix used for object file names.
+The prefix used for (static) object file names.
.IP OBJSUFFIX
-The suffix used for object file names.
+The suffix used for (static) object file names.
.IP PDFCOM
The command line used to convert TeX DVI files into a PDF file.
.IP SHLINKFLAGS
General options passed to the linker for programs using shared libraries.
+.IP SHOBJPREFIX
+The prefix used for shared object file names.
+
+.IP SHOBJSUFFIX
+The suffix used for shared object file names.
+
.IP TAR
The tar archiver.
...," "done reading SConscript files," "Building targets," and
"done building targets."
+ - Add separate $SHOBJPREFIX and $SHOBJSUFFIX construction variables
+ (by default, the same as $OBJPREFIX and $OBJSUFFIX).
+
From Jeff Petkau:
- Fix interpretation of '#/../foo' on Win32 systems.
def SharedObject():
"""A function for generating the shared object Builder."""
return SCons.Builder.Builder(action = {},
- prefix = '$OBJPREFIX',
- suffix = '$OBJSUFFIX',
+ prefix = '$SHOBJPREFIX',
+ suffix = '$SHOBJSUFFIX',
src_builder = ['CFile', 'CXXFile'])
ProgScan = SCons.Scanner.Prog.ProgScan()
prefix = '$SHLIBPREFIX',
suffix = '$SHLIBSUFFIX',
scanner = ProgScan,
- src_suffix = '$OBJSUFFIX',
+ src_suffix = '$SHOBJSUFFIX',
src_builder = 'SharedObject')
def DVI():
env['ENV']['PATH'] = '/usr/local/bin:/bin:/usr/bin'
env['OBJPREFIX'] = ''
env['OBJSUFFIX'] = '.o'
+ env['SHOBJPREFIX'] = '$OBJPREFIX'
+ env['SHOBJSUFFIX'] = '$OBJSUFFIX'
env['PROGPREFIX'] = ''
env['PROGSUFFIX'] = '.exe'
env['LIBPREFIX'] = 'lib'
env['ENV'] = {}
env['OBJPREFIX'] = ''
env['OBJSUFFIX'] = '.obj'
+ env['SHOBJPREFIX'] = '$OBJPREFIX'
+ env['SHOBJSUFFIX'] = '$OBJSUFFIX'
env['PROGPREFIX'] = ''
env['PROGSUFFIX'] = '.exe'
env['LIBPREFIX'] = ''
env['ENV']['PATH'] = '/usr/local/bin:/bin:/usr/bin'
env['OBJPREFIX'] = ''
env['OBJSUFFIX'] = '.o'
+ env['SHOBJPREFIX'] = '$OBJPREFIX'
+ env['SHOBJSUFFIX'] = '$OBJSUFFIX'
env['PROGPREFIX'] = ''
env['PROGSUFFIX'] = ''
env['LIBPREFIX'] = 'lib'
env['ENV']['PATHEXT'] = '.COM;.EXE;.BAT;.CMD'
env['OBJPREFIX'] = ''
env['OBJSUFFIX'] = '.obj'
+ env['SHOBJPREFIX'] = '$OBJPREFIX'
+ env['SHOBJSUFFIX'] = '$OBJSUFFIX'
env['PROGPREFIX'] = ''
env['PROGSUFFIX'] = '.exe'
env['LIBPREFIX'] = ''