diff --git a/cc/compiler.go b/cc/compiler.go index c9dcf9533..7e8e8b8ec 100644 --- a/cc/compiler.go +++ b/cc/compiler.go @@ -148,6 +148,9 @@ type BaseCompilerProperties struct { // Stores the original list of source files before being cleared by library reuse OriginalSrcs []string `blueprint:"mutated"` + + // Build and link with OpenMP + Openmp *bool `android:"arch_variant"` } func NewBaseCompiler() *baseCompiler { @@ -204,6 +207,10 @@ func (compiler *baseCompiler) compilerDeps(ctx DepsContext, deps Deps) Deps { deps = protoDeps(ctx, deps, &compiler.Proto, Bool(compiler.Properties.Proto.Static)) } + if Bool(compiler.Properties.Openmp) { + deps.StaticLibs = append(deps.StaticLibs, "libomp") + } + return deps } @@ -494,6 +501,10 @@ func (compiler *baseCompiler) compilerFlags(ctx ModuleContext, flags Flags, deps } } + if Bool(compiler.Properties.Openmp) { + flags.CFlags = append(flags.CFlags, "-fopenmp") + } + return flags }