summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Schwerin <schwerin@10gen.com>2012-01-18 14:10:11 -0800
committerAndy Schwerin <schwerin@10gen.com>2012-01-18 14:17:12 -0800
commitdcb8445b554bb63264254a6e0df11766392f1ee2 (patch)
tree213df40ef0212a7c0903f0da9172b319d6d38456
parent826d964c31f7a96c43f0467b85ff6b23f66fad68 (diff)
downloadmongo-dcb8445b554bb63264254a6e0df11766392f1ee2.tar.gz
SCons: Fix Solaris 64-bit support.
-rw-r--r--SConstruct8
-rw-r--r--site_scons/site_tools/mergelibposix.py2
2 files changed, 9 insertions, 1 deletions
diff --git a/SConstruct b/SConstruct
index 9a596ba0358..c46d23ce6c3 100644
--- a/SConstruct
+++ b/SConstruct
@@ -294,6 +294,14 @@ elif env['PYSYSPLATFORM'] == 'darwin':
env['RELOBJ_LIBDEPS_START'] = '-all_load'
env['RELOBJ_LIBDEPS_END'] = ''
env['RELOBJ_LIBDEPS_ITEM'] = ''
+elif env['PYSYSPLATFORM'].startswith('sunos'):
+ if force64:
+ env['RELOBJFLAGS'] = ['-64']
+ env['LINK_LIBGROUP_START'] = '-z rescan'
+ env['LINK_LIBGROUP_END'] = ''
+ env['RELOBJ_LIBDEPS_START'] = '-z allextract'
+ env['RELOBJ_LIBDEPS_END'] = '-z defaultextract'
+ env['RELOBJ_LIBDEPS_ITEM'] = ''
env["LIBPATH"] = []
diff --git a/site_scons/site_tools/mergelibposix.py b/site_scons/site_tools/mergelibposix.py
index 82807ed6b4f..d93dbaf3ae5 100644
--- a/site_scons/site_tools/mergelibposix.py
+++ b/site_scons/site_tools/mergelibposix.py
@@ -31,7 +31,7 @@ def exists( env ):
def generate( env ):
env['_RELOBJDEPSFLAGS'] = '$RELOBJ_LIBDEPS_START ${_concat("$RELOBJ_LIBDEPS_ITEM ", __env__.subst(_LIBDEPS, target=TARGET, source=SOURCE), "", __env__, target=TARGET, source=SOURCE)} $RELOBJ_LIBDEPS_END'
- env['RELOBJCOM'] = 'ld -o $TARGET -r $SOURCES $_RELOBJDEPSFLAGS'
+ env['RELOBJCOM'] = 'ld -o $TARGET $RELOBJFLAGS -r $SOURCES $_RELOBJDEPSFLAGS'
relobj_builder = Builder( action='$RELOBJCOM',
prefix="$OBJPREFIX",
suffix="$OBJSUFFIX",