platform_build_soong/Android.bp
Colin Cross 178a509855 Replace PropertyCustomizer with hooks
Replace PropertyCustomizer with a more extensible hooks mechanism.
Instead of passing an object that satisifies an interface, pass a
function pointer that takes a context interface as an argument.  Callers
can use lambdas to capture any other necessary parameters like property
structs.

Also add two new hooks, arch hooks that occur after splitting modules
into arch variants, and install hooks that occur each time a file is
installed to the output directory.

Change-Id: I3a3e34aa97f1a92d3a31e5004b4b1ba68869d242
2016-09-13 17:37:32 -07:00

221 lines
4.5 KiB
Text

//
// WARNING: Modifying this file will NOT automatically regenerate build.ninja.in!
//
// Before modifying this file make sure minibp is up to date:
// 1) "repo sync build/soong" to make sure you have the latest build.ninja.in
// 2) build minibp, which builds automicatically through the normal build steps. For example:
//
// After modifying this file regenerate build.ninja.in and build your changes:
// 1) In your build directory, execute "../bootstrap.bash -r" to regenerate build.ninja.in
// 2) Build again
//
subdirs = [
"androidmk",
"cmd/*",
"third_party/zip",
]
bootstrap_go_package {
name: "soong-env",
pkgPath: "android/soong/env",
srcs: [
"env/env.go",
],
}
bootstrap_go_package {
name: "soong-glob",
pkgPath: "android/soong/glob",
deps: [
"blueprint-deptools",
"blueprint-pathtools",
],
srcs: [
"glob/glob.go",
],
}
bootstrap_go_package {
name: "soong",
pkgPath: "android/soong",
deps: [
"blueprint",
],
srcs: [
"doc.go",
"register.go",
],
}
bootstrap_go_package {
name: "soong-android",
pkgPath: "android/soong/android",
deps: [
"blueprint",
"blueprint-bootstrap",
"soong",
"soong-env",
"soong-glob",
],
srcs: [
"android/androidmk.go",
"android/arch.go",
"android/config.go",
"android/defaults.go",
"android/defs.go",
"android/glob.go",
"android/hooks.go",
"android/makevars.go",
"android/module.go",
"android/mutator.go",
"android/onceper.go",
"android/package_ctx.go",
"android/paths.go",
"android/util.go",
"android/variable.go",
// Lock down environment access last
"android/env.go",
],
testSrcs: [
"android/paths_test.go",
],
}
bootstrap_go_package {
name: "soong-cc-config",
pkgPath: "android/soong/cc/config",
deps: [
"soong-android",
],
srcs: [
"cc/config/clang.go",
"cc/config/global.go",
"cc/config/toolchain.go",
"cc/config/arm_device.go",
"cc/config/arm64_device.go",
"cc/config/mips_device.go",
"cc/config/mips64_device.go",
"cc/config/x86_device.go",
"cc/config/x86_64_device.go",
"cc/config/x86_darwin_host.go",
"cc/config/x86_linux_host.go",
"cc/config/x86_windows_host.go",
],
}
bootstrap_go_package {
name: "soong-cc",
pkgPath: "android/soong/cc",
deps: [
"blueprint",
"blueprint-pathtools",
"soong",
"soong-android",
"soong-cc-config",
"soong-genrule",
],
srcs: [
"cc/androidmk.go",
"cc/builder.go",
"cc/cc.go",
"cc/check.go",
"cc/gen.go",
"cc/makevars.go",
"cc/sanitize.go",
"cc/stl.go",
"cc/strip.go",
"cc/util.go",
"cc/compiler.go",
"cc/installer.go",
"cc/linker.go",
"cc/binary.go",
"cc/library.go",
"cc/object.go",
"cc/test.go",
"cc/toolchain_library.go",
"cc/ndk_prebuilt.go",
"cc/ndk_headers.go",
"cc/ndk_library.go",
"cc/ndk_sysroot.go",
],
testSrcs: [
"cc/cc_test.go",
],
pluginFor: ["soong_build"],
}
bootstrap_go_package {
name: "soong-genrule",
pkgPath: "android/soong/genrule",
deps: [
"blueprint",
"blueprint-pathtools",
"soong",
"soong-android",
],
srcs: [
"genrule/genrule.go",
],
pluginFor: ["soong_build"],
}
bootstrap_go_package {
name: "soong-java",
pkgPath: "android/soong/java",
deps: [
"blueprint",
"blueprint-pathtools",
"soong",
"soong-android",
"soong-genrule",
],
srcs: [
"java/androidmk.go",
"java/app_builder.go",
"java/app.go",
"java/builder.go",
"java/gen.go",
"java/java.go",
"java/resources.go",
],
pluginFor: ["soong_build"],
}
//
// C static libraries extracted from the gcc toolchain
//
toolchain_library {
name: "libatomic",
arch: {
arm: {
instruction_set: "arm",
},
},
}
toolchain_library {
name: "libgcc",
arch: {
arm: {
instruction_set: "arm",
},
},
}
toolchain_library {
name: "libgcov",
arch: {
arm: {
instruction_set: "arm",
},
},
}