Compiling: If possible compile a 64 bit binary on Mac OS X.
--HG-- extra : convert_revision : 23d7c3744bfb20adaa31c999e0478e9055b4f657
This commit is contained in:
parent
0673029689
commit
c01421a82d
1 changed files with 19 additions and 1 deletions
20
SConstruct
20
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,
|
||||
|
|
Loading…
Reference in a new issue