diff options
Diffstat (limited to 'cc/compiler.go')
| -rw-r--r-- | cc/compiler.go | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/cc/compiler.go b/cc/compiler.go index 85ff400ab..438dee701 100644 --- a/cc/compiler.go +++ b/cc/compiler.go @@ -309,7 +309,6 @@ func (compiler *baseCompiler) compilerFlags(ctx ModuleContext, flags Flags, deps flags.SystemIncludeFlags = append(flags.SystemIncludeFlags, "-isystem "+getCurrentIncludePath(ctx).String(), "-isystem "+getCurrentIncludePath(ctx).Join(ctx, config.NDKTriple(tc)).String()) - flags.GlobalFlags = append(flags.GlobalFlags, "-D__ANDROID_NDK__") } if ctx.useVndk() { @@ -321,7 +320,9 @@ func (compiler *baseCompiler) compilerFlags(ctx ModuleContext, flags Flags, deps } if ctx.apexName() != "" { + // TODO(b/142582178): remove the value for __ANDROID_APEX__ flags.GlobalFlags = append(flags.GlobalFlags, "-D__ANDROID_APEX__="+ctx.apexName()) + flags.GlobalFlags = append(flags.GlobalFlags, "-D__ANDROID_APEX_"+makeDefineString(ctx.apexName())+"__") } instructionSet := String(compiler.Properties.Instruction_set) @@ -529,6 +530,12 @@ func (compiler *baseCompiler) hasSrcExt(ext string) bool { return false } +// makeDefineString transforms a name of an APEX module into a value to be used as value for C define +// For example, com.android.foo => COM_ANDROID_FOO +func makeDefineString(name string) string { + return strings.ReplaceAll(strings.ToUpper(name), ".", "_") +} + var gnuToCReplacer = strings.NewReplacer("gnu", "c") func ndkPathDeps(ctx ModuleContext) android.Paths { |