Coverage for cuda/pathfinder/_headers/supported_nvidia_headers.py: 100.00%
24 statements
« prev ^ index » next coverage.py v7.16.0, created at 2026-09-03 02:41 +0000
« prev ^ index » next coverage.py v7.16.0, created at 2026-09-03 02:41 +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 import system_install_dir_patterns
16from cuda.pathfinder._headers.header_descriptor_catalog import HEADER_DESCRIPTOR_CATALOG
17from cuda.pathfinder._utils.platform_aware import IS_WINDOWS
19_CTK_DESCRIPTORS = tuple(desc for desc in HEADER_DESCRIPTOR_CATALOG if desc.packaged_with == "ctk")
20_NON_CTK_DESCRIPTORS = tuple(desc for desc in HEADER_DESCRIPTOR_CATALOG if desc.packaged_with == "other")
22SUPPORTED_HEADERS_CTK_COMMON: Final[dict[str, str]] = {
23 desc.name: desc.header_basename
24 for desc in _CTK_DESCRIPTORS
25 if desc.available_on_linux and desc.available_on_windows
26}
27SUPPORTED_HEADERS_CTK_LINUX_ONLY: Final[dict[str, str]] = {
28 desc.name: desc.header_basename
29 for desc in _CTK_DESCRIPTORS
30 if desc.available_on_linux and not desc.available_on_windows
31}
32SUPPORTED_HEADERS_CTK_WINDOWS_ONLY: Final[dict[str, str]] = {
33 desc.name: desc.header_basename
34 for desc in _CTK_DESCRIPTORS
35 if desc.available_on_windows and not desc.available_on_linux
36}
38SUPPORTED_HEADERS_CTK_LINUX = SUPPORTED_HEADERS_CTK_COMMON | SUPPORTED_HEADERS_CTK_LINUX_ONLY
39SUPPORTED_HEADERS_CTK_WINDOWS = SUPPORTED_HEADERS_CTK_COMMON | SUPPORTED_HEADERS_CTK_WINDOWS_ONLY
40SUPPORTED_HEADERS_CTK_ALL = (
41 SUPPORTED_HEADERS_CTK_COMMON | SUPPORTED_HEADERS_CTK_LINUX_ONLY | SUPPORTED_HEADERS_CTK_WINDOWS_ONLY
42)
43SUPPORTED_HEADERS_CTK: Final[dict[str, str]] = (
44 SUPPORTED_HEADERS_CTK_WINDOWS if IS_WINDOWS else SUPPORTED_HEADERS_CTK_LINUX
45)
47SUPPORTED_SITE_PACKAGE_HEADER_DIRS_CTK: Final[dict[str, tuple[str, ...]]] = {
48 desc.name: desc.site_packages_dirs for desc in _CTK_DESCRIPTORS if desc.site_packages_dirs
49}
51SUPPORTED_HEADERS_NON_CTK_COMMON: Final[dict[str, str]] = {
52 desc.name: desc.header_basename
53 for desc in _NON_CTK_DESCRIPTORS
54 if desc.available_on_linux and desc.available_on_windows
55}
56SUPPORTED_HEADERS_NON_CTK_LINUX_ONLY: Final[dict[str, str]] = {
57 desc.name: desc.header_basename
58 for desc in _NON_CTK_DESCRIPTORS
59 if desc.available_on_linux and not desc.available_on_windows
60}
61SUPPORTED_HEADERS_NON_CTK_WINDOWS_ONLY: Final[dict[str, str]] = {
62 desc.name: desc.header_basename
63 for desc in _NON_CTK_DESCRIPTORS
64 if desc.available_on_windows and not desc.available_on_linux
65}
67SUPPORTED_HEADERS_NON_CTK_LINUX = SUPPORTED_HEADERS_NON_CTK_COMMON | SUPPORTED_HEADERS_NON_CTK_LINUX_ONLY
68SUPPORTED_HEADERS_NON_CTK_WINDOWS = SUPPORTED_HEADERS_NON_CTK_COMMON | SUPPORTED_HEADERS_NON_CTK_WINDOWS_ONLY
69SUPPORTED_HEADERS_NON_CTK_ALL = (
70 SUPPORTED_HEADERS_NON_CTK_COMMON | SUPPORTED_HEADERS_NON_CTK_LINUX_ONLY | SUPPORTED_HEADERS_NON_CTK_WINDOWS_ONLY
71)
72SUPPORTED_HEADERS_NON_CTK: Final[dict[str, str]] = (
73 SUPPORTED_HEADERS_NON_CTK_WINDOWS if IS_WINDOWS else SUPPORTED_HEADERS_NON_CTK_LINUX
74)
76SUPPORTED_SITE_PACKAGE_HEADER_DIRS_NON_CTK: Final[dict[str, tuple[str, ...]]] = {
77 desc.name: desc.site_packages_dirs for desc in _NON_CTK_DESCRIPTORS if desc.site_packages_dirs
78}
80SUPPORTED_INSTALL_DIRS_NON_CTK: Final[dict[str, tuple[str, ...]]] = {
81 desc.name: patterns for desc in _NON_CTK_DESCRIPTORS if (patterns := system_install_dir_patterns(desc))
82}