diff options
| author | Remko Tronçon <git@el-tramo.be> | 2011-12-27 13:42:25 (GMT) |
|---|---|---|
| committer | Remko Tronçon <git@el-tramo.be> | 2011-12-27 13:42:25 (GMT) |
| commit | b01f65e011503a76c5f3ef6272f7ff77afb2bd7e (patch) | |
| tree | fe6f032668ca88a538cefc0ed93b5f62715f131f /BuildTools/SCons | |
| parent | c060049e759571ae02a3a970c6a3088e099e5c9f (diff) | |
| download | swift-contrib-b01f65e011503a76c5f3ef6272f7ff77afb2bd7e.zip swift-contrib-b01f65e011503a76c5f3ef6272f7ff77afb2bd7e.tar.bz2 | |
Tweaked build flags.
Diffstat (limited to 'BuildTools/SCons')
| -rw-r--r-- | BuildTools/SCons/SConscript.boot | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/BuildTools/SCons/SConscript.boot b/BuildTools/SCons/SConscript.boot index 2463d6c..2ea05db 100644 --- a/BuildTools/SCons/SConscript.boot +++ b/BuildTools/SCons/SConscript.boot @@ -209,90 +209,94 @@ if env["PLATFORM"] == "win32" : if env["PLATFORM"] == "darwin" and not env["target"] in ["iphone-device", "iphone-simulator", "xcode"] : env.Append(FRAMEWORKS = ["IOKit", "AppKit", "SystemConfiguration"]) # Testing env["TEST_TYPE"] = env["test"] if "check" in ARGUMENTS : env["TEST_TYPE"] = "unit" env["checker_report"] = ARGUMENTS.get("checker_report", False) env["TEST"] = (env["TEST_TYPE"] != "none") or env.GetOption("clean") if env.get("valgrind", 0) : env["TEST_RUNNER"] = "valgrind --suppressions=QA/valgrind.supp -q --leak-check=full --track-origins=yes " env["TEST_IGNORE_RESULT"] = "ignore_test_result" in ARGUMENTS env["TEST_CREATE_LIBRARIES"] = "create_test_libraries" in ARGUMENTS # Packaging env["DIST"] = "dist" in ARGUMENTS or env.GetOption("clean") for path in ["SWIFT_INSTALLDIR", "SWIFTEN_INSTALLDIR"] : if ARGUMENTS.get(path, "") : if os.path.isabs(ARGUMENTS[path]) : env[path] = Dir(ARGUMENTS[path]).abspath else : env[path] = Dir("#/" + ARGUMENTS[path]).abspath ################################################################################ # XCode / iPhone / ... ################################################################################ target = env["target"] if target in ["iphone-device", "iphone-simulator", "xcode"] : # Extract/initialize all the information we need if target == "xcode" : # Get the information from the XCode environment env["XCODE_PLATFORM_DEVELOPER_BIN_DIR"] = os.environ["PLATFORM_DEVELOPER_BIN_DIR"] env["XCODE_SDKROOT"] = os.environ["SDKROOT"] env["XCODE_ARCH_FLAGS"] = sum([["-arch", arch] for arch in os.environ["ARCHS"].split(" ")], []) - # Usae absolute path sources so Xcode can highlight compilation errors in swiften + env["IPHONEOS_DEPLOYMENT_TARGET"] = os.environ["IPHONEOS_DEPLOYMENT_TARGET"] + # Use absolute path sources so Xcode can highlight compilation errors in swiften env['CXXCOM'] = '$CXX -o $TARGET -c $CXXFLAGS $CCFLAGS $_CCCOMCOM ${SOURCES.abspath}' else : # Hard code values env["XCODE_PLATFORM_DEVELOPER_BIN_DIR"] = "/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin" if target == "iphone-device": env["XCODE_ARCH_FLAGS"] = ["-arch", "armv6", "-arch", "armv7"] sdkPart = "iPhoneOS" else : env["XCODE_ARCH_FLAGS"] = ["-arch", "i386"] sdkPart = "iPhoneSimulator" sdkVer = "4.3" env["XCODE_SDKROOT"] = "/Developer/Platforms/" + sdkPart + ".platform/Developer/SDKs/" + sdkPart + sdkVer + ".sdk" + env["IPHONEOS_DEPLOYMENT_TARGET"] = "4.1" # Set the build flags env["CC"] = "$XCODE_PLATFORM_DEVELOPER_BIN_DIR/gcc" env["CXX"] = "$XCODE_PLATFORM_DEVELOPER_BIN_DIR/g++" env["OBJCCFLAGS"] = ["-fobjc-abi-version=2", "-fobjc-legacy-dispatch"] env["LD"] = env["CC"] - env.Append(CCFLAGS = env["XCODE_ARCH_FLAGS"] + ["-fvisibility=hidden"]) + env.Append(CCFLAGS = env["XCODE_ARCH_FLAGS"] + ["-fvisibility=hidden", "-miphoneos-version-min=" + env["IPHONEOS_DEPLOYMENT_TARGET"]]) + if os.environ.get("GCC_THUMB_SUPPORT", False) : + env.Append(CCFLAGS = ["-mthumb"]) env.Append(LINKFLAGS = env["XCODE_ARCH_FLAGS"]) env.Append(CPPFLAGS = ["-isysroot", "$XCODE_SDKROOT"]) env.Append(FRAMEWORKS = ["CoreFoundation", "Foundation", "UIKit", "CoreGraphics"]) env.Append(LINKFLAGS = env["XCODE_ARCH_FLAGS"] + ["-isysroot", "$XCODE_SDKROOT", "-L\"$XCODE_SDKROOT/usr/lib\"", "-F\"$XCODE_SDKROOT/System/Library/Frameworks\"", "-F\"$XCODE_SDKROOT/System/Library/PrivateFrameworks\""]) # Bit of a hack, because BOOST doesn't know the endianness for ARM env.Append(CPPDEFINES = ["_LITTLE_ENDIAN"]) # CCache if env.get("ccache", False) : env["ENV"]["HOME"] = os.environ["HOME"] for var in os.environ : if var.startswith("CCACHE_") : env["ENV"][var] = os.environ[var] if env.get("CC", "") != "" : env["CC"] = "ccache " + env["CC"] else : env["CC"] = "ccache gcc" if env.get("CXX", "") != "" : env["CXX"] = "ccache " + env["CXX"] else : env["CC"] = "ccache g++" conf_env = env.Clone() Export("env") Export("conf_env") variant = "" if env["enable_variants"] : fingerprint = ",".join([flag for flag in env["CXXFLAGS"] + env["CCFLAGS"] if not flag.startswith("-W") and not flag.startswith("-fvisibility")]) variant = "build/" + fingerprint if not os.path.exists(Dir("#/build").abspath) : os.mkdir(Dir("#/build").abspath) if os.path.exists(Dir("#/build/current").abspath) : os.unlink(Dir("#/build/current").abspath) |
Swift