MacPorts clang version selection, and OpenMP linking fix.

This commit is contained in:
bruvzg 2017-12-14 20:41:50 +02:00
parent e1b374d5b6
commit 0571a36152
No known key found for this signature in database
GPG Key ID: 89DD917D9CE4218D
3 changed files with 13 additions and 12 deletions

View File

@ -169,7 +169,7 @@ opts.Add(EnumVariable('warnings', "Set the level of warnings emitted during comp
opts.Add(BoolVariable('progress', "Show a progress indicator during build", True)) opts.Add(BoolVariable('progress', "Show a progress indicator during build", True))
opts.Add(BoolVariable('dev', "If yes, alias for verbose=yes warnings=all", False)) opts.Add(BoolVariable('dev', "If yes, alias for verbose=yes warnings=all", False))
opts.Add(BoolVariable('openmp', "If yes, enable OpenMP", True)) opts.Add(BoolVariable('openmp', "If yes, enable OpenMP", True))
opts.Add(BoolVariable('macports_clang', "Build using clang-5.0 from MacPorts", False)) opts.Add(EnumVariable('macports_clang', "Build using clang from MacPorts", 'no', ('no', '5.0', 'devel')))
# Thirdparty libraries # Thirdparty libraries
opts.Add(BoolVariable('builtin_enet', "Use the builtin enet library", True)) opts.Add(BoolVariable('builtin_enet', "Use the builtin enet library", True))

View File

@ -4,9 +4,10 @@ import os
Import('env') Import('env')
def make_debug(target, source, env): def make_debug(target, source, env):
if (env["macports_clang"]): if (env["macports_clang"] != 'no'):
mpprefix = os.environ.get("MACPORTS_PREFIX", "/opt/local") mpprefix = os.environ.get("MACPORTS_PREFIX", "/opt/local")
os.system(mpprefix + '/libexec/llvm-5.0/bin/llvm-dsymutil %s -o %s.dSYM' % (target[0], target[0])) mpclangver = env["macports_clang"]
os.system(mpprefix + '/libexec/llvm-' + mpclangver + '/bin/llvm-dsymutil %s -o %s.dSYM' % (target[0], target[0]))
else: else:
os.system('dsymutil %s -o %s.dSYM' % (target[0], target[0])) os.system('dsymutil %s -o %s.dSYM' % (target[0], target[0]))

View File

@ -72,19 +72,19 @@ def configure(env):
else: # 64-bit, default else: # 64-bit, default
env.Append(CCFLAGS=['-arch', 'x86_64']) env.Append(CCFLAGS=['-arch', 'x86_64'])
env.Append(LINKFLAGS=['-arch', 'x86_64']) env.Append(LINKFLAGS=['-arch', 'x86_64'])
if (env["macports_clang"]): if (env["macports_clang"] != 'no'):
mpprefix = os.environ.get("MACPORTS_PREFIX", "/opt/local") mpprefix = os.environ.get("MACPORTS_PREFIX", "/opt/local")
env["CC"] = mpprefix + "/libexec/llvm-5.0/bin/clang" mpclangver = env["macports_clang"]
env["LD"] = mpprefix + "/libexec/llvm-5.0/bin/clang++" env["CC"] = mpprefix + "/libexec/llvm-" + mpclangver + "/bin/clang"
env["CXX"] = mpprefix + "/libexec/llvm-5.0/bin/clang++" env["LD"] = mpprefix + "/libexec/llvm-" + mpclangver + "/bin/clang++"
env['AR'] = mpprefix + "/libexec/llvm-5.0/bin/llvm-ar" env["CXX"] = mpprefix + "/libexec/llvm-" + mpclangver + "/bin/clang++"
env['RANLIB'] = mpprefix + "/libexec/llvm-5.0/bin/llvm-ranlib" env['AR'] = mpprefix + "/libexec/llvm-" + mpclangver + "/bin/llvm-ar"
env['AS'] = mpprefix + "/libexec/llvm-5.0/bin/llvm-as" env['RANLIB'] = mpprefix + "/libexec/llvm-" + mpclangver + "/bin/llvm-ranlib"
env['AS'] = mpprefix + "/libexec/llvm-" + mpclangver + "/bin/llvm-as"
env.Append(CCFLAGS=['-D__MACPORTS__']) #hack to fix libvpx MM256_BROADCASTSI128_SI256 define env.Append(CCFLAGS=['-D__MACPORTS__']) #hack to fix libvpx MM256_BROADCASTSI128_SI256 define
if (env["openmp"]): if (env["openmp"]):
env.Append(CPPFLAGS=['-fopenmp']) env.Append(CPPFLAGS=['-fopenmp'])
env.Append(LINKFLAGS=['-L' + mpprefix + '/lib/libomp/']) env.Append(LINKFLAGS=['-fopenmp'])
env.Append(LIBS=['gomp'])
else: # osxcross build else: # osxcross build
root = os.environ.get("OSXCROSS_ROOT", 0) root = os.environ.get("OSXCROSS_ROOT", 0)