Adding default sysroot detection for MacOS 10.9 (and newer), which
allows working out of the box. Otherwise C standard headers are not found.
This commit is contained in:
26
alloy.py
26
alloy.py
@@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/python
|
#!/usr/bin/python
|
||||||
#
|
#
|
||||||
# Copyright (c) 2013, Intel Corporation
|
# Copyright (c) 2013-2014, Intel Corporation
|
||||||
# All rights reserved.
|
# All rights reserved.
|
||||||
#
|
#
|
||||||
# Redistribution and use in source and binary forms, with or without
|
# Redistribution and use in source and binary forms, with or without
|
||||||
@@ -138,6 +138,21 @@ def build_LLVM(version_LLVM, revision, folder, tarball, debug, selfbuild, extra,
|
|||||||
common.remove_if_exists(LLVM_SRC)
|
common.remove_if_exists(LLVM_SRC)
|
||||||
common.remove_if_exists(LLVM_BUILD)
|
common.remove_if_exists(LLVM_BUILD)
|
||||||
common.remove_if_exists(LLVM_BIN)
|
common.remove_if_exists(LLVM_BIN)
|
||||||
|
|
||||||
|
# Starting with MacOS 10.9 Maverics, we depend on XCode being installed, as it contains C and C++ library headers.
|
||||||
|
# sysroot trick below helps finding C headers. For C++ we just check out libc++ sources.
|
||||||
|
mac_system_root = ""
|
||||||
|
if current_OS == "MacOS" and int(current_OS_version.split(".")[0]) >= 13:
|
||||||
|
search_path = string.split(os.environ["PATH"], os.pathsep)
|
||||||
|
found_xcrun = False
|
||||||
|
for path in search_path:
|
||||||
|
if os.path.exists(os.path.join(path, "xcrun")):
|
||||||
|
found_xcrun = True
|
||||||
|
if found_xcrun:
|
||||||
|
mac_system_root = " --with-default-sysroot=`xcrun --show-sdk-path`"
|
||||||
|
else:
|
||||||
|
error("Can't find XCode (xcrun tool) - it's required on MacOS 10.9 and newer", 1)
|
||||||
|
|
||||||
if selfbuild:
|
if selfbuild:
|
||||||
common.remove_if_exists(LLVM_BUILD_selfbuild)
|
common.remove_if_exists(LLVM_BUILD_selfbuild)
|
||||||
common.remove_if_exists(LLVM_BIN_selfbuild)
|
common.remove_if_exists(LLVM_BIN_selfbuild)
|
||||||
@@ -212,7 +227,8 @@ def build_LLVM(version_LLVM, revision, folder, tarball, debug, selfbuild, extra,
|
|||||||
"../" + LLVM_SRC + "/configure --prefix=" + llvm_home + "/" +
|
"../" + LLVM_SRC + "/configure --prefix=" + llvm_home + "/" +
|
||||||
LLVM_BIN_selfbuild + " --enable-optimized" +
|
LLVM_BIN_selfbuild + " --enable-optimized" +
|
||||||
" --enable-targets=x86,x86_64" +
|
" --enable-targets=x86,x86_64" +
|
||||||
((" --with-gcc-toolchain=" + gcc_toolchain_path) if gcc_toolchain_path != "" else ""),
|
((" --with-gcc-toolchain=" + gcc_toolchain_path) if gcc_toolchain_path != "" else "") +
|
||||||
|
mac_system_root,
|
||||||
from_validation)
|
from_validation)
|
||||||
try_do_LLVM("build release version for selfbuild ",
|
try_do_LLVM("build release version for selfbuild ",
|
||||||
make, from_validation)
|
make, from_validation)
|
||||||
@@ -229,7 +245,8 @@ def build_LLVM(version_LLVM, revision, folder, tarball, debug, selfbuild, extra,
|
|||||||
"../" + LLVM_SRC + "/configure --prefix=" + llvm_home + "/" +
|
"../" + LLVM_SRC + "/configure --prefix=" + llvm_home + "/" +
|
||||||
LLVM_BIN + " --enable-optimized" + selfbuild_compiler +
|
LLVM_BIN + " --enable-optimized" + selfbuild_compiler +
|
||||||
" --enable-targets=x86,x86_64" +
|
" --enable-targets=x86,x86_64" +
|
||||||
((" --with-gcc-toolchain=" + gcc_toolchain_path) if gcc_toolchain_path != "" else ""),
|
((" --with-gcc-toolchain=" + gcc_toolchain_path) if gcc_toolchain_path != "" else "") +
|
||||||
|
mac_system_root,
|
||||||
from_validation)
|
from_validation)
|
||||||
else:
|
else:
|
||||||
try_do_LLVM("configure release version ",
|
try_do_LLVM("configure release version ",
|
||||||
@@ -241,7 +258,8 @@ def build_LLVM(version_LLVM, revision, folder, tarball, debug, selfbuild, extra,
|
|||||||
"../" + LLVM_SRC + "/configure --prefix=" + llvm_home + "/" + LLVM_BIN +
|
"../" + LLVM_SRC + "/configure --prefix=" + llvm_home + "/" + LLVM_BIN +
|
||||||
" --enable-debug-runtime --enable-debug-symbols --enable-keep-symbols" + selfbuild_compiler +
|
" --enable-debug-runtime --enable-debug-symbols --enable-keep-symbols" + selfbuild_compiler +
|
||||||
" --enable-targets=x86,x86_64" +
|
" --enable-targets=x86,x86_64" +
|
||||||
((" --with-gcc-toolchain=" + gcc_toolchain_path) if gcc_toolchain_path != "" else ""),
|
((" --with-gcc-toolchain=" + gcc_toolchain_path) if gcc_toolchain_path != "" else "") +
|
||||||
|
mac_system_root,
|
||||||
from_validation)
|
from_validation)
|
||||||
# building llvm
|
# building llvm
|
||||||
if current_OS != "Windows":
|
if current_OS != "Windows":
|
||||||
|
|||||||
Reference in New Issue
Block a user