// This file is generated by cargo2android.py --config cargo2android.json.
// Do not modify this file as changes will be overridden on upgrade.

package {
    default_applicable_licenses: ["external_rust_crates_grpcio-sys_license"],
}

// Added automatically by a large-scale-change that took the approach of
// 'apply every license found to every target'. While this makes sure we respect
// every license restriction, it may not be entirely correct.
//
// e.g. GPL in an MIT project might only apply to the contrib/ directory.
//
// Please consider splitting the single license below into multiple licenses,
// taking care not to lose any license_kind information, and overriding the
// default license using the 'licenses: [...]' property on targets as needed.
//
// For unused files, consider creating a 'fileGroup' with "//visibility:private"
// to attach the license to, and including a comment whether the files may be
// used in the current project.
// See: http://go/android-license-faq
license {
    name: "external_rust_crates_grpcio-sys_license",
    visibility: [":__subpackages__"],
    license_kinds: [
        "SPDX-license-identifier-Apache-2.0",
        "SPDX-license-identifier-BSD",
        "SPDX-license-identifier-ISC",
        "SPDX-license-identifier-MIT",
        "legacy_unencumbered",
    ],
    license_text: [
        "LICENSE",
    ],
}

rust_library {
    name: "libgrpcio_sys",
    host_supported: true,
    crate_name: "grpcio_sys",
    cargo_env_compat: true,
    srcs: [
        "src/lib.rs",
        ":libgrpc_bindgen",
    ],
    edition: "2018",
    features: [
        "bindgen",
        "boringssl-src",
        "default",
        "secure",
        "use-bindgen",
    ],
    rustlibs: [
        "liblibc",
        "liblibz_sys",
    ],
    shared_libs: [
        "libgrpc++",
        "libgrpc_wrap"
    ],
    apex_available: [
        "//apex_available:platform",
        "com.android.bluetooth",
    ],
    min_sdk_version: "29",
}

cc_defaults {
    name: "libgrpcio_sys_defaults",
    cflags: [
        "-DGRPC_SYS_SECURE",
    ],
    cpp_std: "c++11",
    shared_libs: ["libgrpc++"],
    apex_available: [
        "//apex_available:platform",
        "com.android.bluetooth",
    ],
    min_sdk_version: "29",
}

cc_library {
    name: "libgrpc_wrap",
    defaults: ["libgrpcio_sys_defaults"],
    host_supported: true,
    srcs: ["grpc_wrap.cc"],
}

rust_bindgen {
    name: "libgrpc_bindgen",
    defaults: ["libgrpcio_sys_defaults"],
    host_supported: true,
    wrapper_src: "android/bindgen_wrapper.hpp",
    source_stem: "grpc-bindings",
    crate_name: "grpc_bindgen",
    bindgen_flags: [
        "--size_t-is-usize",
        "--constified-enum-module grpc_status_code",
        "--default-enum-style rust",
        "--allowlist-function=\\bgrpc_.*",
        "--allowlist-function=\\bgpr_.*",
        "--allowlist-function=\\bgrpcwrap_.*",
        "--allowlist-var=\\bGRPC_.*",
        "--allowlist-type=\\bgrpc_.*",
        "--allowlist-type=\\bgpr_.*",
        "--allowlist-type=\\bgrpcwrap_.*",
        "--allowlist-type=\\bcensus_context.*",
        "--allowlist-type=\\bverify_peer_options.*",
        "--blocklist-type=(__)?pthread.*",
        "--blocklist-function=\\bgpr_mu_.*",
        "--blocklist-function=\\bgpr_cv_.*",
        "--blocklist-function=\\bgpr_once_.*",
        "--blocklist-type=gpr_mu",
        "--blocklist-type=gpr_cv",
        "--blocklist-type=gpr_once",
    ],
    min_sdk_version: "29",
}

rust_test {
    name: "libgrpc_bindgen_test",
    srcs: [":libgrpc_bindgen"],
    crate_name: "grpc_bindgen_test",
    test_suites: ["general-tests"],
    auto_gen_config: true,
    clippy_lints: "none",
    lints: "none",
}
