# ------------------------------------------------------------------
|
# Copyright (c) 2023 PyInstaller Development Team.
|
#
|
# This file is distributed under the terms of the GNU General Public
|
# License (version 2.0 or later).
|
#
|
# The full license is available in LICENSE, distributed with
|
# this software.
|
#
|
# SPDX-License-Identifier: GPL-2.0-or-later
|
# ---------------------------------------------------
|
|
from PyInstaller.utils.hooks import collect_dynamic_libs
|
|
# bitsandbytes contains several extensions for CPU and different CUDA versions: libbitsandbytes_cpu.so,
|
# libbitsandbytes_cuda110_nocublaslt.so, libbitsandbytes_cuda110.so, etc. At build-time, we could query the
|
# `bitsandbytes.cextension.setup` and its `binary_name` attribute for the extension that is in use. However, if the
|
# build system does not have CUDA available, this would automatically mean that we will not collect any of the CUDA
|
# libs. So for now, we collect them all.
|
binaries = collect_dynamic_libs("bitsandbytes")
|
|
# bitsandbytes uses triton's JIT module, which requires access to source .py files.
|
module_collection_mode = 'pyz+py'
|