platform_build_soong/Android.bp

754 lines
18 KiB
Plaintext

subdirs = [
"androidmk",
"bpfix",
"cmd/*",
"fs",
"finder",
"jar",
"zip",
"third_party/zip",
"ui/*",
]
bootstrap_go_package {
name: "soong-env",
pkgPath: "android/soong/env",
srcs: [
"env/env.go",
],
}
bootstrap_go_package {
name: "soong",
pkgPath: "android/soong",
deps: [
"blueprint",
],
srcs: [
"doc.go",
],
}
bootstrap_go_package {
name: "soong-android",
pkgPath: "android/soong/android",
deps: [
"blueprint",
"blueprint-bootstrap",
"soong",
"soong-android-soongconfig",
"soong-env",
"soong-shared",
"soong-ui-metrics_proto",
],
srcs: [
"android/androidmk.go",
"android/apex.go",
"android/api_levels.go",
"android/arch.go",
"android/config.go",
"android/csuite_config.go",
"android/defaults.go",
"android/defs.go",
"android/expand.go",
"android/filegroup.go",
"android/hooks.go",
"android/image.go",
"android/makevars.go",
"android/metrics.go",
"android/module.go",
"android/mutator.go",
"android/namespace.go",
"android/neverallow.go",
"android/notices.go",
"android/onceper.go",
"android/override_module.go",
"android/package.go",
"android/package_ctx.go",
"android/path_properties.go",
"android/paths.go",
"android/prebuilt.go",
"android/prebuilt_etc.go",
"android/proto.go",
"android/register.go",
"android/rule_builder.go",
"android/sandbox.go",
"android/sdk.go",
"android/sh_binary.go",
"android/singleton.go",
"android/soong_config_modules.go",
"android/testing.go",
"android/util.go",
"android/variable.go",
"android/visibility.go",
"android/vts_config.go",
"android/writedocs.go",
// Lock down environment access last
"android/env.go",
],
testSrcs: [
"android/android_test.go",
"android/androidmk_test.go",
"android/arch_test.go",
"android/config_test.go",
"android/csuite_config_test.go",
"android/expand_test.go",
"android/module_test.go",
"android/mutator_test.go",
"android/namespace_test.go",
"android/neverallow_test.go",
"android/onceper_test.go",
"android/package_test.go",
"android/path_properties_test.go",
"android/paths_test.go",
"android/prebuilt_test.go",
"android/prebuilt_etc_test.go",
"android/rule_builder_test.go",
"android/soong_config_modules_test.go",
"android/util_test.go",
"android/variable_test.go",
"android/visibility_test.go",
"android/vts_config_test.go",
],
}
bootstrap_go_package {
name: "soong-android-soongconfig",
pkgPath: "android/soong/android/soongconfig",
deps: [
"blueprint",
"blueprint-parser",
"blueprint-proptools",
],
srcs: [
"android/soongconfig/config.go",
"android/soongconfig/modules.go",
],
}
bootstrap_go_package {
name: "soong-cc-config",
pkgPath: "android/soong/cc/config",
deps: [
"soong-android",
"soong-remoteexec",
],
srcs: [
"cc/config/clang.go",
"cc/config/global.go",
"cc/config/tidy.go",
"cc/config/toolchain.go",
"cc/config/vndk.go",
"cc/config/arm_device.go",
"cc/config/arm64_device.go",
"cc/config/arm64_fuchsia_device.go",
"cc/config/x86_device.go",
"cc/config/x86_64_device.go",
"cc/config/x86_64_fuchsia_device.go",
"cc/config/x86_darwin_host.go",
"cc/config/x86_linux_host.go",
"cc/config/x86_linux_bionic_host.go",
"cc/config/x86_windows_host.go",
],
testSrcs: [
"cc/config/tidy_test.go",
],
}
bootstrap_go_package {
name: "soong-cc",
pkgPath: "android/soong/cc",
deps: [
"blueprint",
"blueprint-pathtools",
"soong",
"soong-android",
"soong-cc-config",
"soong-genrule",
"soong-tradefed",
],
srcs: [
"cc/androidmk.go",
"cc/builder.go",
"cc/cc.go",
"cc/ccdeps.go",
"cc/check.go",
"cc/coverage.go",
"cc/gen.go",
"cc/linkable.go",
"cc/lto.go",
"cc/makevars.go",
"cc/pgo.go",
"cc/prebuilt.go",
"cc/proto.go",
"cc/rs.go",
"cc/sanitize.go",
"cc/sabi.go",
"cc/sdk.go",
"cc/snapshot_utils.go",
"cc/stl.go",
"cc/strip.go",
"cc/sysprop.go",
"cc/tidy.go",
"cc/util.go",
"cc/vendor_snapshot.go",
"cc/vndk.go",
"cc/vndk_prebuilt.go",
"cc/cflag_artifacts.go",
"cc/cmakelists.go",
"cc/compdb.go",
"cc/compiler.go",
"cc/installer.go",
"cc/linker.go",
"cc/binary.go",
"cc/binary_sdk_member.go",
"cc/fuzz.go",
"cc/library.go",
"cc/library_headers.go",
"cc/library_sdk_member.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",
"cc/llndk_library.go",
"cc/kernel_headers.go",
"cc/genrule.go",
"cc/vendor_public_library.go",
"cc/testing.go",
],
testSrcs: [
"cc/cc_test.go",
"cc/compiler_test.go",
"cc/gen_test.go",
"cc/genrule_test.go",
"cc/library_headers_test.go",
"cc/library_test.go",
"cc/object_test.go",
"cc/prebuilt_test.go",
"cc/proto_test.go",
"cc/test_data_test.go",
],
pluginFor: ["soong_build"],
}
bootstrap_go_package {
name: "soong-genrule",
pkgPath: "android/soong/genrule",
deps: [
"blueprint",
"blueprint-pathtools",
"soong",
"soong-android",
"soong-shared",
],
srcs: [
"genrule/genrule.go",
],
testSrcs: [
"genrule/genrule_test.go",
],
pluginFor: ["soong_build"],
}
bootstrap_go_package {
name: "soong-phony",
pkgPath: "android/soong/phony",
deps: [
"blueprint",
"soong-android",
],
srcs: [
"phony/phony.go",
],
pluginFor: ["soong_build"],
}
bootstrap_go_package {
name: "soong-java",
pkgPath: "android/soong/java",
deps: [
"blueprint",
"blueprint-pathtools",
"soong",
"soong-android",
"soong-cc",
"soong-dexpreopt",
"soong-genrule",
"soong-java-config",
"soong-tradefed",
],
srcs: [
"java/aapt2.go",
"java/aar.go",
"java/android_manifest.go",
"java/android_resources.go",
"java/androidmk.go",
"java/app_builder.go",
"java/app.go",
"java/builder.go",
"java/device_host_converter.go",
"java/dex.go",
"java/dexpreopt.go",
"java/dexpreopt_bootjars.go",
"java/dexpreopt_config.go",
"java/droiddoc.go",
"java/gen.go",
"java/genrule.go",
"java/hiddenapi.go",
"java/hiddenapi_singleton.go",
"java/jacoco.go",
"java/java.go",
"java/jdeps.go",
"java/java_resources.go",
"java/kotlin.go",
"java/platform_compat_config.go",
"java/plugin.go",
"java/prebuilt_apis.go",
"java/proto.go",
"java/robolectric.go",
"java/sdk.go",
"java/sdk_library.go",
"java/support_libraries.go",
"java/sysprop.go",
"java/system_modules.go",
"java/testing.go",
"java/tradefed.go",
],
testSrcs: [
"java/androidmk_test.go",
"java/app_test.go",
"java/device_host_converter_test.go",
"java/dexpreopt_test.go",
"java/dexpreopt_bootjars_test.go",
"java/java_test.go",
"java/jdeps_test.go",
"java/kotlin_test.go",
"java/plugin_test.go",
"java/sdk_test.go",
],
pluginFor: ["soong_build"],
}
bootstrap_go_package {
name: "soong-java-config",
pkgPath: "android/soong/java/config",
deps: [
"blueprint-proptools",
"soong-android",
"soong-remoteexec",
],
srcs: [
"java/config/config.go",
"java/config/error_prone.go",
"java/config/kotlin.go",
"java/config/makevars.go",
],
}
bootstrap_go_package {
name: "soong-rust-config",
pkgPath: "android/soong/rust/config",
deps: [
"soong-android",
"soong-cc-config",
],
srcs: [
"rust/config/arm_device.go",
"rust/config/arm64_device.go",
"rust/config/global.go",
"rust/config/toolchain.go",
"rust/config/whitelist.go",
"rust/config/x86_darwin_host.go",
"rust/config/x86_linux_host.go",
"rust/config/x86_device.go",
"rust/config/x86_64_device.go",
],
}
bootstrap_go_package {
name: "soong-rust",
pkgPath: "android/soong/rust",
deps: [
"soong",
"soong-android",
"soong-cc",
"soong-rust-config",
],
srcs: [
"rust/androidmk.go",
"rust/compiler.go",
"rust/coverage.go",
"rust/binary.go",
"rust/builder.go",
"rust/library.go",
"rust/prebuilt.go",
"rust/proc_macro.go",
"rust/rust.go",
"rust/test.go",
"rust/testing.go",
],
testSrcs: [
"rust/binary_test.go",
"rust/compiler_test.go",
"rust/coverage_test.go",
"rust/library_test.go",
"rust/rust_test.go",
"rust/test_test.go",
],
pluginFor: ["soong_build"],
}
bootstrap_go_package {
name: "soong-python",
pkgPath: "android/soong/python",
deps: [
"blueprint",
"soong-android",
"soong-tradefed",
],
srcs: [
"python/androidmk.go",
"python/binary.go",
"python/builder.go",
"python/defaults.go",
"python/installer.go",
"python/library.go",
"python/proto.go",
"python/python.go",
"python/test.go",
],
testSrcs: [
"python/python_test.go",
],
pluginFor: ["soong_build"],
}
bootstrap_go_package {
name: "soong-shared",
pkgPath: "android/soong/shared",
srcs: [
"shared/paths.go",
],
}
bootstrap_go_package {
name: "soong-tradefed",
pkgPath: "android/soong/tradefed",
deps: [
"blueprint",
"soong-android",
],
srcs: [
"tradefed/autogen.go",
"tradefed/config.go",
"tradefed/makevars.go",
],
pluginFor: ["soong_build"],
}
bootstrap_go_package {
name: "soong-xml",
pkgPath: "android/soong/xml",
deps: [
"blueprint",
"blueprint-pathtools",
"soong",
"soong-android",
],
srcs: [
"xml/xml.go",
],
testSrcs: [
"xml/xml_test.go",
],
pluginFor: ["soong_build"],
}
bootstrap_go_package {
name: "soong-apex",
pkgPath: "android/soong/apex",
deps: [
"blueprint",
"soong",
"soong-android",
"soong-cc",
"soong-java",
"soong-python",
],
srcs: [
"apex/androidmk.go",
"apex/apex.go",
"apex/apex_singleton.go",
"apex/builder.go",
"apex/key.go",
"apex/prebuilt.go",
"apex/vndk.go",
],
testSrcs: [
"apex/apex_test.go",
"apex/vndk_test.go",
],
pluginFor: ["soong_build"],
}
bootstrap_go_package {
name: "soong-sysprop",
pkgPath: "android/soong/sysprop",
deps: [
"blueprint",
"soong",
"soong-android",
"soong-cc",
"soong-java",
],
srcs: [
"sysprop/sysprop_library.go",
],
testSrcs: [
"sysprop/sysprop_test.go",
],
pluginFor: ["soong_build"],
}
bootstrap_go_package {
name: "soong-sdk",
pkgPath: "android/soong/sdk",
deps: [
"blueprint",
"soong",
"soong-android",
"soong-apex",
"soong-cc",
"soong-java",
],
srcs: [
"sdk/bp.go",
"sdk/exports.go",
"sdk/sdk.go",
"sdk/update.go",
],
testSrcs: [
"sdk/bp_test.go",
"sdk/cc_sdk_test.go",
"sdk/exports_test.go",
"sdk/java_sdk_test.go",
"sdk/sdk_test.go",
"sdk/testing.go",
],
pluginFor: ["soong_build"],
}
bootstrap_go_package {
name: "soong-remoteexec",
pkgPath: "android/soong/remoteexec",
deps: [
"blueprint",
"soong-android",
],
srcs: [
"remoteexec/remoteexec.go",
],
testSrcs: [
"remoteexec/remoteexec_test.go",
],
pluginFor: ["soong_build"],
}
//
// Defaults to enable various configurations of host bionic
//
cc_defaults {
name: "linux_bionic_supported",
host_supported: true,
target: {
host: {
enabled: false,
},
linux_bionic: {
enabled: true,
},
},
}
//
// C static libraries extracted from the gcc toolchain
//
toolchain_library {
name: "libatomic",
defaults: ["linux_bionic_supported"],
vendor_available: true,
ramdisk_available: true,
recovery_available: true,
native_bridge_supported: true,
arch: {
arm: {
src: "prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/arm-linux-androideabi/lib/libatomic.a",
},
arm64: {
src: "prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/aarch64-linux-android/lib64/libatomic.a",
},
x86: {
src: "prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/x86_64-linux-android/lib/libatomic.a",
},
x86_64: {
src: "prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/x86_64-linux-android/lib64/libatomic.a",
},
},
}
toolchain_library {
name: "libgcc",
defaults: ["linux_bionic_supported"],
vendor_available: true,
recovery_available: true,
native_bridge_supported: true,
arch: {
arm: {
src: "prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/lib/gcc/arm-linux-androideabi/4.9.x/libgcc.a",
},
arm64: {
src: "prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/lib/gcc/aarch64-linux-android/4.9.x/libgcc.a",
},
x86: {
src: "prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/lib/gcc/x86_64-linux-android/4.9.x/32/libgcc.a",
},
x86_64: {
src: "prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/lib/gcc/x86_64-linux-android/4.9.x/libgcc.a",
},
},
}
toolchain_library {
name: "libgcc_stripped",
defaults: ["linux_bionic_supported"],
vendor_available: true,
ramdisk_available: true,
recovery_available: true,
native_bridge_supported: true,
sdk_version: "current",
arch: {
arm: {
src: "prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/lib/gcc/arm-linux-androideabi/4.9.x/libgcc.a",
repack_objects_to_keep: [],
enabled: false,
},
arm64: {
src: "prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/lib/gcc/aarch64-linux-android/4.9.x/libgcc.a",
repack_objects_to_keep: ["unwind-dw2.o", "unwind-dw2-fde-dip.o"],
},
x86: {
src: "prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/lib/gcc/x86_64-linux-android/4.9.x/32/libgcc.a",
repack_objects_to_keep: ["unwind-dw2.o", "unwind-dw2-fde-dip.o"],
},
x86_64: {
src: "prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/lib/gcc/x86_64-linux-android/4.9.x/libgcc.a",
repack_objects_to_keep: ["unwind-dw2.o", "unwind-dw2-fde-dip.o"],
},
},
}
toolchain_library {
name: "libwinpthread",
host_supported: true,
enabled: false,
target: {
windows: {
enabled: true,
},
windows_x86: {
src: "prebuilts/gcc/linux-x86/host/x86_64-w64-mingw32-4.8/x86_64-w64-mingw32/lib32/libwinpthread.a",
},
windows_x86_64: {
src: "prebuilts/gcc/linux-x86/host/x86_64-w64-mingw32-4.8/x86_64-w64-mingw32/lib/libwinpthread.a",
},
},
notice: ":mingw-libwinpthread-notice",
}
toolchain_library {
name: "libgcov",
defaults: ["linux_bionic_supported"],
arch: {
arm: {
src: "prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.9/lib/gcc/arm-linux-androideabi/4.9.x/libgcov.a",
},
arm64: {
src: "prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9/lib/gcc/aarch64-linux-android/4.9.x/libgcov.a",
},
x86: {
src: "prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/lib/gcc/x86_64-linux-android/4.9.x/32/libgcov.a",
},
x86_64: {
src: "prebuilts/gcc/linux-x86/x86/x86_64-linux-android-4.9/lib/gcc/x86_64-linux-android/4.9.x/libgcov.a",
},
},
}
kernel_headers {
name: "device_kernel_headers",
vendor: true,
recovery_available: true,
}
cc_genrule {
name: "host_bionic_linker_asm",
host_supported: true,
device_supported: false,
target: {
linux_bionic: {
enabled: true,
},
linux_glibc: {
enabled: false,
},
darwin: {
enabled: false,
},
},
tools: ["extract_linker"],
cmd: "$(location) -s $(out) $(in)",
srcs: [":linker"],
out: ["linker.s"],
}
cc_genrule {
name: "host_bionic_linker_flags",
host_supported: true,
device_supported: false,
target: {
linux_bionic: {
enabled: true,
},
linux_glibc: {
enabled: false,
},
darwin: {
enabled: false,
},
},
tools: ["extract_linker"],
cmd: "$(location) -f $(out) $(in)",
srcs: [":linker"],
out: ["linker.flags"],
}