diff options
author | Colin Cross <ccross@android.com> | 2015-05-07 15:44:20 -0700 |
---|---|---|
committer | Colin Cross <ccross@android.com> | 2015-05-07 16:09:34 -0700 |
commit | 2ba19d90c30046f57c8e3f34a7f7fdc5df2bd5bf (patch) | |
tree | 6af7b7b5c0b31bc197bca4868d534ed7697817a1 | |
parent | 0af4b8468b881a009e147cea63e3da76578530a7 (diff) | |
download | build_soong-2ba19d90c30046f57c8e3f34a7f7fdc5df2bd5bf.tar.gz build_soong-2ba19d90c30046f57c8e3f34a7f7fdc5df2bd5bf.tar.bz2 build_soong-2ba19d90c30046f57c8e3f34a7f7fdc5df2bd5bf.zip |
Add cc_benchmark module type
Change-Id: I83bed375fa77518baaab4260e714a9368761f0bc
-rw-r--r-- | androidbp/cmd/soong.go | 2 | ||||
-rw-r--r-- | androidmk/cmd/androidmk/android.go | 2 | ||||
-rw-r--r-- | cc/cc.go | 39 | ||||
-rw-r--r-- | cmd/soong_build/main.go | 2 |
4 files changed, 45 insertions, 0 deletions
diff --git a/androidbp/cmd/soong.go b/androidbp/cmd/soong.go index 488390fe..db270710 100644 --- a/androidbp/cmd/soong.go +++ b/androidbp/cmd/soong.go @@ -71,6 +71,8 @@ var moduleTypes = map[string]string{ "cc_binary_host": "BUILD_HOST_EXECUTABLE", "cc_test": "BUILD_NATIVE_TEST", "cc_test_host": "BUILD_HOST_NATIVE_TEST", + "cc_benchmark": "BUILD_NATIVE_BENCHMARK", + "cc_benchmark_host": "BUILD_HOST_NATIVE_BENCHMARK", "java_library": "BUILD_JAVA_LIBRARY", "java_library_static": "BUILD_STATIC_JAVA_LIBRARY", "java_library_host": "BUILD_HOST_JAVA_LIBRARY", diff --git a/androidmk/cmd/androidmk/android.go b/androidmk/cmd/androidmk/android.go index 80384730..4d928b12 100644 --- a/androidmk/cmd/androidmk/android.go +++ b/androidmk/cmd/androidmk/android.go @@ -138,6 +138,8 @@ var moduleTypes = map[string]string{ "BUILD_HOST_EXECUTABLE": "cc_binary_host", "BUILD_NATIVE_TEST": "cc_test", "BUILD_HOST_NATIVE_TEST": "cc_test_host", + "BUILD_NATIVE_BENCHMARK": "cc_benchmark", + "BUILD_HOST_NATIVE_BENCHMARK": "cc_benchmark_host", "BUILD_JAVA_LIBRARY": "java_library", "BUILD_STATIC_JAVA_LIBRARY": "java_library_static", @@ -1481,6 +1481,36 @@ func TestPerSrcMutator(mctx blueprint.EarlyMutatorContext) { } } +type CCBenchmark struct { + CCBinary +} + +func (c *CCBenchmark) depNames(ctx common.AndroidBaseContext, depNames CCDeps) CCDeps { + depNames = c.CCBinary.depNames(ctx, depNames) + depNames.StaticLibs = append(depNames.StaticLibs, "libbenchmark") + return depNames +} + +func (c *CCBenchmark) installModule(ctx common.AndroidModuleContext, flags CCFlags) { + if ctx.Device() { + ctx.InstallFile("../data/nativetest"+ctx.Arch().ArchType.Multilib[3:]+"/"+ctx.ModuleName(), c.out) + } else { + c.CCBinary.installModule(ctx, flags) + } +} + +func NewCCBenchmark(test *CCBenchmark, module CCModuleType, + hod common.HostOrDeviceSupported, props ...interface{}) (blueprint.Module, []interface{}) { + + return NewCCBinary(&test.CCBinary, module, hod, props...) +} + +func CCBenchmarkFactory() (blueprint.Module, []interface{}) { + module := &CCBenchmark{} + + return NewCCBenchmark(module, module, common.HostAndDeviceSupported) +} + // // Static library // @@ -1546,6 +1576,15 @@ func CCTestHostFactory() (blueprint.Module, []interface{}) { } // +// Host Benchmarks +// + +func CCBenchmarkHostFactory() (blueprint.Module, []interface{}) { + module := &CCBenchmark{} + return NewCCBinary(&module.CCBinary, module, common.HostSupported) +} + +// // Device libraries shipped with gcc // diff --git a/cmd/soong_build/main.go b/cmd/soong_build/main.go index 8f5fae71..f8c32cbf 100644 --- a/cmd/soong_build/main.go +++ b/cmd/soong_build/main.go @@ -45,6 +45,7 @@ func main() { ctx.RegisterModuleType("cc_object", cc.CCObjectFactory) ctx.RegisterModuleType("cc_binary", cc.CCBinaryFactory) ctx.RegisterModuleType("cc_test", cc.CCTestFactory) + ctx.RegisterModuleType("cc_benchmark", cc.CCBenchmarkFactory) ctx.RegisterModuleType("toolchain_library", cc.ToolchainLibraryFactory) ctx.RegisterModuleType("ndk_prebuilt_library", cc.NdkPrebuiltLibraryFactory) @@ -56,6 +57,7 @@ func main() { ctx.RegisterModuleType("cc_library_host_shared", cc.CCLibraryHostSharedFactory) ctx.RegisterModuleType("cc_binary_host", cc.CCBinaryHostFactory) ctx.RegisterModuleType("cc_test_host", cc.CCTestHostFactory) + ctx.RegisterModuleType("cc_benchmark_host", cc.CCBenchmarkHostFactory) ctx.RegisterModuleType("gensrcs", genrule.GenSrcsFactory) ctx.RegisterModuleType("genrule", genrule.GenRuleFactory) |