gn2bp: move sysroot include to cc_default
Order in local_include_dirs matter and -isystem is not supported.
export_system_include_dirs is properly ignored in cc_binary.
Test: none
Change-Id: I22c981727d2a9b11f5b041ef6c6a7b95a05cc030
diff --git a/tools/gn2bp/Android.bp.swp b/tools/gn2bp/Android.bp.swp
index f989cb0..3e44aa4 100644
--- a/tools/gn2bp/Android.bp.swp
+++ b/tools/gn2bp/Android.bp.swp
@@ -226,7 +226,6 @@
],
local_include_dirs: [
"third_party/android_ndk/sources/android/cpufeatures/",
- "third_party/android_ndk/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include",
],
},
host: {
@@ -239,10 +238,6 @@
"-D_LARGEFILE64_SOURCE",
"-D_LARGEFILE_SOURCE",
],
- local_include_dirs: [
- "build/linux/debian_bullseye_amd64-sysroot/usr/include",
- "build/linux/debian_bullseye_amd64-sysroot/usr/include/x86_64-linux-gnu",
- ],
},
},
}
@@ -1006,7 +1001,6 @@
],
local_include_dirs: [
"third_party/android_ndk/sources/android/cpufeatures/",
- "third_party/android_ndk/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include",
],
},
host: {
@@ -1042,10 +1036,6 @@
"-D_LARGEFILE64_SOURCE",
"-D_LARGEFILE_SOURCE",
],
- local_include_dirs: [
- "build/linux/debian_bullseye_amd64-sysroot/usr/include",
- "build/linux/debian_bullseye_amd64-sysroot/usr/include/x86_64-linux-gnu",
- ],
},
},
}
@@ -1359,9 +1349,6 @@
"-DANDROID_NDK_VERSION_ROLL=r23_1",
"-DHAVE_SYS_UIO_H",
],
- local_include_dirs: [
- "third_party/android_ndk/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include",
- ],
},
host: {
cflags: [
@@ -1373,10 +1360,6 @@
"-D_LARGEFILE64_SOURCE",
"-D_LARGEFILE_SOURCE",
],
- local_include_dirs: [
- "build/linux/debian_bullseye_amd64-sysroot/usr/include",
- "build/linux/debian_bullseye_amd64-sysroot/usr/include/x86_64-linux-gnu",
- ],
},
},
}
@@ -1704,9 +1687,6 @@
"-DANDROID_NDK_VERSION_ROLL=r23_1",
"-DHAVE_SYS_UIO_H",
],
- local_include_dirs: [
- "third_party/android_ndk/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include",
- ],
},
host: {
cflags: [
@@ -1718,10 +1698,6 @@
"-D_LARGEFILE64_SOURCE",
"-D_LARGEFILE_SOURCE",
],
- local_include_dirs: [
- "build/linux/debian_bullseye_amd64-sysroot/usr/include",
- "build/linux/debian_bullseye_amd64-sysroot/usr/include/x86_64-linux-gnu",
- ],
},
},
}
@@ -1762,9 +1738,6 @@
"-DANDROID_NDK_VERSION_ROLL=r23_1",
"-DHAVE_SYS_UIO_H",
],
- local_include_dirs: [
- "third_party/android_ndk/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include",
- ],
},
host: {
cflags: [
@@ -1776,10 +1749,6 @@
"-D_LARGEFILE64_SOURCE",
"-D_LARGEFILE_SOURCE",
],
- local_include_dirs: [
- "build/linux/debian_bullseye_amd64-sysroot/usr/include",
- "build/linux/debian_bullseye_amd64-sysroot/usr/include/x86_64-linux-gnu",
- ],
},
},
}
@@ -1821,8 +1790,6 @@
"buildtools/third_party/libc++/",
"buildtools/third_party/libc++/trunk/include",
"buildtools/third_party/libc++abi/trunk/include",
- "build/linux/debian_bullseye_amd64-sysroot/usr/include/x86_64-linux-gnu",
- "build/linux/debian_bullseye_amd64-sysroot/usr/include",
],
cpp_std: "c++20",
}
@@ -1869,8 +1836,6 @@
"buildtools/third_party/libc++/",
"buildtools/third_party/libc++/trunk/include",
"buildtools/third_party/libc++abi/trunk/include",
- "build/linux/debian_bullseye_amd64-sysroot/usr/include/x86_64-linux-gnu",
- "build/linux/debian_bullseye_amd64-sysroot/usr/include",
],
cpp_std: "c++20",
}
@@ -1912,8 +1877,6 @@
"buildtools/third_party/libc++/",
"buildtools/third_party/libc++/trunk/include",
"buildtools/third_party/libc++abi/trunk/include",
- "build/linux/debian_bullseye_amd64-sysroot/usr/include/x86_64-linux-gnu",
- "build/linux/debian_bullseye_amd64-sysroot/usr/include",
],
cpp_std: "c++20",
}
@@ -2248,7 +2211,6 @@
"third_party/boringssl/src/include/",
"third_party/protobuf/src/",
"third_party/zlib/",
- "third_party/android_ndk/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include",
],
header_libs: [
"jni_headers",
@@ -2639,7 +2601,6 @@
"buildtools/third_party/libc++abi/trunk/include",
"third_party/abseil-cpp/",
"third_party/boringssl/src/include/",
- "third_party/android_ndk/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include",
],
header_libs: [
"jni_headers",
@@ -2754,9 +2715,6 @@
"-DANDROID_NDK_VERSION_ROLL=r23_1",
"-DHAVE_SYS_UIO_H",
],
- local_include_dirs: [
- "third_party/android_ndk/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include",
- ],
},
host: {
srcs: [
@@ -2778,10 +2736,8 @@
"-D_LARGEFILE_SOURCE",
],
local_include_dirs: [
- "build/linux/debian_bullseye_amd64-sysroot/usr/include",
"build/linux/debian_bullseye_amd64-sysroot/usr/include/nspr",
"build/linux/debian_bullseye_amd64-sysroot/usr/include/nss",
- "build/linux/debian_bullseye_amd64-sysroot/usr/include/x86_64-linux-gnu",
],
},
},
@@ -2806,6 +2762,24 @@
"-fvisibility=hidden",
],
stl: "none",
+ target: {
+ android_x86: {
+ export_system_include_dirs: [
+ "build/linux/debian_bullseye_i386-sysroot/usr/include",
+ ],
+ },
+ android_x86_64: {
+ export_system_include_dirs: [
+ "build/linux/debian_bullseye_amd64-sysroot/usr/include",
+ "build/linux/debian_bullseye_amd64-sysroot/usr/include/x86_64-linux-gnu",
+ ],
+ },
+ host: {
+ export_system_include_dirs: [
+ "third_party/android_ndk/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include",
+ ],
+ },
+ },
}
// GN: //ipc:param_traits
@@ -3682,7 +3656,6 @@
"third_party/brotli/include/",
"third_party/protobuf/src/",
"third_party/zlib/",
- "third_party/android_ndk/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include",
],
header_libs: [
"jni_headers",
@@ -3893,7 +3866,6 @@
"buildtools/third_party/libc++abi/trunk/include",
"third_party/abseil-cpp/",
"third_party/boringssl/src/include/",
- "third_party/android_ndk/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include",
],
cpp_std: "c++20",
}
@@ -4439,7 +4411,6 @@
"third_party/boringssl/src/include/",
"third_party/protobuf/src/",
"third_party/zlib/",
- "third_party/android_ndk/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include",
],
cpp_std: "c++20",
}
@@ -4502,7 +4473,6 @@
"buildtools/third_party/libc++abi/trunk/include",
"third_party/abseil-cpp/",
"third_party/boringssl/src/include/",
- "third_party/android_ndk/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include",
],
cpp_std: "c++20",
}
@@ -5584,9 +5554,6 @@
"-DANDROID_NDK_VERSION_ROLL=r23_1",
"-DHAVE_SYS_UIO_H",
],
- local_include_dirs: [
- "third_party/android_ndk/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include",
- ],
},
host: {
cflags: [
@@ -5598,10 +5565,6 @@
"-D_LARGEFILE64_SOURCE",
"-D_LARGEFILE_SOURCE",
],
- local_include_dirs: [
- "build/linux/debian_bullseye_amd64-sysroot/usr/include",
- "build/linux/debian_bullseye_amd64-sysroot/usr/include/x86_64-linux-gnu",
- ],
},
},
}
@@ -5676,7 +5639,6 @@
"buildtools/third_party/libc++/trunk/include",
"buildtools/third_party/libc++abi/trunk/include",
"third_party/brotli/include/",
- "third_party/android_ndk/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include",
],
cpp_std: "c++20",
}
@@ -5720,7 +5682,6 @@
"buildtools/third_party/libc++/trunk/include",
"buildtools/third_party/libc++abi/trunk/include",
"third_party/brotli/include/",
- "third_party/android_ndk/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include",
],
cpp_std: "c++20",
}
@@ -6023,9 +5984,6 @@
"-DANDROID_NDK_VERSION_ROLL=r23_1",
"-DHAVE_SYS_UIO_H",
],
- local_include_dirs: [
- "third_party/android_ndk/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include",
- ],
},
host: {
cflags: [
@@ -6037,10 +5995,6 @@
"-D_LARGEFILE64_SOURCE",
"-D_LARGEFILE_SOURCE",
],
- local_include_dirs: [
- "build/linux/debian_bullseye_amd64-sysroot/usr/include",
- "build/linux/debian_bullseye_amd64-sysroot/usr/include/x86_64-linux-gnu",
- ],
},
},
}
@@ -6298,9 +6252,6 @@
"-DANDROID_NDK_VERSION_ROLL=r23_1",
"-DHAVE_SYS_UIO_H",
],
- local_include_dirs: [
- "third_party/android_ndk/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include",
- ],
},
host: {
cflags: [
@@ -6312,10 +6263,6 @@
"-D_LARGEFILE64_SOURCE",
"-D_LARGEFILE_SOURCE",
],
- local_include_dirs: [
- "build/linux/debian_bullseye_amd64-sysroot/usr/include",
- "build/linux/debian_bullseye_amd64-sysroot/usr/include/x86_64-linux-gnu",
- ],
},
},
}
@@ -6376,7 +6323,6 @@
"-DHAVE_SYS_UIO_H",
],
local_include_dirs: [
- "third_party/android_ndk/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include",
"third_party/libevent/android/",
],
},
@@ -6391,8 +6337,6 @@
"-D_LARGEFILE_SOURCE",
],
local_include_dirs: [
- "build/linux/debian_bullseye_amd64-sysroot/usr/include",
- "build/linux/debian_bullseye_amd64-sysroot/usr/include/x86_64-linux-gnu",
"third_party/libevent/linux/",
],
},
@@ -6576,9 +6520,6 @@
"-DANDROID_NDK_VERSION_ROLL=r23_1",
"-DHAVE_SYS_UIO_H",
],
- local_include_dirs: [
- "third_party/android_ndk/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include",
- ],
},
host: {
cflags: [
@@ -6590,10 +6531,6 @@
"-D_LARGEFILE64_SOURCE",
"-D_LARGEFILE_SOURCE",
],
- local_include_dirs: [
- "build/linux/debian_bullseye_amd64-sysroot/usr/include",
- "build/linux/debian_bullseye_amd64-sysroot/usr/include/x86_64-linux-gnu",
- ],
},
},
}
@@ -6726,8 +6663,6 @@
"buildtools/third_party/libc++abi/trunk/include",
"third_party/protobuf/src/",
"third_party/zlib/",
- "build/linux/debian_bullseye_amd64-sysroot/usr/include/x86_64-linux-gnu",
- "build/linux/debian_bullseye_amd64-sysroot/usr/include",
],
cpp_std: "c++20",
}
@@ -6800,7 +6735,6 @@
"buildtools/third_party/libc++/trunk/include",
"buildtools/third_party/libc++abi/trunk/include",
"third_party/protobuf/src/",
- "third_party/android_ndk/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include",
],
cpp_std: "c++20",
}
@@ -6859,8 +6793,6 @@
"buildtools/third_party/libc++/trunk/src/",
"buildtools/third_party/libc++abi/trunk/include",
"third_party/protobuf/src/",
- "build/linux/debian_bullseye_amd64-sysroot/usr/include/x86_64-linux-gnu",
- "build/linux/debian_bullseye_amd64-sysroot/usr/include",
],
cpp_std: "c++20",
cppflags: [
@@ -6997,8 +6929,6 @@
"buildtools/third_party/libc++/trunk/include",
"buildtools/third_party/libc++abi/trunk/include",
"third_party/protobuf/src/",
- "build/linux/debian_bullseye_amd64-sysroot/usr/include/x86_64-linux-gnu",
- "build/linux/debian_bullseye_amd64-sysroot/usr/include",
],
cpp_std: "c++20",
}
@@ -7074,7 +7004,6 @@
],
local_include_dirs: [
"third_party/android_ndk/sources/android/cpufeatures/",
- "third_party/android_ndk/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include",
],
},
host: {
@@ -7087,10 +7016,6 @@
"-D_LARGEFILE64_SOURCE",
"-D_LARGEFILE_SOURCE",
],
- local_include_dirs: [
- "build/linux/debian_bullseye_amd64-sysroot/usr/include",
- "build/linux/debian_bullseye_amd64-sysroot/usr/include/x86_64-linux-gnu",
- ],
},
},
}
@@ -7237,7 +7162,6 @@
"buildtools/third_party/libc++abi/trunk/include",
"third_party/abseil-cpp/",
"third_party/boringssl/src/include/",
- "third_party/android_ndk/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include",
],
header_libs: [
"jni_headers",
diff --git a/tools/gn2bp/gen_android_bp b/tools/gn2bp/gen_android_bp
index ae36ffd..bda4b25 100755
--- a/tools/gn2bp/gen_android_bp
+++ b/tools/gn2bp/gen_android_bp
@@ -209,6 +209,7 @@
self.stl = None
self.cppflags = set()
self.local_include_dirs = []
+ self.export_system_include_dirs = set()
def to_string(self, output):
nested_out = []
@@ -222,6 +223,7 @@
self._output_field(nested_out, 'strip')
self._output_field(nested_out, 'cppflags')
self._output_field(nested_out, 'local_include_dirs')
+ self._output_field(nested_out, 'export_system_include_dirs')
if nested_out:
output.append(' %s: {' % self.name)
@@ -989,15 +991,6 @@
if not re.match('^//out/.*', d)])
module.local_include_dirs = sorted(list(local_include_dirs_set))
- # Order matters for some targets. For example, base/time/time_exploded_icu.cc
- # in //base:base needs to have sysroot include after icu/source/common
- # include. So adding sysroot include at the end.
- for flag in sorted(cflags):
- if '--sysroot' in flag:
- sysroot = flag[len('--sysroot=../../'):]
- if sysroot == "build/linux/debian_bullseye_amd64-sysroot":
- module.local_include_dirs.append(sysroot + "/usr/include/x86_64-linux-gnu")
- module.local_include_dirs.append(sysroot + "/usr/include")
def create_modules_from_target(blueprint, gn, gn_target_name):
"""Generate module(s) for a given GN target.
@@ -1226,6 +1219,19 @@
'-Wno-unreachable-code-loop-increment', # needed for icui18n
'-O2',
]
+ # TODO: can we get these from somewhere else?
+ # TODO: what to do for arm?
+ defaults.target['android_x86'].export_system_include_dirs = [
+ 'build/linux/debian_bullseye_i386-sysroot/usr/include',
+ ]
+ defaults.target['android_x86_64'].export_system_include_dirs = [
+ 'build/linux/debian_bullseye_amd64-sysroot/usr/include',
+ 'build/linux/debian_bullseye_amd64-sysroot/usr/include/x86_64-linux-gnu',
+ ]
+ defaults.target['host'].export_system_include_dirs = [
+ # TODO: do we need this?
+ 'third_party/android_ndk/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/include',
+ ]
defaults.stl = 'none'
blueprint.add_module(defaults)