diff --git a/C/CUDA/common.jl b/C/CUDA/common.jl index e33793ea7ff..e2ae81d0d4c 100644 --- a/C/CUDA/common.jl +++ b/C/CUDA/common.jl @@ -1,5 +1,6 @@ using JSON3, Downloads using BinaryBuilder +using Base: thisminor function get_sources(product::String, components::Vector{String}; version::Union{VersionNumber,String}, platform::Platform, @@ -98,39 +99,43 @@ fi""" # determine exactly which tarballs we should build builds = [] - components = [ - "cuda_cccl", - "cuda_cudart", - "cuda_cuobjdump", - "cuda_cupti", - "cuda_nvcc", - "cuda_nvdisasm", - "cuda_nvml_dev", - "cuda_nvprune", - "cuda_nvrtc", - - "cuda_sanitizer_api", - - "libcublas", - "libcufft", - "libcurand", - "libcusolver", - "libcusparse", - "libnpp" - ] - if version >= v"11.8" - push!(components, "cuda_profiler_api") - end - if version >= v"12" - push!(components, "libnvjitlink") - end - if version >= v"12.2" - # available earlier, but not for aarch64 - push!(components, "libnvjpeg") - end - for platform in platforms should_build_platform(triplet(platform)) || continue + + components = [ + "cuda_cuobjdump", + "cuda_cupti", + "cuda_nvcc", + "cuda_nvdisasm", + "cuda_nvml_dev", + "cuda_nvprune", + "cuda_nvrtc", + + "cuda_sanitizer_api", + + "libcublas", + "libcufft", + "libcurand", + "libcusolver", + "libcusparse", + "libnpp" + ] + if version >= v"11.8" + push!(components, "cuda_profiler_api") + end + if version >= v"12" + push!(components, "libnvjitlink") + end + if version >= v"12.2" + # available earlier, but not for aarch64 + push!(components, "libnvjpeg") + end + if arch(platform) != "aarch64" || platform["cuda_platform"] != "jetson" || thisminor(version) == v"12.3" + # XXX: cccl wasn't packaged for Jetson in 12.3 + push!(components, "cuda_cccl") + push!(components, "cuda_cudart") + end + push!(builds, (; script, platforms=[platform], products=Product[], sources=get_sources("cuda", components; version, platform)