| // |
| // Copyright (C) 2020 The Android Open Source Project |
| // |
| // Licensed under the Apache License, Version 2.0 (the "License"); |
| // you may not use this file except in compliance with the License. |
| // You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, |
| // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| // See the License for the specific language governing permissions and |
| // limitations under the License. |
| |
| package { |
| default_applicable_licenses: ["Android-Apache-2.0"], |
| } |
| |
| bootstrap_go_package { |
| name: "cuttlefish-soong-rules", |
| pkgPath: "android/soong/cuttlefish", |
| deps: [ |
| "blueprint", |
| "soong", |
| "soong-android", |
| ], |
| srcs: [ |
| "cvd-host-package.go", |
| ], |
| pluginFor: ["soong_build"], |
| } |
| |
| // Allow cvd-host-package.go to read custom action config variables |
| // from ctx.Config().VendorConfig("cvd") |
| soong_config_module_type { |
| name: "cvd_host_package_customization", |
| module_type: "cvd_host_package", |
| config_namespace: "cvd", |
| value_variables: [ |
| "grub_config", |
| "launch_configs", |
| "custom_action_config", |
| "custom_action_servers", |
| ], |
| } |
| |
| // Start of generated qemu_x86_64_linux_gnu_binary |
| // Generated by gen_android_bp.py |
| qemu_x86_64_linux_gnu_binary = [ |
| "x86_64_linux_gnu_libc++.so.1_binary_for_qemu", |
| "x86_64_linux_gnu_libepoxy.so.0_binary_for_qemu", |
| "x86_64_linux_gnu_libgfxstream_backend.so.0_binary_for_qemu", |
| "x86_64_linux_gnu_librutabaga_gfx_ffi.so.0_binary_for_qemu", |
| "x86_64_linux_gnu_libvirglrenderer.so.1_binary_for_qemu", |
| "x86_64_linux_gnu_libz.so.1_binary_for_qemu", |
| "x86_64_linux_gnu_qemu-system-aarch64_binary_for_qemu", |
| "x86_64_linux_gnu_qemu-system-riscv64_binary_for_qemu", |
| "x86_64_linux_gnu_qemu-system-x86_64_binary_for_qemu", |
| ] |
| // End of generated qemu_x86_64_linux_gnu_binary |
| |
| // Start of generated qemu_x86_64_linux_gnu_resource |
| // Generated by gen_android_bp.py |
| qemu_x86_64_linux_gnu_resource = [ |
| "x86_64_efi-virtio.rom_resource_for_qemu", |
| "x86_64_en-us_resource_for_qemu", |
| "x86_64_opensbi-riscv64-generic-fw_dynamic.bin_resource_for_qemu", |
| ] |
| // End of generated qemu_x86_64_linux_gnu_resource |
| |
| cvd_host_tools = [ |
| "adb", |
| "adb_connector", |
| "allocd", |
| "allocd_client", |
| "assemble_cvd", |
| "avbtool", |
| "build_super_image", |
| "tcp_connector", |
| "casimir_control_server", |
| "common_crosvm", |
| "config_server", |
| "console_forwarder", |
| "control_env_proxy_server", |
| "crosvm", |
| "cvd", |
| "cvd_internal_display", |
| "cvd_internal_env", |
| "echo_server", |
| "cvd_internal_host_bugreport", |
| "cvd_internal_start", |
| "cvd_internal_status", |
| "cvd_internal_stop", |
| "cvd_host_bugreport", |
| "cvd_status", |
| "cvd_test_gce_driver", |
| "cvdremote", |
| "e2fsdroid", |
| "extract-ikconfig", |
| "extract-vmlinux", |
| "fastboot", |
| "fec", |
| "fsck.f2fs", |
| "gnss_grpc_proxy", |
| "health", |
| "kernel_log_monitor", |
| "launch_cvd", |
| "libgrpc++", |
| "libgrpc++_unsecure", |
| "log_tee", |
| "logcat_receiver", |
| "lpadd", |
| "lpmake", |
| "lpunpack", |
| "lz4", |
| "make_f2fs", |
| "metrics", |
| "metrics_launcher", |
| "mkbootfs", |
| "mkbootimg", |
| "mkenvimage_slim", |
| "mke2fs", |
| "mkuserimg_mke2fs", |
| "modem_simulator", |
| "ms-tpm-20-ref", |
| "mcopy", |
| "mmd", |
| "mtools", |
| "netsim", |
| "netsimd", |
| "newfs_msdos", |
| "openwrt_control_server", |
| "pica", |
| "powerwash_cvd", |
| "process_restarter", |
| "record_cvd", |
| "restart_cvd", |
| "root-canal", |
| "casimir", |
| "snapshot_util_cvd", |
| "run_cvd", |
| "screen_recording_server", |
| "secure_env", |
| "sefcontext_compile", |
| "cvd_send_sms", |
| "cvd_update_location", |
| "cvd_import_locations", |
| "simg2img", |
| "socket_vsock_proxy", |
| "stop_cvd", |
| "test_cvd_load_parser", |
| "tombstone_receiver", |
| "toybox", |
| "unpack_bootimg", |
| "webRTC", |
| "webrtc_operator", |
| "operator_proxy", |
| "wmediumd", |
| "wmediumd_gen_config", |
| "vulkan.pastel", |
| "automotive_vsock_proxy", |
| "vhost_device_vsock", |
| ] |
| |
| cvd_openwrt_images = [ |
| "openwrt_kernel_x86_64", |
| "openwrt_rootfs_x86_64", |
| "openwrt_kernel_aarch64", |
| "openwrt_rootfs_aarch64", |
| ] |
| |
| cvd_host_tests = [ |
| "cuttlefish_net_tests", |
| "modem_simulator_test", |
| ] |
| |
| cvd_host_webrtc_assets = [ |
| "webrtc_adb.js", |
| "webrtc_app.js", |
| "webrtc_index.js", |
| "webrtc_controls.js", |
| "webrtc_cf.js", |
| "webrtc_server_connector.js", |
| "webrtc_index.html", |
| "webrtc_client.html", |
| "webrtc_rootcanal.js", |
| "webrtc_location.js", |
| "webrtc_touch.js", |
| "webrtc_server.crt", |
| "webrtc_server.key", |
| "webrtc_server.p12", |
| "webrtc_style.css", |
| "webrtc_index.css", |
| "webrtc_controls.css", |
| "webrtc_trusted.pem", |
| ] |
| |
| cvd_host_model_simulator_files = [ |
| "iccprofile_for_sim0.xml_host", |
| "iccprofile_for_sim0_for_CtsCarrierApiTestCases.xml_host", |
| "numeric_operator.xml_host", |
| ] |
| |
| cvd_host_acloud_data = [ |
| "default.config_host", |
| ] |
| |
| cvd_host_x86_64_crosvm = [ |
| // Note: These should be uncommented out when backporting to older branches |
| // which only use the prebuilt and which do not build crosvm from source. |
| //"x86_64_linux_gnu_crosvm", |
| //"x86_64_linux_gnu_libdrm.so.2_for_crosvm", |
| //"x86_64_linux_gnu_libepoxy.so.0_for_crosvm", |
| //"x86_64_linux_gnu_libffi.so.7_for_crosvm", |
| //"x86_64_linux_gnu_libgbm.so.1_for_crosvm", |
| //"x86_64_linux_gnu_libgfxstream_backend.so_for_crosvm", |
| //"x86_64_linux_gnu_libminijail.so_for_crosvm", |
| //"x86_64_linux_gnu_libvirglrenderer.so.1_for_crosvm", |
| //"x86_64_linux_gnu_libwayland_client.so.0_for_crosvm", |
| ] |
| |
| // Note: these are prebuilts due to potential incompatibilities between Android |
| // built host binaries and native host GPU libraries drivers. |
| cvd_host_x86_64_graphics_detector = [ |
| "x86_64_linux_gnu_gfxstream_graphics_detector_for_crosvm", |
| ] |
| |
| cvd_host_aarch64_graphics_detector = [ |
| "aarch64_linux_gnu_gfxstream_graphics_detector_for_crosvm", |
| ] |
| |
| cvd_host_x86_64 = cvd_host_x86_64_graphics_detector + cvd_host_x86_64_crosvm + qemu_x86_64_linux_gnu_binary |
| |
| cvd_host_aarch64_crosvm = [ |
| "aarch64_linux_gnu_crosvm", |
| "aarch64_linux_gnu_libdrm.so.2_for_crosvm", |
| "aarch64_linux_gnu_libepoxy.so.0_for_crosvm", |
| "aarch64_linux_gnu_libffi.so.7_for_crosvm", |
| "aarch64_linux_gnu_libgbm.so.1_for_crosvm", |
| "aarch64_linux_gnu_libgfxstream_backend.so_for_crosvm", |
| "aarch64_linux_gnu_libminijail.so_for_crosvm", |
| "aarch64_linux_gnu_libvirglrenderer.so.1_for_crosvm", |
| "aarch64_linux_gnu_libwayland_client.so.0_for_crosvm", |
| ] |
| |
| cvd_host_aarch64 = cvd_host_aarch64_crosvm + cvd_host_aarch64_graphics_detector |
| |
| cvd_host_seccomp_policy_x86_64 = [ |
| "9p_device.policy_x86_64", |
| "balloon_device.policy_x86_64", |
| "battery.policy_x86_64", |
| "block_device.policy_x86_64", |
| "block_device_vhost_user.policy_x86_64", |
| "coiommu_device.policy_x86_64", |
| "cras_audio_device.policy_x86_64", |
| "fs_device.policy_x86_64", |
| "fw_cfg_device.policy_x86_64", |
| "gpu_device.policy_x86_64", |
| "gpu_render_server.policy_x86_64", |
| "input_device.policy_x86_64", |
| "iommu_device.policy_x86_64", |
| "jail_warden.policy_x86_64", |
| "net_device.policy_x86_64", |
| "null_audio_device.policy_x86_64", |
| "pmem_device.policy_x86_64", |
| "rng_device.policy_x86_64", |
| "serial_device.policy_x86_64", |
| "serial_device_vhost_user.policy_x86_64", |
| "snd_cras_device.policy_x86_64", |
| "snd_null_device.policy_x86_64", |
| "vfio_device.policy_x86_64", |
| "vhost_net_device.policy_x86_64", |
| "vhost_vsock_device.policy_x86_64", |
| "video_device.policy_x86_64", |
| "vios_audio_device.policy_x86_64", |
| "vtpm_proxy_device.policy_x86_64", |
| "wl_device.policy_x86_64", |
| "xhci_device.policy_x86_64", |
| ] |
| |
| cvd_host_seccomp_policy_aarch64 = [ |
| "9p_device.policy_aarch64", |
| "balloon_device.policy_aarch64", |
| "battery.policy_aarch64", |
| "block_device.policy_aarch64", |
| "coiommu_device.policy_aarch64", |
| "cras_audio_device.policy_aarch64", |
| "fs_device.policy_aarch64", |
| "gpu_device.policy_aarch64", |
| "gpu_render_server.policy_aarch64", |
| "input_device.policy_aarch64", |
| "net_device.policy_aarch64", |
| "null_audio_device.policy_aarch64", |
| "pmem_device.policy_aarch64", |
| "rng_device.policy_aarch64", |
| "serial_device.policy_aarch64", |
| "snd_cras_device.policy_aarch64", |
| "snd_null_device.policy_aarch64", |
| "vhost_net_device.policy_aarch64", |
| "vhost_scmi_device.policy_aarch64", |
| "vhost_vsock_device.policy_aarch64", |
| "video_device.policy_aarch64", |
| "vios_audio_device.policy_aarch64", |
| "wl_device.policy_aarch64", |
| "xhci_device.policy_aarch64", |
| ] |
| |
| cvd_host_bootloader = [ |
| "bootloader_crosvm_x86_64", |
| "bootloader_crosvm_aarch64", |
| "bootloader_qemu_aarch64", |
| "bootloader_qemu_arm", |
| "bootloader_qemu_riscv64", |
| "bootloader_qemu_x86_64", |
| ] |
| |
| prebuilt_etc_host { |
| name: "cvd_avb_testkey", |
| filename: "cvd_avb_testkey.pem", |
| src: ":avb_testkey_rsa4096", |
| } |
| |
| automotive_proxy_config = [ |
| "automotive_proxy_config" |
| ] |
| |
| cvd_host_avb_testkey = [ |
| "cvd_avb_pubkey", |
| "cvd_avb_testkey", |
| ] |
| |
| cvd_host_netsim_gui_assets = [ |
| "netsim_ui_index.html", |
| "netsim_ui_js_cube-sprite.js", |
| "netsim_ui_js_customize-map-button.js", |
| "netsim_ui_js_device-dragzone.js", |
| "netsim_ui_js_device-dropzone.js", |
| "netsim_ui_js_device-info.js", |
| "netsim_ui_js_device-list.js", |
| "netsim_ui_js_device-map.js", |
| "netsim_ui_js_device-observer.js", |
| "netsim_ui_js_license-info.js", |
| "netsim_ui_js_navigation-bar.js", |
| "netsim_ui_js_netsim-app.js", |
| "netsim_ui_js_packet-info.js", |
| "netsim_ui_js_pyramid-sprite.js", |
| "netsim_ui_js_model.js", |
| "netsim_ui_tslib", |
| "netsim_ui_assets_grid-background.svg", |
| "netsim_ui_assets_hexagonal-background.png", |
| "netsim_ui_assets_netsim-logo-b.svg", |
| "netsim_ui_assets_netsim-logo.svg", |
| "netsim_ui_assets_polar-background.svg", |
| ] |
| |
| genrule { |
| name: "vk_swiftshader_icd.json", |
| srcs: [ |
| "//external/swiftshader:swiftshader_icd_json_template", |
| ], |
| out: [ |
| "vk_swiftshader_icd.json", |
| ], |
| // From Vulkan Loader documentation: |
| // |
| // If "library_path" specifies a relative pathname, it is relative |
| // to the path of the JSON manifest file. |
| // |
| // Our host package looks like: |
| // |
| // <host package>/lib64/vulkan.pastel |
| // <host package>/usr/share/vulkan/icd.d/vk_swiftshader_icd.json |
| // |
| // so need "../../../../lib64/vulkan.pastel". |
| cmd: "sed -e 's|$${ICD_LIBRARY_PATH}|../../../../lib64/vulkan.pastel.so|g' $(in) > $(out)", |
| } |
| |
| prebuilt_usr_share_host { |
| name: "vk_swiftshader_icd_json_prebuilt", |
| filename: "vk_swiftshader_icd.json", |
| relative_install_path: "vulkan/icd.d", |
| src: ":vk_swiftshader_icd.json", |
| } |
| |
| cvd_host_swiftshader_files = [ |
| "vk_swiftshader_icd_json_prebuilt", |
| ] |
| |
| cvd_host_package_customization { |
| name: "cvd-host_package", |
| deps: cvd_host_tools + |
| cvd_host_tests, |
| multilib: { |
| common: { |
| deps: cvd_host_webrtc_assets + |
| cvd_host_avb_testkey + |
| cvd_host_model_simulator_files + |
| cvd_host_acloud_data + |
| cvd_host_bootloader + |
| cvd_host_swiftshader_files + |
| cvd_openwrt_images + |
| cvd_host_netsim_gui_assets + |
| automotive_proxy_config, |
| }, |
| }, |
| |
| arch: { |
| x86_64: { |
| deps: cvd_host_x86_64, |
| multilib: { |
| common: { |
| deps: cvd_host_seccomp_policy_x86_64 + qemu_x86_64_linux_gnu_resource, |
| }, |
| }, |
| }, |
| arm64: { |
| deps: cvd_host_aarch64, |
| multilib: { |
| common: { |
| deps: cvd_host_seccomp_policy_aarch64, |
| }, |
| }, |
| }, |
| }, |
| target: { |
| linux_musl: { |
| multilib: { |
| common: { |
| deps: ["tzdata_host"], |
| }, |
| }, |
| }, |
| linux_bionic_x86_64: { |
| enabled: false, |
| }, |
| darwin: { |
| enabled: false, |
| }, |
| }, |
| } |