1python_binary_host { 2 name: "build_trusty", 3 srcs: ["*.py"], 4 main: "build.py", 5 version: { 6 py3: { 7 embedded_launcher: true, 8 }, 9 }, 10} 11 12genrule_defaults { 13 name: "lk.elf.defaults", 14 use_nsjail: true, 15 dir_srcs: [ 16 ":trusty_dirgroup_external_boringssl", 17 ":trusty_dirgroup_external_dtc", 18 ":trusty_dirgroup_external_freetype", 19 ":trusty_dirgroup_external_googletest", 20 ":trusty_dirgroup_external_libcxx", 21 ":trusty_dirgroup_external_libcxxabi", 22 ":trusty_dirgroup_external_nanopb-c", 23 ":trusty_dirgroup_external_open-dice", 24 ":trusty_dirgroup_external_python_jinja", 25 ":trusty_dirgroup_external_python_markupsafe", 26 ":trusty_dirgroup_external_python_six", 27 ":trusty_dirgroup_external_rust_crates_acpi", 28 ":trusty_dirgroup_external_rust_crates_arrayvec", 29 ":trusty_dirgroup_external_rust_crates_async-trait", 30 ":trusty_dirgroup_external_rust_crates_bit_field", 31 ":trusty_dirgroup_external_rust_crates_bitflags", 32 ":trusty_dirgroup_external_rust_crates_byteorder", 33 ":trusty_dirgroup_external_rust_crates_cfg-if", 34 ":trusty_dirgroup_external_rust_crates_ciborium", 35 ":trusty_dirgroup_external_rust_crates_ciborium-io", 36 ":trusty_dirgroup_external_rust_crates_ciborium-ll", 37 ":trusty_dirgroup_external_rust_crates_const-oid", 38 ":trusty_dirgroup_external_rust_crates_coset", 39 ":trusty_dirgroup_external_rust_crates_der", 40 ":trusty_dirgroup_external_rust_crates_der_derive", 41 ":trusty_dirgroup_external_rust_crates_downcast-rs", 42 ":trusty_dirgroup_external_rust_crates_enumn", 43 ":trusty_dirgroup_external_rust_crates_flagset", 44 ":trusty_dirgroup_external_rust_crates_foreign-types", 45 ":trusty_dirgroup_external_rust_crates_foreign-types-shared", 46 ":trusty_dirgroup_external_rust_crates_half", 47 ":trusty_dirgroup_external_rust_crates_lazy_static", 48 ":trusty_dirgroup_external_rust_crates_libc", 49 ":trusty_dirgroup_external_rust_crates_log", 50 ":trusty_dirgroup_external_rust_crates_num-derive", 51 ":trusty_dirgroup_external_rust_crates_num-integer", 52 ":trusty_dirgroup_external_rust_crates_num-traits", 53 ":trusty_dirgroup_external_rust_crates_once_cell", 54 ":trusty_dirgroup_external_rust_crates_openssl", 55 ":trusty_dirgroup_external_rust_crates_openssl-macros", 56 ":trusty_dirgroup_external_rust_crates_pkcs1", 57 ":trusty_dirgroup_external_rust_crates_pkcs8", 58 ":trusty_dirgroup_external_rust_crates_proc-macro2", 59 ":trusty_dirgroup_external_rust_crates_protobuf", 60 ":trusty_dirgroup_external_rust_crates_protobuf-support", 61 ":trusty_dirgroup_external_rust_crates_quote", 62 ":trusty_dirgroup_external_rust_crates_sec1", 63 ":trusty_dirgroup_external_rust_crates_serde", 64 ":trusty_dirgroup_external_rust_crates_serde_derive", 65 ":trusty_dirgroup_external_rust_crates_smccc", 66 ":trusty_dirgroup_external_rust_crates_spin", 67 ":trusty_dirgroup_external_rust_crates_spki", 68 ":trusty_dirgroup_external_rust_crates_static_assertions", 69 ":trusty_dirgroup_external_rust_crates_syn", 70 ":trusty_dirgroup_external_rust_crates_synstructure", 71 ":trusty_dirgroup_external_rust_crates_thiserror", 72 ":trusty_dirgroup_external_rust_crates_thiserror-impl", 73 ":trusty_dirgroup_external_rust_crates_unicode-ident", 74 ":trusty_dirgroup_external_rust_crates_unicode-xid", 75 ":trusty_dirgroup_external_rust_crates_uuid", 76 ":trusty_dirgroup_external_rust_crates_virtio-drivers", 77 ":trusty_dirgroup_external_rust_crates_vm-memory", 78 ":trusty_dirgroup_external_rust_crates_x509-cert", 79 ":trusty_dirgroup_external_rust_crates_zerocopy", 80 ":trusty_dirgroup_external_rust_crates_zerocopy-derive", 81 ":trusty_dirgroup_external_rust_crates_zeroize", 82 ":trusty_dirgroup_external_rust_crates_zeroize_derive", 83 ":trusty_dirgroup_external_scudo", 84 ":trusty_dirgroup_external_trusty_arm-trusted-firmware", 85 ":trusty_dirgroup_external_trusty_bootloader", 86 ":trusty_dirgroup_external_trusty_headers", 87 ":trusty_dirgroup_external_trusty_lk", 88 ":trusty_dirgroup_external_trusty_musl", 89 ":trusty_dirgroup_frameworks_hardware_interfaces", 90 ":trusty_dirgroup_frameworks_native", 91 ":trusty_dirgroup_hardware_interfaces_security_see", 92 ":trusty_dirgroup_hardware_interfaces_staging_security_see", 93 ":trusty_dirgroup_hardware_libhardware", 94 ":trusty_dirgroup_packages_modules_virtualization_libs_libhypervisor_backends", 95 ":trusty_dirgroup_prebuilts_build-tools", 96 ":trusty_dirgroup_prebuilts_clang-tools", 97 ":trusty_dirgroup_prebuilts_clang_host_linux-x86", 98 ":trusty_dirgroup_prebuilts_gcc_linux-x86_host_x86_64-linux-glibc2.17-4.8", 99 ":trusty_dirgroup_prebuilts_misc", 100 ":trusty_dirgroup_prebuilts_rust", 101 ":trusty_dirgroup_system_authgraph", 102 ":trusty_dirgroup_system_core", 103 ":trusty_dirgroup_system_gatekeeper", 104 ":trusty_dirgroup_system_keymaster", 105 ":trusty_dirgroup_system_keymint", 106 ":trusty_dirgroup_system_libbase", 107 ":trusty_dirgroup_system_libcppbor", 108 ":trusty_dirgroup_system_secretkeeper", 109 ":trusty_dirgroup_system_teeui", 110 ":trusty_dirgroup_system_tools_aidl", 111 ":trusty_dirgroup_trusty_device_arm_generic-arm64", 112 ":trusty_dirgroup_trusty_device_x86_generic-x86_64", 113 ":trusty_dirgroup_trusty_kernel", 114 ":trusty_dirgroup_trusty_user_app_avb", 115 ":trusty_dirgroup_trusty_user_app_cast-auth", 116 ":trusty_dirgroup_trusty_user_app_confirmationui", 117 ":trusty_dirgroup_trusty_user_app_gatekeeper", 118 ":trusty_dirgroup_trusty_user_app_keymaster", 119 ":trusty_dirgroup_trusty_user_app_keymint", 120 ":trusty_dirgroup_trusty_user_app_sample", 121 ":trusty_dirgroup_trusty_user_app_secretkeeper", 122 ":trusty_dirgroup_trusty_user_app_storage", 123 ":trusty_dirgroup_trusty_user_base", 124 ":trusty_dirgroup_trusty_vendor_google_aosp", 125 ], 126 srcs: [":trusty_filegroup_external_libcxx"], 127 tools: [ 128 "aidl_rust_glue", 129 "aprotoc", 130 "build_trusty", 131 "trusty_metrics_atoms_protoc_plugin", 132 ], 133 keep_gendir: true, 134} 135 136// TODO(b/375543636): determine whether we'll include the Android build ID or not. 137genrule_cmd_template = "(mkdir -p $(genDir)/build-root && " + 138 "cp -t . external/trusty/lk/makefile trusty/vendor/google/aosp/lk_inc.mk && " + 139 "AIDL_RUST_GLUE_TOOL=$(location aidl_rust_glue) PROTOC_TOOL=$(location aprotoc) " + 140 "PROTOC_PLUGIN_BINARY=$(location trusty_metrics_atoms_protoc_plugin) " + 141 "$(location build_trusty) --script-dir trusty/vendor/google/aosp/scripts --buildid AVF_BUILTIN --verbose $$PROJECT_NAME " + 142 "--build-root $(genDir)/build-root 1>$(genDir)/stdout.log 2>$(genDir)/stderr.log || (" + 143 "echo Trusty build FAILED; echo stdout:; cat $(genDir)/stdout.log; echo stderr:; cat $(genDir)/stderr.log; false)) && " + 144 "cp -f $(genDir)/build-root/build-$$PROJECT_NAME/lk.elf $(out)" 145 146genrule { 147 name: "trusty-arm64.lk.elf.gen", 148 defaults: ["lk.elf.defaults"], 149 out: ["generic-arm64.lk.elf"], 150 cmd: "PROJECT_NAME=generic-arm64; " + genrule_cmd_template, 151} 152 153genrule { 154 name: "trusty-arm64-virt-test-debug.lk.elf.gen", 155 defaults: ["lk.elf.defaults"], 156 out: ["generic-arm64-virt-test-debug.lk.elf"], 157 cmd: "PROJECT_NAME=generic-arm64-virt-test-debug; " + genrule_cmd_template, 158} 159 160genrule { 161 name: "trusty-x86_64.lk.elf.gen", 162 defaults: ["lk.elf.defaults"], 163 out: ["generic-x86_64.lk.elf"], 164 cmd: "PROJECT_NAME=generic-x86_64; " + genrule_cmd_template, 165} 166 167genrule { 168 name: "trusty-x86_64-test.lk.elf.gen", 169 defaults: ["lk.elf.defaults"], 170 out: ["generic-x86_64-test.lk.elf"], 171 cmd: "PROJECT_NAME=generic-x86_64-test; " + genrule_cmd_template, 172} 173 174prebuilt_etc { 175 name: "trusty-lk.elf", 176 enabled: false, 177 arch: { 178 arm64: { 179 src: ":trusty-arm64.lk.elf.gen", 180 enabled: true, 181 }, 182 x86_64: { 183 src: ":trusty-x86_64.lk.elf.gen", 184 enabled: true, 185 }, 186 }, 187 filename: "trusty-lk.elf", 188} 189 190prebuilt_etc { 191 name: "trusty-test-lk.elf", 192 enabled: false, 193 arch: { 194 arm64: { 195 src: ":trusty-arm64-virt-test-debug.lk.elf.gen", 196 enabled: true, 197 }, 198 x86_64: { 199 src: ":trusty-x86_64-test.lk.elf.gen", 200 enabled: true, 201 }, 202 }, 203 filename: "trusty-test-lk.elf", 204} 205