python_binary_host { name: "build_trusty", srcs: ["*.py"], main: "build.py", version: { py3: { embedded_launcher: true, }, }, } genrule_defaults { name: "lk.elf.defaults", use_nsjail: true, dir_srcs: [ ":trusty_dirgroup_external_boringssl", ":trusty_dirgroup_external_dtc", ":trusty_dirgroup_external_freetype", ":trusty_dirgroup_external_googletest", ":trusty_dirgroup_external_libcxx", ":trusty_dirgroup_external_libcxxabi", ":trusty_dirgroup_external_nanopb-c", ":trusty_dirgroup_external_open-dice", ":trusty_dirgroup_external_python_jinja", ":trusty_dirgroup_external_python_markupsafe", ":trusty_dirgroup_external_python_six", ":trusty_dirgroup_external_rust_crates_acpi", ":trusty_dirgroup_external_rust_crates_arrayvec", ":trusty_dirgroup_external_rust_crates_async-trait", ":trusty_dirgroup_external_rust_crates_bit_field", ":trusty_dirgroup_external_rust_crates_bitflags", ":trusty_dirgroup_external_rust_crates_byteorder", ":trusty_dirgroup_external_rust_crates_cfg-if", ":trusty_dirgroup_external_rust_crates_ciborium", ":trusty_dirgroup_external_rust_crates_ciborium-io", ":trusty_dirgroup_external_rust_crates_ciborium-ll", ":trusty_dirgroup_external_rust_crates_const-oid", ":trusty_dirgroup_external_rust_crates_coset", ":trusty_dirgroup_external_rust_crates_der", ":trusty_dirgroup_external_rust_crates_der_derive", ":trusty_dirgroup_external_rust_crates_downcast-rs", ":trusty_dirgroup_external_rust_crates_enumn", ":trusty_dirgroup_external_rust_crates_flagset", ":trusty_dirgroup_external_rust_crates_foreign-types", ":trusty_dirgroup_external_rust_crates_foreign-types-shared", ":trusty_dirgroup_external_rust_crates_half", ":trusty_dirgroup_external_rust_crates_lazy_static", ":trusty_dirgroup_external_rust_crates_libc", ":trusty_dirgroup_external_rust_crates_log", ":trusty_dirgroup_external_rust_crates_num-derive", ":trusty_dirgroup_external_rust_crates_num-integer", ":trusty_dirgroup_external_rust_crates_num-traits", ":trusty_dirgroup_external_rust_crates_once_cell", ":trusty_dirgroup_external_rust_crates_openssl", ":trusty_dirgroup_external_rust_crates_openssl-macros", ":trusty_dirgroup_external_rust_crates_pkcs1", ":trusty_dirgroup_external_rust_crates_pkcs8", ":trusty_dirgroup_external_rust_crates_proc-macro2", ":trusty_dirgroup_external_rust_crates_protobuf", ":trusty_dirgroup_external_rust_crates_protobuf-support", ":trusty_dirgroup_external_rust_crates_quote", ":trusty_dirgroup_external_rust_crates_sec1", ":trusty_dirgroup_external_rust_crates_serde", ":trusty_dirgroup_external_rust_crates_serde_derive", ":trusty_dirgroup_external_rust_crates_smccc", ":trusty_dirgroup_external_rust_crates_spin", ":trusty_dirgroup_external_rust_crates_spki", ":trusty_dirgroup_external_rust_crates_static_assertions", ":trusty_dirgroup_external_rust_crates_syn", ":trusty_dirgroup_external_rust_crates_synstructure", ":trusty_dirgroup_external_rust_crates_thiserror", ":trusty_dirgroup_external_rust_crates_thiserror-impl", ":trusty_dirgroup_external_rust_crates_unicode-ident", ":trusty_dirgroup_external_rust_crates_unicode-xid", ":trusty_dirgroup_external_rust_crates_uuid", ":trusty_dirgroup_external_rust_crates_virtio-drivers", ":trusty_dirgroup_external_rust_crates_vm-memory", ":trusty_dirgroup_external_rust_crates_x509-cert", ":trusty_dirgroup_external_rust_crates_zerocopy", ":trusty_dirgroup_external_rust_crates_zerocopy-derive", ":trusty_dirgroup_external_rust_crates_zeroize", ":trusty_dirgroup_external_rust_crates_zeroize_derive", ":trusty_dirgroup_external_scudo", ":trusty_dirgroup_external_trusty_arm-trusted-firmware", ":trusty_dirgroup_external_trusty_bootloader", ":trusty_dirgroup_external_trusty_headers", ":trusty_dirgroup_external_trusty_lk", ":trusty_dirgroup_external_trusty_musl", ":trusty_dirgroup_frameworks_hardware_interfaces", ":trusty_dirgroup_frameworks_native", ":trusty_dirgroup_hardware_interfaces_security_see", ":trusty_dirgroup_hardware_interfaces_staging_security_see", ":trusty_dirgroup_hardware_libhardware", ":trusty_dirgroup_packages_modules_virtualization_libs_libhypervisor_backends", ":trusty_dirgroup_prebuilts_build-tools", ":trusty_dirgroup_prebuilts_clang-tools", ":trusty_dirgroup_prebuilts_clang_host_linux-x86", ":trusty_dirgroup_prebuilts_gcc_linux-x86_host_x86_64-linux-glibc2.17-4.8", ":trusty_dirgroup_prebuilts_misc", ":trusty_dirgroup_prebuilts_rust", ":trusty_dirgroup_system_authgraph", ":trusty_dirgroup_system_core", ":trusty_dirgroup_system_gatekeeper", ":trusty_dirgroup_system_keymaster", ":trusty_dirgroup_system_keymint", ":trusty_dirgroup_system_libbase", ":trusty_dirgroup_system_libcppbor", ":trusty_dirgroup_system_secretkeeper", ":trusty_dirgroup_system_teeui", ":trusty_dirgroup_system_tools_aidl", ":trusty_dirgroup_trusty_device_arm_generic-arm64", ":trusty_dirgroup_trusty_device_x86_generic-x86_64", ":trusty_dirgroup_trusty_kernel", ":trusty_dirgroup_trusty_user_app_avb", ":trusty_dirgroup_trusty_user_app_cast-auth", ":trusty_dirgroup_trusty_user_app_confirmationui", ":trusty_dirgroup_trusty_user_app_gatekeeper", ":trusty_dirgroup_trusty_user_app_keymaster", ":trusty_dirgroup_trusty_user_app_keymint", ":trusty_dirgroup_trusty_user_app_sample", ":trusty_dirgroup_trusty_user_app_secretkeeper", ":trusty_dirgroup_trusty_user_app_storage", ":trusty_dirgroup_trusty_user_base", ":trusty_dirgroup_trusty_vendor_google_aosp", ], srcs: [":trusty_filegroup_external_libcxx"], tools: [ "aidl_rust_glue", "aprotoc", "build_trusty", "trusty_metrics_atoms_protoc_plugin", ], keep_gendir: true, } // TODO(b/375543636): determine whether we'll include the Android build ID or not. genrule_cmd_template = "(mkdir -p $(genDir)/build-root && " + "cp -t . external/trusty/lk/makefile trusty/vendor/google/aosp/lk_inc.mk && " + "AIDL_RUST_GLUE_TOOL=$(location aidl_rust_glue) PROTOC_TOOL=$(location aprotoc) " + "PROTOC_PLUGIN_BINARY=$(location trusty_metrics_atoms_protoc_plugin) " + "$(location build_trusty) --script-dir trusty/vendor/google/aosp/scripts --buildid AVF_BUILTIN --verbose $$PROJECT_NAME " + "--build-root $(genDir)/build-root 1>$(genDir)/stdout.log 2>$(genDir)/stderr.log || (" + "echo Trusty build FAILED; echo stdout:; cat $(genDir)/stdout.log; echo stderr:; cat $(genDir)/stderr.log; false)) && " + "cp -f $(genDir)/build-root/build-$$PROJECT_NAME/lk.elf $(out)" genrule { name: "trusty-arm64.lk.elf.gen", defaults: ["lk.elf.defaults"], out: ["generic-arm64.lk.elf"], cmd: "PROJECT_NAME=generic-arm64; " + genrule_cmd_template, } genrule { name: "trusty-arm64-virt-test-debug.lk.elf.gen", defaults: ["lk.elf.defaults"], out: ["generic-arm64-virt-test-debug.lk.elf"], cmd: "PROJECT_NAME=generic-arm64-virt-test-debug; " + genrule_cmd_template, } genrule { name: "trusty-x86_64.lk.elf.gen", defaults: ["lk.elf.defaults"], out: ["generic-x86_64.lk.elf"], cmd: "PROJECT_NAME=generic-x86_64; " + genrule_cmd_template, } genrule { name: "trusty-x86_64-test.lk.elf.gen", defaults: ["lk.elf.defaults"], out: ["generic-x86_64-test.lk.elf"], cmd: "PROJECT_NAME=generic-x86_64-test; " + genrule_cmd_template, } prebuilt_etc { name: "trusty-lk.elf", enabled: false, arch: { arm64: { src: ":trusty-arm64.lk.elf.gen", enabled: true, }, x86_64: { src: ":trusty-x86_64.lk.elf.gen", enabled: true, }, }, filename: "trusty-lk.elf", } prebuilt_etc { name: "trusty-test-lk.elf", enabled: false, arch: { arm64: { src: ":trusty-arm64-virt-test-debug.lk.elf.gen", enabled: true, }, x86_64: { src: ":trusty-x86_64-test.lk.elf.gen", enabled: true, }, }, filename: "trusty-test-lk.elf", }