diff --git a/SConstruct b/SConstruct index 4f2df947c62..af1ffb544e7 100644 --- a/SConstruct +++ b/SConstruct @@ -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('dev', "If yes, alias for verbose=yes warnings=all", False)) 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 opts.Add(BoolVariable('builtin_enet', "Use the builtin enet library", True)) diff --git a/platform/osx/SCsub b/platform/osx/SCsub index 13ce14f040e..029e3d808c4 100644 --- a/platform/osx/SCsub +++ b/platform/osx/SCsub @@ -4,9 +4,10 @@ import os Import('env') def make_debug(target, source, env): - if (env["macports_clang"]): + if (env["macports_clang"] != 'no'): 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: os.system('dsymutil %s -o %s.dSYM' % (target[0], target[0])) diff --git a/platform/osx/detect.py b/platform/osx/detect.py index 77a4ee1a48c..e8a83194310 100644 --- a/platform/osx/detect.py +++ b/platform/osx/detect.py @@ -72,19 +72,19 @@ def configure(env): else: # 64-bit, default env.Append(CCFLAGS=['-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") - env["CC"] = mpprefix + "/libexec/llvm-5.0/bin/clang" - env["LD"] = mpprefix + "/libexec/llvm-5.0/bin/clang++" - env["CXX"] = mpprefix + "/libexec/llvm-5.0/bin/clang++" - env['AR'] = mpprefix + "/libexec/llvm-5.0/bin/llvm-ar" - env['RANLIB'] = mpprefix + "/libexec/llvm-5.0/bin/llvm-ranlib" - env['AS'] = mpprefix + "/libexec/llvm-5.0/bin/llvm-as" + mpclangver = env["macports_clang"] + env["CC"] = mpprefix + "/libexec/llvm-" + mpclangver + "/bin/clang" + env["LD"] = mpprefix + "/libexec/llvm-" + mpclangver + "/bin/clang++" + env["CXX"] = mpprefix + "/libexec/llvm-" + mpclangver + "/bin/clang++" + env['AR'] = mpprefix + "/libexec/llvm-" + mpclangver + "/bin/llvm-ar" + 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 if (env["openmp"]): env.Append(CPPFLAGS=['-fopenmp']) - env.Append(LINKFLAGS=['-L' + mpprefix + '/lib/libomp/']) - env.Append(LIBS=['gomp']) + env.Append(LINKFLAGS=['-fopenmp']) else: # osxcross build root = os.environ.get("OSXCROSS_ROOT", 0)