platform_build_soong/Android.bp
Colin Cross ca860ac720 Refactor cc
Refactor all of cc in order to use composition instead of inheritance.
All cc module types exported by cc are now *cc.Module objects, with
compilation, linking, and installing steps delegated to different
objects in order to form the full module type.  Additional features that
modify dependencies and flags can be inserted in a features object list,
and custom module types can be created by adding a Customizer object
that can modify properties.

Change-Id: Ie1283d14920f7856f6947b0530606b2f4d58fab0
2016-03-21 17:31:04 -07:00

252 lines
4.9 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
//
bootstrap_go_binary {
name: "soong_build",
deps: [
"blueprint",
"blueprint-bootstrap",
"soong",
"soong-common",
"soong-env",
],
srcs: [
"cmd/soong_build/main.go",
],
primaryBuilder: true,
}
bootstrap_go_binary {
name: "soong_env",
deps: [
"soong-env",
],
srcs: [
"cmd/soong_env/soong_env.go",
],
}
bootstrap_go_package {
name: "soong-env",
pkgPath: "android/soong/env",
srcs: [
"env/env.go",
],
}
bootstrap_go_binary {
name: "soong_glob",
deps: [
"soong-glob",
],
srcs: [
"cmd/soong_glob/soong_glob.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-common",
pkgPath: "android/soong/common",
deps: [
"blueprint",
"blueprint-bootstrap",
"soong",
"soong-env",
"soong-glob",
],
srcs: [
"common/androidmk.go",
"common/arch.go",
"common/config.go",
"common/defaults.go",
"common/defs.go",
"common/env.go",
"common/glob.go",
"common/module.go",
"common/mutator.go",
"common/package_ctx.go",
"common/paths.go",
"common/util.go",
"common/variable.go",
],
testSrcs: [
"common/paths_test.go",
],
}
bootstrap_go_package {
name: "soong-cc",
pkgPath: "android/soong/cc",
deps: [
"blueprint",
"blueprint-pathtools",
"soong",
"soong-common",
"soong-genrule",
],
srcs: [
"cc/androidmk.go",
"cc/builder.go",
"cc/cc.go",
"cc/clang.go",
"cc/gen.go",
"cc/stl.go",
"cc/toolchain.go",
"cc/util.go",
"cc/arm_device.go",
"cc/arm64_device.go",
"cc/mips_device.go",
"cc/mips64_device.go",
"cc/x86_device.go",
"cc/x86_64_device.go",
"cc/x86_darwin_host.go",
"cc/x86_linux_host.go",
"cc/x86_windows_host.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-common",
],
srcs: [
"genrule/genrule.go",
],
pluginFor: ["soong_build"],
}
bootstrap_go_binary {
name: "soong_jar",
srcs: [
"cmd/soong_jar/soong_jar.go",
],
}
bootstrap_go_package {
name: "soong-java",
pkgPath: "android/soong/java",
deps: [
"blueprint",
"blueprint-pathtools",
"soong",
"soong-common",
"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"],
}
//
// androidmk Android.mk to Blueprints translator
//
bootstrap_go_binary {
name: "androidmk",
srcs: [
"androidmk/cmd/androidmk/android.go",
"androidmk/cmd/androidmk/androidmk.go",
"androidmk/cmd/androidmk/values.go",
],
deps: [
"androidmk-parser",
"blueprint-parser",
],
}
bootstrap_go_package {
name: "androidmk-parser",
pkgPath: "android/soong/androidmk/parser",
srcs: [
"androidmk/parser/make_strings.go",
"androidmk/parser/makething.go",
"androidmk/parser/parser.go",
"androidmk/parser/scope.go",
],
testSrcs: [
"androidmk/parser/make_strings_test.go",
],
}
//
// 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",
},
},
}