From ebdd92d06a09393f4fb128e3340e6eb08c9d22cd Mon Sep 17 00:00:00 2001 From: jingwen Date: Wed, 7 Mar 2018 15:09:54 -0800 Subject: Fixed missing C standard library functions with NDK r15 and r16 Certain C++ stdlib wrapper headers are unable to find their C counterparts (e.g. math.h for cmath) that are in %ndk%/sysroot/usr/include. This is because the -isystem for the include path was added with addCompilerFlag instead of addUnfilteredCxxFlag. The former is filtered out when compiling C code, whereas the latter keeps it. Fixes https://github.com/bazelbuild/bazel/issues/4777 RELNOTES: None. PiperOrigin-RevId: 188241254 --- .../bazel/rules/android/ndkcrosstools/r15/AndroidNdkCrosstoolsR15.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/main/java/com/google') diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r15/AndroidNdkCrosstoolsR15.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r15/AndroidNdkCrosstoolsR15.java index f90604dda1..e46315e4d7 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r15/AndroidNdkCrosstoolsR15.java +++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/android/ndkcrosstools/r15/AndroidNdkCrosstoolsR15.java @@ -74,7 +74,7 @@ final class AndroidNdkCrosstoolsR15 { // unified headers sysroot, from ndk15 and up toolchainBuilder.addCxxBuiltinIncludeDirectory( ndkPaths.createBuiltinSysroot() + "/usr/include"); - toolchainBuilder.addCompilerFlag( + toolchainBuilder.addUnfilteredCxxFlag( "-isystem%ndk%/usr/include".replace("%ndk%", ndkPaths.createBuiltinSysroot())); toolchains.add(toolchainBuilder.build()); -- cgit v1.2.3