Add LLNDK support for the VNDK
Instead of using the NDK headers and libraries, add LL-NDK specific headers and library stubs for VNDK users. This allows us to provide an expanded liblog interface. Test: aosp_arm; m -j Test: Enable BOARD_VNDK_VERSION on aosp_arm; m -j Test: Inspect out/soong/build.ninja before/after (w/o vndk) Change-Id: Ic85f07fa10c695b5baab10c41f5e0ad38700bf3d
This commit is contained in:
@@ -205,7 +205,7 @@ func (compiler *baseCompiler) compilerFlags(ctx ModuleContext, flags Flags) Flag
|
||||
}
|
||||
}
|
||||
|
||||
if ctx.sdk() || ctx.vndk() {
|
||||
if ctx.sdk() {
|
||||
// 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
|
||||
@@ -233,6 +233,11 @@ func (compiler *baseCompiler) compilerFlags(ctx ModuleContext, flags Flags) Flag
|
||||
flags.SystemIncludeFlags = append(flags.SystemIncludeFlags, "-isystem "+legacyIncludes)
|
||||
}
|
||||
|
||||
if ctx.vndk() {
|
||||
flags.GlobalFlags = append(flags.GlobalFlags,
|
||||
"-D__ANDROID_API__=__ANDROID_API_FUTURE__", "-D__ANDROID_VNDK__")
|
||||
}
|
||||
|
||||
instructionSet := compiler.Properties.Instruction_set
|
||||
if flags.RequiredInstructionSet != "" {
|
||||
instructionSet = flags.RequiredInstructionSet
|
||||
@@ -412,7 +417,7 @@ func (compiler *baseCompiler) hasSrcExt(ext string) bool {
|
||||
var gnuToCReplacer = strings.NewReplacer("gnu", "c")
|
||||
|
||||
func ndkPathDeps(ctx ModuleContext) android.Paths {
|
||||
if ctx.sdk() || ctx.vndk() {
|
||||
if ctx.sdk() {
|
||||
// The NDK sysroot timestamp file depends on all the NDK sysroot files
|
||||
// (headers and libraries).
|
||||
return android.Paths{getNdkSysrootTimestampFile(ctx)}
|
||||
|
Reference in New Issue
Block a user