load("@fbsource//xplat/executorch/build:runtime_wrapper.bzl", "runtime")
load("@fbcode_macros//build_defs:python_binary.bzl", "python_binary")
load("@fbsource//xplat/executorch/backends/qualcomm/qnn_version.bzl", "get_qnn_library_version")
load("@fbsource//xplat/executorch/build:runtime_wrapper.bzl", "runtime")

oncall("executorch")

runtime.python_library(
    name = "whisper_model_lib",
    srcs = [
        "whisper_model.py",
    ],
    deps = [
        "//caffe2:torch",
        "fbsource//third-party/pypi/transformers:transformers",
    ],
)

runtime.python_library(
    name = "whisper_lib",
    srcs = ["whisper.py"],
    deps = [
        ":whisper_model_lib",
        "//caffe2:torch",
        "//executorch/backends/qualcomm/_passes:passes",
        "//executorch/backends/qualcomm/partition:partition",
        "//executorch/backends/qualcomm/quantizer:quantizer",
        "//executorch/backends/qualcomm/serialization:serialization",
        "//executorch/backends/qualcomm/utils:utils",
        "//executorch/devtools/backend_debug:delegation_info",
        "//executorch/examples/qualcomm:utils",
        "//executorch/exir/capture:config",
        "//executorch/exir/passes:memory_planning_pass",
        "fbsource//third-party/pypi/datasets:datasets",
        "fbsource//third-party/pypi/librosa:librosa",
        "fbsource//third-party/pypi/soundfile:soundfile",
        "fbsource//third-party/pypi/torchmetrics:torchmetrics",
        "fbsource//third-party/pypi/transformers:transformers",
    ],
)

python_binary(
    name = "whisper",
    main_module = "executorch.examples.qualcomm.oss_scripts.whisper.whisper",
    deps = [
        ":whisper_lib",
    ],
)
