| python_binary_host { |
| name: "build_trusty", |
| srcs: ["*.py"], |
| main: "build.py", |
| } |
| |
| 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_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", |
| ], |
| } |
| |
| // 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-test.lk.elf.gen", |
| defaults: ["lk.elf.defaults"], |
| out: ["generic-arm64-test.lk.elf"], |
| cmd: "PROJECT_NAME=generic-arm64-test; " + 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-test.lk.elf.gen", |
| enabled: true, |
| }, |
| x86_64: { |
| src: ":trusty-x86_64-test.lk.elf.gen", |
| enabled: true, |
| }, |
| }, |
| filename: "trusty-test-lk.elf", |
| } |