| 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", |
| ], |
| 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/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", |
| ], |
| 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/mips_device.go", |
| "cc/config/mips64_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/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/xom.go", |
| |
| "cc/cflag_artifacts.go", |
| "cc/cmakelists.go", |
| "cc/compdb.go", |
| "cc/compiler.go", |
| "cc/installer.go", |
| "cc/linker.go", |
| |
| "cc/binary.go", |
| "cc/fuzz.go", |
| "cc/library.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_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", |
| ], |
| 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/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/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/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/cc_sdk_test.go", |
| "sdk/exports_test.go", |
| "sdk/java_sdk_test.go", |
| "sdk/sdk_test.go", |
| "sdk/testing.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: ["unwind-arm.o", "libunwind.o", "pr-support.o"], |
| }, |
| 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"], |
| } |