blob: 1bde0922f84071fdc2a48efe22deb50293095327 [file] [log] [blame]
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",
}