CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
70 lines
2.2 KiB
Python
70 lines
2.2 KiB
Python
# Copyright Advanced Micro Devices, Inc.
|
|
# SPDX-License-Identifier: MIT
|
|
|
|
"""Main rocm-sdk-libraries (OS specific)."""
|
|
|
|
import importlib.util
|
|
import os
|
|
from setuptools import setup, find_packages
|
|
import sys
|
|
import sysconfig
|
|
from pathlib import Path
|
|
|
|
THIS_DIR = Path(__file__).resolve().parent
|
|
|
|
|
|
# The built package contains a pre-generated _dist_info.py file, which would
|
|
# normally be accessible at runtime. However, to make it available at
|
|
# package build time (here!), we have to dynamically import it.
|
|
def import_dist_info():
|
|
dist_info_path = THIS_DIR / "src" / "rocm_sdk_libraries" / "_dist_info.py"
|
|
if not dist_info_path.exists():
|
|
raise RuntimeError(f"No _dist_info.py file found: {dist_info_path}")
|
|
module_name = "rocm_sdk_dist_info"
|
|
spec = importlib.util.spec_from_file_location(module_name, dist_info_path)
|
|
module = importlib.util.module_from_spec(spec)
|
|
sys.modules[module_name] = module
|
|
spec.loader.exec_module(module)
|
|
return module
|
|
|
|
|
|
dist_info = import_dist_info()
|
|
my_package = dist_info.ALL_PACKAGES["libraries"]
|
|
print(f"Loaded dist_info package: {my_package}")
|
|
if dist_info.THIS_TARGET_FAMILY is None:
|
|
pure_py_package = my_package.pure_py_package_name
|
|
else:
|
|
pure_py_package = (
|
|
f"{my_package.pure_py_package_name}_{dist_info.THIS_TARGET_FAMILY}"
|
|
)
|
|
packages = [pure_py_package]
|
|
platform_py_package = my_package.get_py_package_name(
|
|
target_family=dist_info.THIS_TARGET_FAMILY
|
|
)
|
|
packages.append(platform_py_package)
|
|
print("Found packages:", packages)
|
|
|
|
setup(
|
|
name=my_package.get_dist_package_name(target_family=dist_info.THIS_TARGET_FAMILY),
|
|
version=dist_info.__version__,
|
|
packages=packages,
|
|
package_dir={
|
|
# Note that in the template, the package is not target qualified but
|
|
# at dist time it is.
|
|
f"{pure_py_package}": f"src/rocm_sdk_libraries",
|
|
f"{platform_py_package}": f"platform/{platform_py_package}",
|
|
},
|
|
zip_safe=False,
|
|
include_package_data=True,
|
|
options={
|
|
"bdist_wheel": {
|
|
"plat_name": os.getenv(
|
|
"ROCM_SDK_WHEEL_PLATFORM_TAG", sysconfig.get_platform()
|
|
),
|
|
},
|
|
},
|
|
entry_points={
|
|
"console_scripts": [],
|
|
},
|
|
)
|