summaryrefslogtreecommitdiff
path: root/SConstruct
diff options
context:
space:
mode:
authorKorey Sewell <ksewell@umich.edu>2007-11-15 00:14:20 -0500
committerKorey Sewell <ksewell@umich.edu>2007-11-15 00:14:20 -0500
commit375ddf8d25c3d81a77bd5dd7b70f84a0dbe48fe8 (patch)
tree525cf56502718b69fb7f0e78162a8d5e63256489 /SConstruct
parent2820a448e2bcb861d099b1256087004462b78895 (diff)
parent7c8e4ca3a3b66becbc3e4e7b5e106f5c44b09b6f (diff)
downloadgem5-375ddf8d25c3d81a77bd5dd7b70f84a0dbe48fe8.tar.xz
branch merge
--HG-- extra : convert_revision : 1c56f3c6f2c50d642d2de5ddde83a55234455cec
Diffstat (limited to 'SConstruct')
-rw-r--r--SConstruct20
1 files changed, 19 insertions, 1 deletions
diff --git a/SConstruct b/SConstruct
index 4bd787b1d..c87ac50f5 100644
--- a/SConstruct
+++ b/SConstruct
@@ -65,7 +65,6 @@
import sys
import os
-import subprocess
from os.path import isdir, join as joinpath
@@ -77,6 +76,10 @@ from os.path import isdir, join as joinpath
# scons script, e.g., "/usr/local/bin/python2.4 `which scons` [args]".
EnsurePythonVersion(2,4)
+# Import subprocess after we check the version since it doesn't exist in
+# Python < 2.4.
+import subprocess
+
# Ironically, SCons 0.96 dies if you give EnsureSconsVersion a
# 3-element version number.
min_scons_version = (0,96,91)
@@ -329,6 +332,21 @@ conf = Configure(env,
conf_dir = joinpath(build_root, '.scons_config'),
log_file = joinpath(build_root, 'scons_config.log'))
+# Check if we should compile a 64 bit binary on Mac OS X/Darwin
+try:
+ import platform
+ uname = platform.uname()
+ if uname[0] == 'Darwin' and compare_versions(uname[2], '9.0.0') >= 0:
+ if int(subprocess.Popen('sysctl -n hw.cpu64bit_capable', shell=True,
+ stdout=subprocess.PIPE, stderr=subprocess.STDOUT,
+ close_fds=True).communicate()[0][0]):
+ env.Append(CCFLAGS='-arch x86_64')
+ env.Append(CFLAGS='-arch x86_64')
+ env.Append(LINKFLAGS='-arch x86_64')
+ env.Append(ASFLAGS='-arch x86_64')
+except:
+ pass
+
# Recent versions of scons substitute a "Null" object for Configure()
# when configuration isn't necessary, e.g., if the "--help" option is
# present. Unfortuantely this Null object always returns false,