Coverage for cuda / pathfinder / _headers / supported_nvidia_headers.py: 100.00%
23 statements
« prev ^ index » next coverage.py v7.13.5, created at 2026-03-25 01:07 +0000
« prev ^ index » next coverage.py v7.13.5, created at 2026-03-25 01:07 +0000
1# SPDX-FileCopyrightText: Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2# SPDX-License-Identifier: Apache-2.0
4"""Legacy table exports derived from the authored header descriptor catalog.
6The canonical data entry point is :mod:`header_descriptor_catalog`. This module
7keeps historical constant names for backward compatibility by deriving them
8from the catalog.
9"""
11from __future__ import annotations
13from typing import Final
15from cuda.pathfinder._headers.header_descriptor_catalog import HEADER_DESCRIPTOR_CATALOG
16from cuda.pathfinder._utils.platform_aware import IS_WINDOWS
18_CTK_DESCRIPTORS = tuple(desc for desc in HEADER_DESCRIPTOR_CATALOG if desc.packaged_with == "ctk")
19_NON_CTK_DESCRIPTORS = tuple(desc for desc in HEADER_DESCRIPTOR_CATALOG if desc.packaged_with == "other")
21SUPPORTED_HEADERS_CTK_COMMON: Final[dict[str, str]] = {
22 desc.name: desc.header_basename
23 for desc in _CTK_DESCRIPTORS
24 if desc.available_on_linux and desc.available_on_windows
25}
26SUPPORTED_HEADERS_CTK_LINUX_ONLY: Final[dict[str, str]] = {
27 desc.name: desc.header_basename
28 for desc in _CTK_DESCRIPTORS
29 if desc.available_on_linux and not desc.available_on_windows
30}
31SUPPORTED_HEADERS_CTK_WINDOWS_ONLY: Final[dict[str, str]] = {
32 desc.name: desc.header_basename
33 for desc in _CTK_DESCRIPTORS
34 if desc.available_on_windows and not desc.available_on_linux
35}
37SUPPORTED_HEADERS_CTK_LINUX = SUPPORTED_HEADERS_CTK_COMMON | SUPPORTED_HEADERS_CTK_LINUX_ONLY
38SUPPORTED_HEADERS_CTK_WINDOWS = SUPPORTED_HEADERS_CTK_COMMON | SUPPORTED_HEADERS_CTK_WINDOWS_ONLY
39SUPPORTED_HEADERS_CTK_ALL = (
40 SUPPORTED_HEADERS_CTK_COMMON | SUPPORTED_HEADERS_CTK_LINUX_ONLY | SUPPORTED_HEADERS_CTK_WINDOWS_ONLY
41)
42SUPPORTED_HEADERS_CTK: Final[dict[str, str]] = (
43 SUPPORTED_HEADERS_CTK_WINDOWS if IS_WINDOWS else SUPPORTED_HEADERS_CTK_LINUX
44)
46SUPPORTED_SITE_PACKAGE_HEADER_DIRS_CTK: Final[dict[str, tuple[str, ...]]] = {
47 desc.name: desc.site_packages_dirs for desc in _CTK_DESCRIPTORS if desc.site_packages_dirs
48}
50SUPPORTED_HEADERS_NON_CTK_COMMON: Final[dict[str, str]] = {
51 desc.name: desc.header_basename
52 for desc in _NON_CTK_DESCRIPTORS
53 if desc.available_on_linux and desc.available_on_windows
54}
55SUPPORTED_HEADERS_NON_CTK_LINUX_ONLY: Final[dict[str, str]] = {
56 desc.name: desc.header_basename
57 for desc in _NON_CTK_DESCRIPTORS
58 if desc.available_on_linux and not desc.available_on_windows
59}
60SUPPORTED_HEADERS_NON_CTK_WINDOWS_ONLY: Final[dict[str, str]] = {
61 desc.name: desc.header_basename
62 for desc in _NON_CTK_DESCRIPTORS
63 if desc.available_on_windows and not desc.available_on_linux
64}
66SUPPORTED_HEADERS_NON_CTK_LINUX = SUPPORTED_HEADERS_NON_CTK_COMMON | SUPPORTED_HEADERS_NON_CTK_LINUX_ONLY
67SUPPORTED_HEADERS_NON_CTK_WINDOWS = SUPPORTED_HEADERS_NON_CTK_COMMON | SUPPORTED_HEADERS_NON_CTK_WINDOWS_ONLY
68SUPPORTED_HEADERS_NON_CTK_ALL = (
69 SUPPORTED_HEADERS_NON_CTK_COMMON | SUPPORTED_HEADERS_NON_CTK_LINUX_ONLY | SUPPORTED_HEADERS_NON_CTK_WINDOWS_ONLY
70)
71SUPPORTED_HEADERS_NON_CTK: Final[dict[str, str]] = (
72 SUPPORTED_HEADERS_NON_CTK_WINDOWS if IS_WINDOWS else SUPPORTED_HEADERS_NON_CTK_LINUX
73)
75SUPPORTED_SITE_PACKAGE_HEADER_DIRS_NON_CTK: Final[dict[str, tuple[str, ...]]] = {
76 desc.name: desc.site_packages_dirs for desc in _NON_CTK_DESCRIPTORS if desc.site_packages_dirs
77}
79SUPPORTED_INSTALL_DIRS_NON_CTK: Final[dict[str, tuple[str, ...]]] = {
80 desc.name: desc.system_install_dirs for desc in _NON_CTK_DESCRIPTORS if desc.system_install_dirs
81}