[cig-commits] commit: Adding Mac fixes.
Mercurial
hg at geodynamics.org
Mon Nov 24 11:22:57 PST 2008
changeset: 60:1e9fabdc2314
user: LukeHodkinson
date: Thu Mar 27 23:29:56 2008 +0000
files: SConstruct
description:
Adding Mac fixes.
diff -r 0df0fc25deca -r 1e9fabdc2314 SConstruct
--- a/SConstruct Thu Mar 27 23:26:56 2008 +0000
+++ b/SConstruct Thu Mar 27 23:29:56 2008 +0000
@@ -13,13 +13,24 @@ if 'CC' in env['ENV']:
if 'CC' in env['ENV']:
env['CC'] = env['ENV']['CC']
+# Need to modify building shared libraries when on Mac OS X.
+if platform.system() == 'Darwin':
+ env.AppendUnique(SHLINKFLAGS=['-flat_namespace',
+ '-single_module',
+ '-undefined', 'suppress'])
+ import SCons.Util # And fix RPATHs.
+ env['LINKFLAGS'] = SCons.Util.CLVar('')
+ env['RPATHPREFIX'] = ''
+ env['RPATHSUFFIX'] = ''
+ env['_RPATH'] = ''
+
# Configuring or building? Or helping?
if 'config' in COMMAND_LINE_TARGETS or 'help' in COMMAND_LINE_TARGETS:
import packages
opts = Options() # Create our options database.
# Setup all the packages we want configured.
- env.Package(packages.stgMagma, opts)
+ env.Package(packages.stgMagma, opts, True)
# Displaying help?
if 'help' in COMMAND_LINE_TARGETS:
@@ -34,20 +45,20 @@ else:
# Prepare our construction environment.
env.load_config('config.cfg') # Load configuration.
SConscript('StgSCons', exports='env') # Setup our StG specific utils.
- if env['staticLibraries']: # Static libs or shared?
- env.library_builder = env.StaticLibrary
- else:
- env.library_builder = env.SharedLibrary
env.Default(env['buildPath']) # Needed for different build paths.
- if platform.system() == 'Darwin': # Need to modify building shared libraries when on Mac OS X.
- env.AppendUnique(SHLINKFLAGS=['-flat_namespace',
- '-single_module',
- '-undefined', 'suppress'])
- import SCons.Util # And fix RPATHs.
- env['LINKFLAGS'] = SCons.Util.CLVar('')
- env['RPATHPREFIX'] = ''
- env['RPATHSUFFIX'] = ''
- env['_RPATH'] = ''
+ env.Append(CPPDEFINES=['HAVE_SCONS'])
+
+ # Another Mac OS X hack.
+ if platform.system() == 'Darwin':
+ env['_abspath'] = lambda x: File(x).abspath
+ env.Append(SHLINKFLAGS=['-install_name', '${_abspath(TARGET)}'])
+
+ # Prepare library builders.
+ env.library_builders = []
+ if env['static_libraries']:
+ env.library_builders += [env.StaticLibrary]
+ if env['shared_libraries']:
+ env.library_builders += [env.SharedLibrary]
# Specify targets.
SConscript('StGermain/SConscript', exports='env')
More information about the CIG-COMMITS
mailing list