SCons: Make BATCH options global sticky so libelf is built appropriately.
authorAli Saidi <saidi@eecs.umich.edu>
Tue, 8 Apr 2008 03:40:24 +0000 (23:40 -0400)
committerAli Saidi <saidi@eecs.umich.edu>
Tue, 8 Apr 2008 03:40:24 +0000 (23:40 -0400)
--HG--
extra : convert_revision : 4bca5c31b8421305d41aac072696964b39d7ff16

SConstruct
ext/libelf/SConscript

index f5c0b70df955f59c6f6e5ede4b563fe64536d27c..f47618cf6e41aeaffb53173f2f467b4b69526fae 100644 (file)
@@ -303,6 +303,8 @@ global_sticky_opts = Options(global_sticky_opts_file, args=ARGUMENTS)
 global_sticky_opts.AddOptions(
     ('CC', 'C compiler', os.environ.get('CC', env['CC'])),
     ('CXX', 'C++ compiler', os.environ.get('CXX', env['CXX'])),
+    ('BATCH', 'Use batch pool for build and tests', False),
+    ('BATCH_CMD', 'Batch pool submission command name', 'qdo'),
     ('EXTRAS', 'Add Extra directories to the compilation', '',
      PathListAllExist, PathListMakeAbsolute)
     )    
@@ -369,6 +371,12 @@ else:
     print '       Please fix SConstruct and src/SConscript and try again.'
     Exit(1)
 
+# Do this after we save setting back, or else we'll tack on an
+# extra 'qdo' every time we run scons.
+if env['BATCH']:
+    env['CC']  = env['BATCH_CMD'] + ' ' + env['CC']
+    env['CXX'] = env['BATCH_CMD'] + ' ' + env['CXX']
+
 if sys.platform == 'cygwin':
     # cygwin has some header file issues...
     env.Append(CCFLAGS=Split("-Wno-uninitialized"))
@@ -437,7 +445,6 @@ try:
             env.Append(CFLAGS='-arch x86_64')
             env.Append(LINKFLAGS='-arch x86_64')
             env.Append(ASFLAGS='-arch x86_64')
-            env['OSX64bit'] = True
 except:
     pass
 
@@ -592,8 +599,6 @@ sticky_opts.AddOptions(
     BoolOption('USE_MYSQL', 'Use MySQL for stats output', have_mysql),
     BoolOption('USE_FENV', 'Use <fenv.h> IEEE mode control', have_fenv),
     BoolOption('USE_CHECKER', 'Use checker for detailed CPU models', False),
-    BoolOption('BATCH', 'Use batch pool for build and tests', False),
-    ('BATCH_CMD', 'Batch pool submission command name', 'qdo'),
     ('PYTHONHOME',
      'Override the default PYTHONHOME for this system (use with caution)',
      '%s:%s' % (sys.prefix, sys.exec_prefix)),
@@ -819,12 +824,6 @@ for build_path in build_paths:
     # Save sticky option settings back to current options file
     sticky_opts.Save(current_opts_file, env)
 
-    # Do this after we save setting back, or else we'll tack on an
-    # extra 'qdo' every time we run scons.
-    if env['BATCH']:
-        env['CC']  = env['BATCH_CMD'] + ' ' + env['CC']
-        env['CXX'] = env['BATCH_CMD'] + ' ' + env['CXX']
-
     if env['USE_SSE2']:
         env.Append(CCFLAGS='-msse2')
 
index 3d35b0c07e1c6a939a180edd74757ce6caba293b..3db526c13f1011d15b3d1021d3796618966dc75f 100644 (file)
@@ -87,16 +87,9 @@ ElfFile('libelf_convert.c')
 ElfFile('libelf_fsize.c')
 ElfFile('libelf_msize.c')
 
-m4env = Environment(ENV=os.environ)
-
-if env.get('CC'):
-    m4env['CC'] = env['CC']
-if env.get('CXX'):
-    m4env['CXX'] = env['CXX']
-
-if env.get('OSX64bit'):
-    m4env.Append(CFLAGS='-arch x86_64')
-    m4env.Append(LINKFLAGS='-arch x86_64')
+m4env = env.Copy()
+del m4env['CCFLAGS']
+del m4env['CPPPATH']
 
 # If we have gm4 use it
 if m4env.Detect('gm4'):