[llvm] 0dd2ffb - [gn build] make WindowsManifestMerger.cpp build fine with sysroot
Nico Weber via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 17 12:03:57 PST 2021
Author: Nico Weber
Date: 2021-02-17T15:03:46-05:00
New Revision: 0dd2ffb3921cc23970f113131435fb650d2f2d41
URL: https://github.com/llvm/llvm-project/commit/0dd2ffb3921cc23970f113131435fb650d2f2d41
DIFF: https://github.com/llvm/llvm-project/commit/0dd2ffb3921cc23970f113131435fb650d2f2d41.diff
LOG: [gn build] make WindowsManifestMerger.cpp build fine with sysroot
This already works in the cmake build.
Differential Revision: https://reviews.llvm.org/D96889
Added:
llvm/utils/gn/build/sysroot.gni
Modified:
llvm/utils/gn/build/BUILD.gn
llvm/utils/gn/build/libs/xml/BUILD.gn
Removed:
################################################################################
diff --git a/llvm/utils/gn/build/BUILD.gn b/llvm/utils/gn/build/BUILD.gn
index ecfd6f92d5dc..182963153f21 100644
--- a/llvm/utils/gn/build/BUILD.gn
+++ b/llvm/utils/gn/build/BUILD.gn
@@ -1,5 +1,6 @@
import("//llvm/utils/gn/build/buildflags.gni")
import("//llvm/utils/gn/build/mac_sdk.gni")
+import("//llvm/utils/gn/build/sysroot.gni")
import("//llvm/utils/gn/build/toolchain/compiler.gni")
import("//llvm/utils/gn/build/toolchain/target_flags.gni")
@@ -22,9 +23,6 @@ declare_args() {
# The version of host gcc. Ignored if is_clang is true.
gcc_version = 9
-
- # Path of sysroot to use.
- sysroot = ""
}
assert(!llvm_build_instrumented_coverage || is_clang,
@@ -292,6 +290,9 @@ config("compiler_defaults") {
cflags += [ "/winsysroot" + rebase_path(sysroot, root_build_dir) ]
} else {
cflags += [ "--sysroot=" + rebase_path(sysroot, root_build_dir) ]
+ if (is_clang) {
+ cflags += [ "-Wpoison-system-directories"]
+ }
}
}
diff --git a/llvm/utils/gn/build/libs/xml/BUILD.gn b/llvm/utils/gn/build/libs/xml/BUILD.gn
index 3af3c851698c..5d522645da59 100644
--- a/llvm/utils/gn/build/libs/xml/BUILD.gn
+++ b/llvm/utils/gn/build/libs/xml/BUILD.gn
@@ -1,5 +1,6 @@
import("//llvm/utils/gn/build/libs/xml/enable.gni")
import("//llvm/utils/gn/build/mac_sdk.gni")
+import("//llvm/utils/gn/build/sysroot.gni")
config("xml_config") {
visibility = [ ":xml" ]
@@ -7,7 +8,7 @@ config("xml_config") {
if (host_os == "mac") {
include_dirs = [ "$mac_sdk_path/usr/include/libxml2" ]
} else {
- include_dirs = [ "/usr/include/libxml2" ]
+ include_dirs = [ "$sysroot/usr/include/libxml2" ]
}
}
diff --git a/llvm/utils/gn/build/sysroot.gni b/llvm/utils/gn/build/sysroot.gni
new file mode 100644
index 000000000000..b1b4e74cea96
--- /dev/null
+++ b/llvm/utils/gn/build/sysroot.gni
@@ -0,0 +1,4 @@
+declare_args() {
+ # Path of sysroot to use.
+ sysroot = ""
+}
More information about the llvm-commits
mailing list