// This file is generated by cargo_embargo.
// Do not modify this file because the changes will be overridden on upgrade.

package {
    default_applicable_licenses: ["external_rust_crates_bindgen-cli_license"],
    default_team: "trendy_team_android_rust",
}

license {
    name: "external_rust_crates_bindgen-cli_license",
    visibility: [":__subpackages__"],
    license_kinds: ["SPDX-license-identifier-BSD-3-Clause"],
    license_text: ["LICENSE"],
}

rust_binary_host {
    name: "bindgen",
    host_cross_supported: false,
    crate_name: "bindgen",
    cargo_env_compat: true,
    cargo_pkg_version: "0.69.5",
    crate_root: "main.rs",
    edition: "2018",
    features: [
        "default",
        "logging",
        "runtime",
        "which-rustfmt",
    ],
    rustlibs: [
        "libbindgen",
        "libclap",
        "libclap_complete",
        "libenv_logger",
        "liblog_rust",
        "libshlex",
    ],
    compile_multilib: "first",
}

rust_library_host {
    name: "libbindgen_cli",
    host_cross_supported: false,
    crate_name: "bindgen_cli",
    srcs: ["options.rs"],
    edition: "2018",
    rustlibs: [
        "libbindgen",
        "libclap",
        "libclap_complete",
        "libenv_logger",
    ],
    compile_multilib: "first",
}
