// This file is generated by cargo2android.py --run --dependencies --tests.

package {
    default_applicable_licenses: ["external_rust_crates_tokio-macros_license"],
}

// Added automatically by a large-scale-change
// See: http://go/android-license-faq
license {
    name: "external_rust_crates_tokio-macros_license",
    visibility: [":__subpackages__"],
    license_kinds: [
        "SPDX-license-identifier-MIT",
    ],
    license_text: [
        "LICENSE",
    ],
}

rust_proc_macro {
    name: "libtokio_macros",
    crate_name: "tokio_macros",
    srcs: ["src/lib.rs"],
    edition: "2018",
    rustlibs: [
        "libproc_macro2",
        "libquote",
        "libsyn",
    ],
}

rust_test_host {
    name: "tokio-macros_host_test_src_lib",
    crate_name: "tokio_macros",
    srcs: ["src/lib.rs"],
    test_suites: ["general-tests"],
    auto_gen_config: true,
    test_options: {
        unit_test: true,
    },
    edition: "2018",
    rustlibs: [
        "libproc_macro2",
        "libquote",
        "libsyn",
        "libtokio",
    ],
}

// dependent_library ["feature_list"]
//   autocfg-1.0.1
//   bytes-1.0.1 "default,std"
//   cfg-if-1.0.0
//   instant-0.1.9
//   libc-0.2.86 "align,default,std"
//   lock_api-0.4.2
//   log-0.4.14
//   memchr-2.3.4 "default,std"
//   mio-0.7.7 "default,net,os-ext,os-poll,os-util,tcp,udp,uds"
//   num_cpus-1.13.0
//   once_cell-1.5.2 "alloc,default,std"
//   parking_lot-0.11.1 "default"
//   parking_lot_core-0.8.2
//   pin-project-lite-0.2.4
//   proc-macro2-1.0.24 "default,proc-macro"
//   quote-1.0.8 "default,proc-macro"
//   scopeguard-1.1.0
//   signal-hook-registry-1.3.0
//   smallvec-1.6.1
//   syn-1.0.60 "clone-impls,default,derive,full,parsing,printing,proc-macro,quote"
//   tokio-1.2.0 "bytes,default,fs,full,io-std,io-util,libc,macros,memchr,mio,net,num_cpus,once_cell,parking_lot,process,rt,rt-multi-thread,signal,signal-hook-registry,sync,time,tokio-macros,winapi"
//   tokio-macros-1.1.0
//   unicode-xid-0.2.1 "default"
