# SPDX-License-Identifier: Apache-2.0 # SPDX-FileCopyrightText: Copyright contributors to the vLLM project """Shared setuptools-rust build entry for the vllm-rs binary.""" from __future__ import annotations import os import sys from pathlib import Path from setuptools import setup from setuptools_rust import Binding, RustExtension ROOT_DIR = Path(__file__).resolve().parents[1] def rust_extensions(*, optional: bool) -> list[RustExtension]: return [ RustExtension( target="vllm.vllm-rs", path="rust/src/cmd/Cargo.toml", args=["--bin", "vllm-rs"], features=["native-tls-vendored"], binding=Binding.Exec, optional=optional, ), ] def build_binary(build_rust_args: list[str]) -> None: os.chdir(ROOT_DIR) (ROOT_DIR / "vllm").mkdir(exist_ok=True) setup( name="vllm-rust-frontend-build", packages=[], rust_extensions=rust_extensions(optional=False), script_args=["build_rust", "--quiet", "--inplace", *build_rust_args], ) def main() -> None: build_binary(sys.argv[1:]) if __name__ == "__main__": main()