Revert "Use --sysroot when compiling against the NDK"
Revert submission 3312372-ndk_sysroot
Reason for revert: b/374513613
Reverted changes: /q/submissionid:3312372-ndk_sysroot
Bug: 374513613
Bug: 374130155
Change-Id: I2c17d085d090fd5a9b8bae4bf6c3a0e43128ad4c
diff --git a/cc/cc_test.go b/cc/cc_test.go
index 90ec811..2e6c152 100644
--- a/cc/cc_test.go
+++ b/cc/cc_test.go
@@ -2734,11 +2734,6 @@
func TestIncludeDirectoryOrdering(t *testing.T) {
t.Parallel()
-
- expectedPlatformFlags := []string{
- "-nostdlibinc",
- }
-
baseExpectedFlags := []string{
"${config.ArmThumbCflags}",
"${config.ArmCflags}",
@@ -2800,9 +2795,9 @@
cstd := []string{"-std=gnu17", "-std=conly"}
cppstd := []string{"-std=gnu++20", "-std=cpp", "-fno-rtti"}
- lastNDKFlags := []string{
- "--sysroot",
- "out/soong/ndk/sysroot",
+ lastNDKIncludes := []string{
+ "out/soong/ndk/sysroot/usr/include",
+ "out/soong/ndk/sysroot/usr/include/arm-linux-androideabi",
}
lastPlatformIncludes := []string{
@@ -2826,11 +2821,10 @@
expectedNDKSTLIncludes,
cflags,
cstd,
- lastNDKFlags,
+ lastNDKIncludes,
[]string{"${config.NoOverrideGlobalCflags}", "${config.NoOverrideExternalGlobalCflags}"},
),
expectedPlatform: slices.Concat(
- expectedPlatformFlags,
baseExpectedFlags,
expectedTargetPlatformFlags,
conly,
@@ -2852,11 +2846,10 @@
expectedNDKSTLIncludes,
cflags,
cppstd,
- lastNDKFlags,
+ lastNDKIncludes,
[]string{"${config.NoOverrideGlobalCflags}", "${config.NoOverrideExternalGlobalCflags}"},
),
expectedPlatform: slices.Concat(
- expectedPlatformFlags,
baseExpectedFlags,
expectedTargetPlatformFlags,
cppOnly,
@@ -2876,10 +2869,9 @@
[]string{"${config.CommonGlobalAsflags}"},
expectedIncludes,
expectedNDKSTLIncludes,
- lastNDKFlags,
+ lastNDKIncludes,
),
expectedPlatform: slices.Concat(
- expectedPlatformFlags,
baseExpectedFlags,
expectedTargetPlatformFlags,
[]string{"${config.CommonGlobalAsflags}"},
diff --git a/cc/compiler.go b/cc/compiler.go
index e49de6f..7bba962 100644
--- a/cc/compiler.go
+++ b/cc/compiler.go
@@ -430,14 +430,14 @@
}
if ctx.useSdk() {
+ // TODO: Switch to --sysroot.
// The NDK headers are installed to a common sysroot. While a more
// typical Soong approach would be to only make the headers for the
// library you're using available, we're trying to emulate the NDK
// behavior here, and the NDK always has all the NDK headers available.
flags.SystemIncludeFlags = append(flags.SystemIncludeFlags,
- "--sysroot "+getNdkSysrootBase(ctx).String())
- } else if ctx.Device() {
- flags.Global.CommonFlags = append(flags.Global.CFlags, "-nostdlibinc")
+ "-isystem "+getCurrentIncludePath(ctx).String(),
+ "-isystem "+getCurrentIncludePath(ctx).Join(ctx, config.NDKTriple(tc)).String())
}
if ctx.InVendorOrProduct() {
diff --git a/cc/config/global.go b/cc/config/global.go
index d63f86d..9d3de6d 100644
--- a/cc/config/global.go
+++ b/cc/config/global.go
@@ -172,6 +172,7 @@
"-Werror=address",
"-Werror=sequence-point",
"-Werror=format-security",
+ "-nostdlibinc",
}
commonGlobalLldflags = []string{