Add bins and libs into the otatools.zip

- The apksigner, boot_signer, signapk, and verity_signer are sh files.
  Can't put them in "srcs" because they will be built as jar files.
- Use soong config to control the modules is not in AOSP.
- Not build "make_erofs": This module is not in main branch.
- Not build "mke2fs.conf": This module is not in $(HOST_OUT).

Bug: 395988167
Test: m otatools-package-temp
Change-Id: Iaa7ca00b6bea41e19aae0ed984262e22a794df8c
diff --git a/tools/otatools_package/Android.bp b/tools/otatools_package/Android.bp
index dea3d82..f9d79d6 100644
--- a/tools/otatools_package/Android.bp
+++ b/tools/otatools_package/Android.bp
@@ -33,6 +33,160 @@
     out: ["otatools_package_dep_jars.zip"],
 }
 
+cc_genrule {
+    name: "otatools_package_dep_libs",
+    host_supported: true,
+    device_supported: false,
+    compile_multilib: "first",
+    tools: ["soong_zip"],
+    cmd: "mkdir -p $(genDir)/$$CC_MULTILIB &&" +
+        "cp $(in) $(genDir)/$$CC_MULTILIB && " +
+        "$(location soong_zip) -o $(out) -C $(genDir) -D $(genDir)/$$CC_MULTILIB",
+    srcs: [
+        ":libbase",
+        ":libbrillo",
+        ":libbrillo-stream",
+        ":libc++",
+        "//external/libchrome:libchrome",
+        ":libconscrypt_openjdk_jni",
+        ":libcrypto",
+        ":libcrypto_utils",
+        ":libcutils",
+        ":libevent",
+        ":libext2_blkid",
+        ":libext2_com_err",
+        ":libext2_e2p",
+        ":libext2_quota",
+        ":libext2_uuid",
+        ":libext2fs",
+        ":libext4_utils",
+        ":libfec",
+        ":libhidl-gen-utils",
+        ":libhidlmetadata",
+        ":libicui18n",
+        ":libicuuc",
+        ":liblog",
+        ":liblp",
+        ":liblz4",
+        ":libpcre2",
+        ":libprocessgroup",
+        ":libprotobuf-cpp-lite",
+        ":libselinux",
+        ":libsparse",
+        ":libsqlite",
+        ":libsquashfs_utils",
+        ":libssl",
+        ":libz",
+        ":libziparchive",
+    ],
+    out: ["otatools_package_dep_libs.zip"],
+}
+
+cc_genrule {
+    name: "otatools_package_dep_bins",
+    host_supported: true,
+    device_supported: false,
+    compile_multilib: "first",
+    tools: [
+        "apksigner",
+        "boot_signer",
+        "merge_zips",
+        "signapk",
+        "verity_signer",
+    ],
+    cmd: "mkdir -p $(genDir)/bin && " +
+        "cp $(in) $(genDir)/bin && " +
+        "cp $(location apksigner) $(location boot_signer) $(location merge_zips) $(location signapk) $(location verity_signer) $(genDir)/bin && " +
+        "$(location :soong_zip) -o $(out) -C $(genDir) -D $(genDir)/bin",
+    srcs: [
+        ":aapt2",
+        ":add_img_to_target_files",
+        ":apex_compression_tool",
+        ":apexd_host",
+        ":apexer",
+        ":append2simg",
+        ":avbtool",
+        ":blk_alloc_to_base_fs",
+        ":brillo_update_payload",
+        ":brotli",
+        ":bsdiff",
+        ":build_image",
+        ":build_super_image",
+        ":build_verity_metadata",
+        ":build_verity_tree",
+        ":care_map_generator",
+        ":check_ota_package_signature",
+        ":check_target_files_signatures",
+        ":check_target_files_vintf",
+        ":checkvintf",
+        ":create_brick_ota",
+        ":deapexer",
+        ":debugfs_static",
+        ":delta_generator",
+        ":e2fsck",
+        ":e2fsdroid",
+        ":fc_sort",
+        ":fec",
+        ":fs_config",
+        ":fsck.erofs",
+        ":fsck.f2fs",
+        ":generate_verity_key",
+        ":host_init_verifier",
+        ":img2simg",
+        ":img_from_target_files",
+        ":initrd_bootconfig",
+        ":lpmake",
+        ":lpunpack",
+        ":lz4",
+        ":make_f2fs",
+        ":make_f2fs_casefold",
+        ":merge_ota",
+        ":merge_target_files",
+        "//device/generic/goldfish:mk_combined_img",
+        ":mkbootfs",
+        ":mkbootimg",
+        ":mke2fs",
+        ":mkf2fsuserimg",
+        ":mkfs.erofs",
+        ":mksquashfs",
+        ":mksquashfsimage",
+        ":mkuserimg_mke2fs",
+        ":ota_extractor",
+        ":ota_from_target_files",
+        ":repack_bootimg",
+        ":resize2fs",
+        ":secilc",
+        ":sefcontext_compile",
+        ":sgdisk",
+        ":shflags",
+        ":sign_apex",
+        ":sign_target_files_apks",
+        ":sign_virt_apex",
+        ":simg2img",
+        ":sload_f2fs",
+        ":soong_zip",
+        ":toybox",
+        ":tune2fs",
+        ":unpack_bootimg",
+        ":update_device",
+        ":validate_target_files",
+        ":verity_verifier",
+        ":zip2zip",
+        ":zipalign",
+        ":zucchini",
+    ] + select(soong_config_variable("otatools", "use_vendor_google_tools"), {
+        true: [":build_mixed_kernels_ramdisk_host"],
+        default: [],
+    }) + select(soong_config_variable("otatools", "use_bootable_deprecated_ota_applypatch"), {
+        true: [
+            ":imgdiff",
+            ":update_host_simulator",
+        ],
+        default: [],
+    }),
+    out: ["otatools_package_dep_bins.zip"],
+}
+
 java_genrule_host {
     name: "otatools_package",
     tools: ["merge_zips"],
@@ -40,7 +194,9 @@
     cmd: "$(location merge_zips) $(out) $(in)",
     srcs: [
         ":otatools_package_cert_files",
+        ":otatools_package_dep_bins",
         ":otatools_package_dep_jars",
+        ":otatools_package_dep_libs",
         ":otatools_package_releasetools",
     ],
     // TODO: Rename as "otatools.zip" when the rest files are ready.