diff --git a/.github/workflows/presubmit.yml b/.github/workflows/presubmit.yml index 104349c76ae7..7907344c5401 100644 --- a/.github/workflows/presubmit.yml +++ b/.github/workflows/presubmit.yml @@ -21,35 +21,44 @@ permissions: jobs: check_clang_format: name: Check clang-format and ruff - runs-on: macos-14 + runs-on: macos-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Install clang-format run: brew install llvm@21 - name: Check clang-format run: ./run-clang-format.sh -c - env: - CLANG_FORMAT_LLVM_INSTALL_DIR: /opt/homebrew/opt/llvm@21 - uses: astral-sh/ruff-action@v3 + check_clang_tidy: name: Check clang-tidy - runs-on: macos-14 + runs-on: macos-latest steps: - - uses: actions/checkout@v4 - - name: Install clang-tidy - run: brew install llvm@21 ninja lld@21 + - uses: actions/checkout@v6 + + - uses: actions/checkout@v6 + with: + repository: microsoft/vcpkg + path: vcpkg + ref: 2026.01.16 + fetch-depth: 0 # need all history for vcpkg's versioning mechanism to work + + - name: Install dependencies + run: brew install lld@21 llvm@21 + - name: Run clang-tidy run: ./run-clang-tidy.sh env: - CLANG_TIDY_LLVM_INSTALL_DIR: /opt/homebrew/opt/llvm@21 + VCPKG_ROOT: ${{ github.workspace }}/vcpkg + check_cmake_file_lists: name: Check CMake file lists - runs-on: ubuntu-22.04 + runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Run test sources check run: | shopt -s nullglob diff --git a/CMakeLists.txt b/CMakeLists.txt index cca601ef2555..116275ccf052 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,24 +1,4 @@ cmake_minimum_required(VERSION 3.28) - -# TODO: remove this after updating build bots. -if (CMAKE_TOOLCHAIN_FILE MATCHES "vcpkg") - if (NOT DEFINED VCPKG_OVERLAY_PORTS) - set(VCPKG_OVERLAY_PORTS "${CMAKE_CURRENT_LIST_DIR}/cmake/vcpkg") - endif () - - if (NOT DEFINED VCPKG_MANIFEST_FEATURES) - set(VCPKG_MANIFEST_FEATURES developer) - endif () - - # vcpkg and FetchContent are incompatible - set(Halide_USE_FETCHCONTENT OFF) -endif () - -option(Halide_USE_FETCHCONTENT "When Halide is top-level, use FetchContent for build-time dependencies." ON) -if (Halide_USE_FETCHCONTENT) - list(APPEND CMAKE_PROJECT_TOP_LEVEL_INCLUDES "${CMAKE_CURRENT_LIST_DIR}/cmake/dependencies.cmake") -endif () - project(Halide VERSION 22.0.0 DESCRIPTION "Halide compiler and libraries" diff --git a/CMakePresets.json b/CMakePresets.json index 9104a9d2729f..e1a88fd57744 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -9,315 +9,165 @@ { "name": "base", "hidden": true, - "binaryDir": "build/${presetName}", - "installDir": "install/${presetName}" + "generator": "Ninja", + "binaryDir": "${sourceParentDir}/halide-build", + "cacheVariables": { + "CMAKE_BUILD_TYPE": "Release", + "CMAKE_INSTALL_PREFIX": "${sourceParentDir}/halide-install", + "CMAKE_PREFIX_PATH": "$env{VIRTUAL_ENV}", + "CMAKE_TOOLCHAIN_FILE": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake", + "Halide_BUILD_HEXAGON_REMOTE_RUNTIME": "OFF", + "Halide_TARGET": "${presetName}", + "VCPKG_MANIFEST_FEATURES": "developer", + "WITH_PYTHON_BINDINGS": "ON", + "WITH_SERIALIZATION_JIT_ROUNDTRIP_TESTING": "OFF", + "WITH_TEST_FUZZ": "OFF" + } }, { - "name": "ci", + "name": "wasm-wabt", "hidden": true, - "inherits": "base", - "toolchainFile": "${sourceDir}/cmake/toolchain.${presetName}.cmake", "cacheVariables": { - "CMAKE_BUILD_TYPE": "RelWithDebInfo", - "Halide_LLVM_SHARED_LIBS": false + "Halide_WASM_BACKEND": "wabt", + "V8_INCLUDE_PATH": "", + "V8_LIB_PATH": "", + "WITH_PYTHON_BINDINGS": "OFF" } }, { - "name": "vcpkg", - "inherits": "base", - "displayName": "vcpkg deps", - "description": "Build dependencies (with Halide exclusions) with vcpkg", - "toolchainFile": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake", + "name": "wasm-v8", + "hidden": true, "cacheVariables": { - "VCPKG_MANIFEST_FEATURES": "developer", - "VCPKG_OVERLAY_PORTS": "${sourceDir}/cmake/vcpkg", - "Halide_USE_FETCHCONTENT": false + "Halide_WASM_BACKEND": "V8", + "V8_INCLUDE_PATH": "/home/halidenightly/v8/v8/include", + "V8_LIB_PATH": "/home/halidenightly/v8/v8/out/x64.release.static/obj/libv8_monolith.a", + "WITH_PYTHON_BINDINGS": "OFF" } }, { - "name": "vcpkg-full", - "inherits": "vcpkg", - "displayName": "vcpkg deps (all dependencies)", - "description": "Build ALL dependencies with vcpkg", - "cacheVariables": { - "VCPKG_OVERLAY_PORTS": "" - } + "name": "host", + "inherits": "base" }, { - "name": "vs2022", - "hidden": true, - "inherits": [ - "vcpkg" - ], - "condition": { - "type": "equals", - "lhs": "${hostSystemName}", - "rhs": "Windows" - }, - "generator": "Visual Studio 17 2022", - "toolset": "host=x64" + "name": "host-cuda", + "inherits": "base" }, { - "name": "debug", - "inherits": "base", - "displayName": "Debug", - "description": "Debug build with no special settings", - "cacheVariables": { - "CMAKE_BUILD_TYPE": "Debug" - } + "name": "host-cuda-opencl", + "inherits": "base" }, { - "name": "release", + "name": "host-hvx", "inherits": "base", - "displayName": "Release", - "description": "Release build with no special settings", "cacheVariables": { - "CMAKE_BUILD_TYPE": "Release" + "Halide_BUILD_HEXAGON_REMOTE_RUNTIME": "ON" } }, { - "name": "debug-vcpkg", - "inherits": [ - "debug", - "vcpkg" - ], - "displayName": "Debug (vcpkg)", - "description": "Debug build for a single-config generator, vcpkg dependencies" - }, - { - "name": "release-vcpkg", - "inherits": [ - "release", - "vcpkg" - ], - "displayName": "Release (vcpkg)", - "description": "Release build for a single-config generator, vcpkg dependencies" - }, - { - "name": "debug-vcpkg-full", - "inherits": [ - "debug", - "vcpkg-full" - ], - "displayName": "Debug (vcpkg-full)", - "description": "Debug build for a single-config generator, vcpkg-full dependencies" + "name": "host-metal", + "inherits": "base" }, { - "name": "release-vcpkg-full", - "inherits": [ - "release", - "vcpkg-full" - ], - "displayName": "Release (vcpkg-full)", - "description": "Release build for a single-config generator, vcpkg-full dependencies" + "name": "host-opencl", + "inherits": "base" }, { - "name": "win32", - "inherits": "vs2022", - "displayName": "Win32 (Visual Studio)", - "description": "Visual Studio-based Win32 build with vcpkg dependencies.", - "architecture": "Win32" + "name": "host-vulkan-vk_int8-vk_int16-vk_int64-vk_float16-vk_float64-vk_v13", + "inherits": "base" }, { - "name": "win64", - "inherits": "vs2022", - "displayName": "Win64 (Visual Studio)", - "description": "Visual Studio-based x64 build with vcpkg dependencies.", - "architecture": "x64" + "name": "host-webgpu", + "inherits": "base" }, { - "name": "win32-vcpkg-full", - "inherits": [ - "vcpkg-full", - "vs2022" - ], - "displayName": "Win32 (Visual Studio/vcpkg-full)", - "description": "Visual Studio-based Win32 build with vcpkg-full dependencies.", - "architecture": "Win32" + "name": "host.serialization_jit_testing", + "inherits": "base", + "cacheVariables": { + "Halide_TARGET": "host", + "WITH_SERIALIZATION_JIT_ROUNDTRIP_TESTING": "ON" + } }, { - "name": "win64-vcpkg-full", + "name": "wasm-32-wasmrt-wasm_mvponly.wabt", "inherits": [ - "vcpkg-full", - "vs2022" + "base", + "wasm-wabt" ], - "displayName": "Win64 (Visual Studio/vcpkg-full)", - "description": "Visual Studio-based x64 build with vcpkg-full dependencies.", - "architecture": "x64" - }, - { - "name": "macOS", - "displayName": "macOS (Apple Clang)", - "description": "macOS build using Apple Clang and Homebrew LLVM", - "generator": "Ninja", - "inherits": "release", - "condition": { - "type": "equals", - "lhs": "${hostSystemName}", - "rhs": "Darwin" - }, "cacheVariables": { - "Halide_LLVM_ROOT": "/opt/homebrew/opt/llvm" + "Halide_TARGET": "wasm-32-wasmrt-wasm_mvponly" } }, { - "name": "macOS-vcpkg", + "name": "wasm-32-wasmrt-wasm_simd128-wasm_threads.wabt", "inherits": [ - "macOS", - "vcpkg" + "base", + "wasm-wabt" ], - "displayName": "macOS (vcpkg)", - "description": "macOS build with vcpkg dependencies" + "cacheVariables": { + "Halide_TARGET": "wasm-32-wasmrt-wasm_simd128-wasm_threads" + } }, { - "name": "macOS-vcpkg-full", + "name": "wasm-32-wasmrt-wasm_simd128.V8", "inherits": [ - "macOS", - "vcpkg-full" + "base", + "wasm-v8" ], - "displayName": "macOS (vcpkg-full)", - "description": "macOS build with vcpkg-full dependencies" - }, - { - "name": "package", - "hidden": true, "cacheVariables": { - "CMAKE_BUILD_TYPE": "Release", - "LLVM_DIR": "$env{LLVM_DIR}", - "Clang_DIR": "$env{Clang_DIR}", - "LLD_DIR": "$env{LLD_DIR}", - "WITH_TESTS": "NO", - "WITH_TUTORIALS": "NO", - "WITH_DOCS": "YES", - "WITH_UTILS": "YES", - "WITH_PYTHON_BINDINGS": "NO", - "CMAKE_INSTALL_DATADIR": "share/Halide" + "Halide_TARGET": "wasm-32-wasmrt-wasm_simd128" } }, { - "name": "package-windows", + "name": "wasm-32-wasmrt-wasm_simd128.wabt", "inherits": [ - "package", - "vs2022" + "base", + "wasm-wabt" ], - "displayName": "Package ZIP for Windows", - "description": "Build for packaging Windows shared libraries.", - "binaryDir": "${sourceDir}/build", "cacheVariables": { - "BUILD_SHARED_LIBS": "YES", - "CMAKE_INSTALL_BINDIR": "bin/$", - "CMAKE_INSTALL_LIBDIR": "lib/$", - "Halide_INSTALL_CMAKEDIR": "lib/cmake/Halide", - "Halide_INSTALL_HELPERSDIR": "lib/cmake/HalideHelpers" + "Halide_TARGET": "wasm-32-wasmrt-wasm_simd128" } }, { - "name": "package-unix", - "inherits": "package", - "displayName": "Package UNIX shared libs", - "description": "Build for packaging UNIX shared libraries.", - "binaryDir": "shared-Release", + "name": "wasm-32-wasmrt-webgpu.wabt", + "inherits": [ + "base", + "wasm-wabt" + ], "cacheVariables": { - "BUILD_SHARED_LIBS": "YES" + "Halide_TARGET": "wasm-32-wasmrt-webgpu" } }, { - "name": "linux-x64-asan", - "inherits": "ci", - "displayName": "ASAN (Linux x64)", - "description": "Build everything with ASAN enabled", - "cacheVariables": { - "LLVM_ROOT": "$penv{LLVM_ROOT}" - } + "name": "x86-32-linux", + "inherits": "base" }, { - "name": "linux-x64-fuzzer", - "inherits": "ci", - "displayName": "Fuzzer (Linux x64)", - "description": "Build everything with fuzzing enabled", - "cacheVariables": { - "LLVM_ROOT": "$penv{LLVM_ROOT}", - "WITH_TUTORIALS": "NO", - "WITH_UTILS": "NO", - "WITH_PYTHON_BINDINGS": "NO", - "WITH_TESTS": "YES", - "WITH_TEST_AUTO_SCHEDULE": "NO", - "WITH_TEST_CORRECTNESS": "NO", - "WITH_TEST_ERROR": "NO", - "WITH_TEST_WARNING": "NO", - "WITH_TEST_PERFORMANCE": "NO", - "WITH_TEST_RUNTIME": "NO", - "WITH_TEST_GENERATOR": "NO", - "WITH_TEST_FUZZ": "YES", - "BUILD_SHARED_LIBS": "NO" - } - } - ], - "buildPresets": [ - { - "name": "debug", - "configurePreset": "debug", - "displayName": "Debug", - "description": "Debug build with no special settings" + "name": "x86-32-windows", + "inherits": "base" }, { - "name": "release", - "configurePreset": "release", - "displayName": "Release", - "description": "Release build with no special settings" + "name": "x86-64-linux", + "inherits": "base" }, { - "name": "linux-x64-asan", - "configurePreset": "linux-x64-asan", - "displayName": "ASAN (Linux x64)", - "description": "Build everything with ASAN enabled" + "name": "x86-64-linux-sse41", + "inherits": "base" }, { - "name": "linux-x64-fuzzer", - "configurePreset": "linux-x64-fuzzer", - "displayName": "Fuzzing (Linux x64)", - "description": "Build everything with fuzzing enabled" - } - ], - "testPresets": [ - { - "name": "debug", - "configurePreset": "debug", - "displayName": "Debug", - "description": "Test everything with Debug build", - "output": { - "outputOnFailure": true - } + "name": "x86-64-osx", + "inherits": "base" }, { - "name": "release", - "configurePreset": "release", - "displayName": "Release", - "description": "Test everything with Release build", - "output": { - "outputOnFailure": true - } + "name": "x86-64-osx-sse41", + "inherits": "base" }, { - "name": "linux-x64-asan", - "configurePreset": "linux-x64-asan", - "displayName": "ASAN (Linux x64)", - "description": "Test everything with ASAN enabled", - "environment": { - "ASAN_OPTIONS": "detect_leaks=0:detect_container_overflow=0" - }, - "output": { - "outputOnFailure": true - } + "name": "x86-64-windows", + "inherits": "base" }, { - "name": "linux-x64-fuzzer", - "configurePreset": "linux-x64-fuzzer", - "displayName": "Fuzzing (Linux x64)", - "description": "Test everything with fuzzing enabled", - "output": { - "outputOnFailure": true - } + "name": "x86-64-windows-sse41", + "inherits": "base" } ] } diff --git a/cmake/dependencies.cmake b/cmake/dependencies.cmake deleted file mode 100644 index 7a887f2b76ed..000000000000 --- a/cmake/dependencies.cmake +++ /dev/null @@ -1,77 +0,0 @@ -include(FetchContent) - -FetchContent_Declare( - flatbuffers - GIT_REPOSITORY https://github.com/google/flatbuffers.git - GIT_TAG 0100f6a5779831fa7a651e4b67ef389a8752bd9b # v23.5.26 - GIT_SHALLOW TRUE - SYSTEM -) - -FetchContent_Declare( - pybind11 - GIT_REPOSITORY https://github.com/pybind/pybind11.git - GIT_TAG 8a099e44b3d5f85b20f05828d919d2332a8de841 # v2.11.1 - GIT_SHALLOW TRUE - SYSTEM -) - -FetchContent_Declare( - wabt - GIT_REPOSITORY https://github.com/WebAssembly/wabt.git - GIT_TAG ad75c5edcdff96d73c245b57fbc07607aaca9f95 # 1.0.39 - GIT_SHALLOW TRUE - SYSTEM -) - -macro(Halide_provide_dependency method dep_name) - set(${dep_name}_FOUND 1) - - ## Set up sub-builds for Halide's requirements - if ("${dep_name}" STREQUAL "flatbuffers") - set(FLATBUFFERS_BUILD_TESTS OFF) - set(FLATBUFFERS_INSTALL OFF) - elseif ("${dep_name}" STREQUAL "pybind11") - # No special build options necessary - elseif ("${dep_name}" STREQUAL "wabt") - set(WITH_EXCEPTIONS "${Halide_ENABLE_EXCEPTIONS}") - set(BUILD_TESTS OFF) - set(BUILD_TOOLS OFF) - set(BUILD_LIBWASM OFF) - set(USE_INTERNAL_SHA256 ON) - else () - set(${dep_name}_FOUND 0) - endif () - - if (${dep_name}_FOUND) - list(APPEND Halide_provide_dependency_args "${method}" "${dep_name}") - FetchContent_MakeAvailable(${dep_name}) - list(POP_BACK Halide_provide_dependency_args method dep_name) - - ## Patches for broken packages - if ("${dep_name}" STREQUAL "flatbuffers") - if (NOT TARGET flatbuffers::flatbuffers) - add_library(flatbuffers::flatbuffers ALIAS flatbuffers) - add_executable(flatbuffers::flatc ALIAS flatc) - set_target_properties( - flatbuffers flatc - PROPERTIES - EXPORT_COMPILE_COMMANDS OFF - ) - endif () - endif () - if ("${dep_name}" STREQUAL "wabt") - set_target_properties( - wabt wasm-rt-impl - PROPERTIES - POSITION_INDEPENDENT_CODE ON - EXPORT_COMPILE_COMMANDS OFF - ) - endif () - endif () -endmacro() - -cmake_language( - SET_DEPENDENCY_PROVIDER Halide_provide_dependency - SUPPORTED_METHODS FIND_PACKAGE -) diff --git a/cmake/toolchain.macos-homebrew-clang.cmake b/cmake/toolchain.macos-homebrew-clang.cmake new file mode 100644 index 000000000000..cf95f4da5bcf --- /dev/null +++ b/cmake/toolchain.macos-homebrew-clang.cmake @@ -0,0 +1,49 @@ +# Toolchain for using Homebrew clang on macOS. +# +# Homebrew clang is badly misconfigured and needs help finding the system +# headers, even though it uses system libc++ by default. This toolchain +# queries xcrun to locate the SDK root and the Apple CLT toolchain root, +# then sets the standard include paths accordingly. The compiler's own +# resource directory (containing arm_neon.h, stdarg.h, etc.) is always in +# the built-in search path and must NOT be overridden here. + +cmake_minimum_required(VERSION 3.28) + +execute_process( + COMMAND xcrun --show-sdk-path + OUTPUT_VARIABLE _sdkroot + OUTPUT_STRIP_TRAILING_WHITESPACE + COMMAND_ERROR_IS_FATAL ANY +) + +# xcrun --find clang locates the Apple CLT clang (not the Homebrew one). +# Go two directory levels up from its bin/ directory to reach the toolchain +# root (e.g. /Library/Developer/CommandLineTools). +# NOTE: eventually this can be replaced by `xcrun --show-toolchain-path` +execute_process( + COMMAND xcrun --find clang + OUTPUT_VARIABLE _clang_path + OUTPUT_STRIP_TRAILING_WHITESPACE + COMMAND_ERROR_IS_FATAL ANY +) +cmake_path(GET _clang_path PARENT_PATH _clang_bin_dir) +cmake_path(GET _clang_bin_dir PARENT_PATH _clang_usr_dir) +cmake_path(GET _clang_usr_dir PARENT_PATH _toolchainroot) + +set(CMAKE_SYSROOT "${_sdkroot}") +set(CMAKE_C_STANDARD_INCLUDE_DIRECTORIES + "${_sdkroot}/usr/include" + "${_toolchainroot}/usr/include" + "${_sdkroot}/System/Library/Frameworks" + "${_sdkroot}/System/Library/SubFrameworks" +) + +# Homebrew clang's built-in include path finds its own libc++ headers, which +# have ABI tags incompatible with the system libc++ we link against. Use +# -nostdinc++ to suppress the built-in C++ search path so only the system +# libc++ headers (provided below) are used. +string(APPEND CMAKE_CXX_FLAGS_INIT " -nostdinc++") +set(CMAKE_CXX_STANDARD_INCLUDE_DIRECTORIES + "${_sdkroot}/usr/include/c++/v1" + ${CMAKE_C_STANDARD_INCLUDE_DIRECTORIES} +) diff --git a/cmake/triplets/arm32-linux.cmake b/cmake/triplets/arm32-linux.cmake new file mode 100644 index 000000000000..1da77a320362 --- /dev/null +++ b/cmake/triplets/arm32-linux.cmake @@ -0,0 +1,9 @@ +set(VCPKG_TARGET_ARCHITECTURE arm) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE static) + +set(VCPKG_CMAKE_SYSTEM_NAME Linux) + +if (CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "aarch64") + set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/env) +endif () diff --git a/cmake/triplets/arm64-linux.cmake b/cmake/triplets/arm64-linux.cmake new file mode 100644 index 000000000000..503743dcc41c --- /dev/null +++ b/cmake/triplets/arm64-linux.cmake @@ -0,0 +1,7 @@ +set(VCPKG_TARGET_ARCHITECTURE arm64) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE static) + +set(VCPKG_CMAKE_SYSTEM_NAME Linux) + +list(APPEND VCPKG_CMAKE_CONFIGURE_OPTIONS "-DCMAKE_CROSSCOMPILING=OFF") diff --git a/cmake/triplets/arm64-osx-homebrew.cmake b/cmake/triplets/arm64-osx-homebrew.cmake new file mode 100644 index 000000000000..a38f2c11c7d0 --- /dev/null +++ b/cmake/triplets/arm64-osx-homebrew.cmake @@ -0,0 +1,10 @@ +set(VCPKG_TARGET_ARCHITECTURE arm64) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE static) + +set(VCPKG_CMAKE_SYSTEM_NAME Darwin) +set(VCPKG_OSX_ARCHITECTURES arm64) + +list(APPEND VCPKG_CMAKE_CONFIGURE_OPTIONS "-DCMAKE_SYSTEM_PROCESSOR=arm64" "-DCMAKE_CROSSCOMPILING=OFF") + +set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${CMAKE_CURRENT_LIST_DIR}/../toolchain.macos-homebrew-clang.cmake") diff --git a/cmake/triplets/x64-osx-homebrew.cmake b/cmake/triplets/x64-osx-homebrew.cmake new file mode 100644 index 000000000000..9b1e9f662a7b --- /dev/null +++ b/cmake/triplets/x64-osx-homebrew.cmake @@ -0,0 +1,10 @@ +set(VCPKG_TARGET_ARCHITECTURE x64) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE static) + +set(VCPKG_CMAKE_SYSTEM_NAME Darwin) +set(VCPKG_OSX_ARCHITECTURES x86_64) + +list(APPEND VCPKG_CMAKE_CONFIGURE_OPTIONS "-DCMAKE_SYSTEM_PROCESSOR=x86_64" "-DCMAKE_CROSSCOMPILING=OFF") + +set(VCPKG_CHAINLOAD_TOOLCHAIN_FILE "${CMAKE_CURRENT_LIST_DIR}/../toolchain.macos-homebrew-clang.cmake") diff --git a/cmake/triplets/x86-linux.cmake b/cmake/triplets/x86-linux.cmake new file mode 100644 index 000000000000..7cb521fc5ac6 --- /dev/null +++ b/cmake/triplets/x86-linux.cmake @@ -0,0 +1,9 @@ +set(VCPKG_TARGET_ARCHITECTURE x86) +set(VCPKG_CRT_LINKAGE dynamic) +set(VCPKG_LIBRARY_LINKAGE static) + +set(VCPKG_CMAKE_SYSTEM_NAME Linux) + +if (CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL "x86_64") + set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/env) +endif () diff --git a/doc/BuildingHalideWithCMake.md b/doc/BuildingHalideWithCMake.md index adf2fcc7eadf..ac120cf6757a 100644 --- a/doc/BuildingHalideWithCMake.md +++ b/doc/BuildingHalideWithCMake.md @@ -501,10 +501,9 @@ install it into the currently active Python environment. However, this comes with a few caveats: -1. `Halide_USE_FETCHCONTENT` is disabled, so the environment must be prepared - for CMake to find its dependencies. This is easiest to do by setting either - `CMAKE_PREFIX_PATH` to pre-built dependencies or by setting - `CMAKE_TOOLCHAIN_FILE` to vcpkg. +1. The environment must be prepared for CMake to find its dependencies. This is + easiest to do by setting either `CMAKE_PREFIX_PATH` to pre-built dependencies + or by setting `CMAKE_TOOLCHAIN_FILE` to vcpkg. 2. The build settings are fixed, meaning that `wabt` is required on non-Windows systems, `flatbuffers` is always required, and the Python bindings must be built. diff --git a/doc/CodeStyleCMake.md b/doc/CodeStyleCMake.md index 6a08d1b77317..2ab44bc0da7d 100644 --- a/doc/CodeStyleCMake.md +++ b/doc/CodeStyleCMake.md @@ -142,9 +142,11 @@ There are also several functions that are disallowed for other reasons: | `site_name` | Privacy: do not want leak host name information | Provide a cache variable, generate a unique name. | | `variable_watch` | Debugging helper | None. Not needed in production. | -Do not introduce any dependencies via [`find_package`][find_package] -without broader approval. Importantly, never introduce a new use of -`FetchContent`; prefer to add dependencies to `vcpkg.json`. +Do not introduce any dependencies without broader approval. + +When introducing a new dependency, always use [`find_package`][find_package] +rather than `FetchContent`. This might entail adding an overlay port to Halide's +`cmake/vcpkg` directory. ## Prohibited variables list diff --git a/pyproject.toml b/pyproject.toml index b7bc1647ce9d..258355e30bb6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -68,7 +68,9 @@ dev = [ "setuptools-scm>=8.3.1", ] apps = [ - "onnx==1.18.0", # for apps/onnx + "onnx==1.18.0; platform_machine != 'armv7l' and platform_machine != 'armv8l'", # for apps/onnx + "onnx==1.17.0; platform_machine == 'armv7l'", # for apps/onnx + "onnx==1.17.0; platform_machine == 'armv8l'", # for apps/onnx "pytest", # unspecified onnx dependency ] tools = [ @@ -112,7 +114,6 @@ CMAKE_DISABLE_FIND_PACKAGE_PNG = true Halide_ENABLE_EXCEPTIONS = true Halide_ENABLE_RTTI = true Halide_INSTALL_PYTHONDIR = "." -Halide_USE_FETCHCONTENT = false Halide_WASM_BACKEND = "wabt" WITH_PYTHON_BINDINGS = true WITH_TESTS = false @@ -199,8 +200,16 @@ conflicts = [ [tool.uv.sources] halide-llvm = { index = "halide" } +numpy = { index = "piwheels", marker = "platform_machine == 'armv7l' or platform_machine == 'armv8l'" } +onnx = { index = "piwheels", marker = "platform_machine == 'armv7l' or platform_machine == 'armv8l'" } +pillow = { index = "piwheels", marker = "platform_machine == 'armv7l' or platform_machine == 'armv8l'" } [[tool.uv.index]] name = "halide" url = "https://pypi.halide-lang.org/simple" explicit = true + +[[tool.uv.index]] +name = "piwheels" +url = "https://www.piwheels.org/simple" +explicit = true diff --git a/python_bindings/src/halide/halide_/PyIROperator.cpp b/python_bindings/src/halide/halide_/PyIROperator.cpp index 2adbe3bee35c..677f9f5c9ab2 100644 --- a/python_bindings/src/halide/halide_/PyIROperator.cpp +++ b/python_bindings/src/halide/halide_/PyIROperator.cpp @@ -36,7 +36,7 @@ T cast_arg(const py::handle &arg) { } catch (const py::cast_error &) { _halide_user_error << "select(): Expected " << py::str(py::type::of().attr("__name__")) - << " but got " << py::str(arg.get_type().attr("__name__")) << ": " + << " but got " << py::str(py::type::of(arg).attr("__name__")) << ": " << py::str(arg); } } diff --git a/run-clang-format.sh b/run-clang-format.sh index b7556b6b73ce..50a06c300f61 100755 --- a/run-clang-format.sh +++ b/run-clang-format.sh @@ -2,7 +2,7 @@ set -e -ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)" +ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" > /dev/null 2>&1 && pwd)" ## @@ -25,12 +25,15 @@ EXPECTED_VERSION=21 ## -usage() { echo -e "Usage: $0 [-c]" 1>&2; exit 1; } +usage() { + echo -e "Usage: $0 [-c]" 1>&2 + exit 1 +} if [ "$(uname)" == "Darwin" ]; then - _DEFAULT_LLVM_LOCATION="/opt/homebrew/opt/llvm@$EXPECTED_VERSION" + _DEFAULT_LLVM_LOCATION="/opt/homebrew/opt/llvm@$EXPECTED_VERSION" else - _DEFAULT_LLVM_LOCATION="/usr/lib/llvm-$EXPECTED_VERSION" + _DEFAULT_LLVM_LOCATION="/usr/lib/llvm-$EXPECTED_VERSION" fi # Fix the formatting in-place @@ -49,7 +52,7 @@ while getopts "c" o; do done shift $((OPTIND - 1)) -if [[ "${MODE_FLAGS[*]}" =~ "-i" ]]; then +if [[ ${MODE_FLAGS[*]} =~ "-i" ]]; then if ! git diff-files --quiet --ignore-submodules; then echo -e "\033[0;31m" # RED echo "WARNING: There are still uncommited changes in your working tree." @@ -88,13 +91,13 @@ fi # Note that we specifically exclude files starting with . in order # to avoid finding emacs backup files find "${ROOT_DIR}/apps" \ - "${ROOT_DIR}/src" \ - "${ROOT_DIR}/tools" \ - "${ROOT_DIR}/test" \ - "${ROOT_DIR}/util" \ - "${ROOT_DIR}/python_bindings" \ - -not -path "${ROOT_DIR}/src/runtime/hexagon_remote/bin/src/*" \ - \( -name "*.cpp" -o -name "*.h" -o -name "*.c" \) -and -not -wholename "*/.*" \ - -print0 | xargs -0 "${CLANG_FORMAT}" "${MODE_FLAGS[@]}" -style=file + "${ROOT_DIR}/src" \ + "${ROOT_DIR}/tools" \ + "${ROOT_DIR}/test" \ + "${ROOT_DIR}/util" \ + "${ROOT_DIR}/python_bindings" \ + -not -path "${ROOT_DIR}/src/runtime/hexagon_remote/bin/src/*" \ + \( -name "*.cpp" -o -name "*.h" -o -name "*.c" \) -and -not -wholename "*/.*" \ + -print0 | xargs -0 "${CLANG_FORMAT}" "${MODE_FLAGS[@]}" -style=file exit "${PIPESTATUS[1]}" diff --git a/run-clang-tidy.sh b/run-clang-tidy.sh index 4963a427b591..eebb8dc06f9e 100755 --- a/run-clang-tidy.sh +++ b/run-clang-tidy.sh @@ -2,7 +2,7 @@ set -e -ROOT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" +ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" > /dev/null 2>&1 && pwd)" ## @@ -25,19 +25,20 @@ EXPECTED_VERSION=21 ## -usage() { echo "Usage: $0 [-j MAX_PROCESS_COUNT] [-f]" 1>&2; exit 1; } +usage() { + echo "Usage: $0 [-j MAX_PROCESS_COUNT] [-f]" 1>&2 + exit 1 +} -get_thread_count () { - ([ -x "$(command -v nproc)" ] && nproc) || - ([ -x "$(command -v sysctl)" ] && sysctl -n hw.physicalcpu) +get_thread_count() { + ([ -x "$(command -v nproc)" ] && nproc) || + ([ -x "$(command -v sysctl)" ] && sysctl -n hw.physicalcpu) } if [ "$(uname)" == "Darwin" ]; then - patch_file () { sed -i '' -E "$@"; } - _DEFAULT_LLVM_LOCATION="/opt/homebrew/opt/llvm@$EXPECTED_VERSION" + _DEFAULT_LLVM_LOCATION="/opt/homebrew/opt/llvm@$EXPECTED_VERSION" else - patch_file () { sed -i -E "$@"; } - _DEFAULT_LLVM_LOCATION="/usr/lib/llvm-$EXPECTED_VERSION" + _DEFAULT_LLVM_LOCATION="/usr/lib/llvm-$EXPECTED_VERSION" fi J=$(get_thread_count) @@ -45,19 +46,22 @@ FIX= while getopts ":j:f" o; do case "${o}" in - j) - J="${OPTARG}" - [[ "${J}" =~ ^[0-9]+$ ]] || ( echo "-j requires an integer argument"; usage ) - ;; - f) - FIX="-fix" - ;; - *) + j) + J="${OPTARG}" + [[ ${J} =~ ^[0-9]+$ ]] || ( + echo "-j requires an integer argument" usage - ;; + ) + ;; + f) + FIX="-fix" + ;; + *) + usage + ;; esac done -shift $((OPTIND-1)) +shift $((OPTIND - 1)) echo "Using ${J} processes." if [ -n "${FIX}" ]; then @@ -84,11 +88,11 @@ else fi # Use a temp folder for the CMake stuff here, so it's fresh & correct every time -if [[ -z "${CLANG_TIDY_BUILD_DIR}" ]]; then - CLANG_TIDY_BUILD_DIR=$(mktemp -d) - trap 'rm -rf ${CLANG_TIDY_BUILD_DIR}' EXIT +if [[ -z ${CLANG_TIDY_BUILD_DIR} ]]; then + CLANG_TIDY_BUILD_DIR=$(mktemp -d) + trap 'rm -rf ${CLANG_TIDY_BUILD_DIR}' EXIT else - mkdir -p "${CLANG_TIDY_BUILD_DIR}" + mkdir -p "${CLANG_TIDY_BUILD_DIR}" fi echo "CLANG_TIDY_BUILD_DIR = ${CLANG_TIDY_BUILD_DIR}" @@ -101,34 +105,40 @@ export CMAKE_BUILD_TYPE=Debug export CMAKE_EXPORT_COMPILE_COMMANDS=ON export Halide_LLVM_ROOT="${CLANG_TIDY_LLVM_INSTALL_DIR}" +CMAKE_ARGS=() + if [[ $(${CC} --version) =~ .*Homebrew.* ]]; then - # Homebrew clang 21 is badly misconfigured and needs help finding the - # system headers, even though it uses system libc++ by default. - SDKROOT="$(xcrun --show-sdk-path)" - # TOOLCHAINROOT="$(xcrun --show-toolchain-path)" - TOOLCHAINROOT="$(cd "$(dirname "$(xcrun --find clang)")"/../.. && pwd)" - RCDIR="$(xcrun clang -print-resource-dir)" - cat > "${CLANG_TIDY_BUILD_DIR}/toolchain.cmake" << EOF -set(CMAKE_SYSROOT "${SDKROOT}") -set(CMAKE_C_STANDARD_INCLUDE_DIRECTORIES - "${RCDIR}/include" - "${SDKROOT}/usr/include" - "${TOOLCHAINROOT}/usr/include" - "${SDKROOT}/System/Library/Frameworks" - "${SDKROOT}/System/Library/SubFrameworks" -) -set(CMAKE_CXX_STANDARD_INCLUDE_DIRECTORIES - "${SDKROOT}/usr/include/c++/v1" - \${CMAKE_C_STANDARD_INCLUDE_DIRECTORIES} -) -EOF - export CMAKE_TOOLCHAIN_FILE="${CLANG_TIDY_BUILD_DIR}/toolchain.cmake" + # Homebrew clang is badly misconfigured and needs help finding the + # system headers, even though it uses system libc++ by default. + ARCH="$(uname -m)" + if [[ ${ARCH} == "arm64" ]]; then + HOMEBREW_TRIPLET="arm64-osx-homebrew" + else + HOMEBREW_TRIPLET="x64-osx-homebrew" + fi + + if [[ -d ${VCPKG_ROOT:-} ]]; then + # vcpkg is active: delegate to the custom triple, which chains to the + # toolchain file that fixes the include paths. + CMAKE_ARGS+=( + -DCMAKE_TOOLCHAIN_FILE="${VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake" + -DVCPKG_CHAINLOAD_TOOLCHAIN_FILE="${ROOT_DIR}/cmake/toolchain.macos-homebrew-clang.cmake" + -DVCPKG_HOST_TRIPLET="${HOMEBREW_TRIPLET}" + -DVCPKG_TARGET_TRIPLET="${HOMEBREW_TRIPLET}" + -DVCPKG_OVERLAY_TRIPLETS="${ROOT_DIR}/cmake/triplets" + -DVCPKG_OVERLAY_PORTS="${ROOT_DIR}/cmake/vcpkg" + -DVCPKG_MANIFEST_FEATURES="developer" + ) + else + # vcpkg is not active: use the toolchain file directly. + CMAKE_ARGS+=(-DCMAKE_TOOLCHAIN_FILE="${ROOT_DIR}/cmake/toolchain.macos-homebrew-clang.cmake") + fi fi echo Configuring Halide... -cmake -S "${ROOT_DIR}" -B "${CLANG_TIDY_BUILD_DIR}" -Wno-dev -DWITH_TESTS=OFF +cmake -S "${ROOT_DIR}" -B "${CLANG_TIDY_BUILD_DIR}" -Wno-dev -DWITH_TESTS=OFF "${CMAKE_ARGS[@]}" -[ -a "${CLANG_TIDY_BUILD_DIR}/compile_commands.json" ] +[ -e "${CLANG_TIDY_BUILD_DIR}/compile_commands.json" ] echo Building Halide... cmake --build "${CLANG_TIDY_BUILD_DIR}" -j "${J}" @@ -139,9 +149,9 @@ trap 'rm -f $temp_file' EXIT rm -f "${CLANG_TIDY_BUILD_DIR}/src/runtime/compile_commands.json" cat "${CLANG_TIDY_BUILD_DIR}"/src/runtime/*.json > "$temp_file" { - echo '[' - cat "$temp_file" | sed '$ s/,$//' - echo ']' + echo '[' + cat "$temp_file" | sed '$ s/,$//' + echo ']' } > "${CLANG_TIDY_BUILD_DIR}/src/runtime/compile_commands.json" echo Merging compilation databases... diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 162bb6f74e4e..b379ab53c13c 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -530,12 +530,7 @@ if (WITH_SERIALIZATION) ) _Halide_pkgdep(flatbuffers) - if (Halide_USE_FETCHCONTENT AND NOT BUILD_SHARED_LIBS) - target_sources(Halide PRIVATE "$") - target_link_libraries(Halide PRIVATE "$>") - else () - target_link_libraries(Halide PRIVATE flatbuffers::flatbuffers) - endif () + target_link_libraries(Halide PRIVATE flatbuffers::flatbuffers) set(fb_def "${CMAKE_CURRENT_SOURCE_DIR}/halide_ir.fbs") set(fb_dir "${Halide_BINARY_DIR}/include/flatc") @@ -591,12 +586,7 @@ if (Halide_WASM_BACKEND STREQUAL "wabt") find_package(wabt 1.0.39 REQUIRED) _Halide_pkgdep(wabt) - if (Halide_USE_FETCHCONTENT AND NOT BUILD_SHARED_LIBS) - target_sources(Halide PRIVATE "$") - target_link_libraries(Halide PRIVATE "$>") - else () - target_link_libraries(Halide PRIVATE wabt::wabt) - endif () + target_link_libraries(Halide PRIVATE wabt::wabt) target_compile_definitions(Halide PRIVATE WITH_WABT) elseif (Halide_WASM_BACKEND STREQUAL "V8") diff --git a/uv.lock b/uv.lock index 53e504bd50d5..4fd05da0f9c5 100644 --- a/uv.lock +++ b/uv.lock @@ -2,8 +2,12 @@ version = 1 revision = 3 requires-python = ">=3.10" resolution-markers = [ - "python_full_version >= '3.11'", - "python_full_version < '3.11'", + "python_full_version >= '3.11' and platform_machine == 'armv7l'", + "python_full_version >= '3.11' and platform_machine == 'armv8l'", + "python_full_version >= '3.11' and platform_machine != 'armv7l' and platform_machine != 'armv8l'", + "python_full_version < '3.11' and platform_machine == 'armv7l'", + "python_full_version < '3.11' and platform_machine == 'armv8l'", + "python_full_version < '3.11' and platform_machine != 'armv7l' and platform_machine != 'armv8l'", ] conflicts = [[ { package = "halide", group = "ci-llvm-20" }, @@ -84,19 +88,23 @@ name = "halide" source = { editable = "." } dependencies = [ { name = "imageio" }, - { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11' or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main')" }, - { name = "numpy", version = "2.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main')" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and platform_machine != 'armv7l' and platform_machine != 'armv8l') or (python_full_version >= '3.11' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (python_full_version >= '3.11' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (python_full_version >= '3.11' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (python_full_version >= '3.11' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (python_full_version >= '3.11' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (python_full_version >= '3.11' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main')" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://www.piwheels.org/simple" }, marker = "(python_full_version < '3.11' and platform_machine == 'armv7l') or (python_full_version < '3.11' and platform_machine == 'armv8l') or (platform_machine != 'armv7l' and platform_machine != 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (platform_machine != 'armv7l' and platform_machine != 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine != 'armv7l' and platform_machine != 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine != 'armv7l' and platform_machine != 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine != 'armv7l' and platform_machine != 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine != 'armv7l' and platform_machine != 'armv8l' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main')" }, + { name = "numpy", version = "2.4.2", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and platform_machine != 'armv7l' and platform_machine != 'armv8l') or (python_full_version < '3.11' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (python_full_version < '3.11' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (python_full_version < '3.11' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (python_full_version < '3.11' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (python_full_version < '3.11' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (python_full_version < '3.11' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main')" }, + { name = "numpy", version = "2.4.2", source = { registry = "https://www.piwheels.org/simple" }, marker = "(python_full_version >= '3.11' and platform_machine == 'armv7l') or (python_full_version >= '3.11' and platform_machine == 'armv8l') or (platform_machine != 'armv7l' and platform_machine != 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (platform_machine != 'armv7l' and platform_machine != 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine != 'armv7l' and platform_machine != 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine != 'armv7l' and platform_machine != 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine != 'armv7l' and platform_machine != 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine != 'armv7l' and platform_machine != 'armv8l' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main')" }, ] [package.dev-dependencies] apps = [ - { name = "onnx" }, + { name = "onnx", version = "1.17.0", source = { registry = "https://www.piwheels.org/simple" }, marker = "platform_machine == 'armv7l' or platform_machine == 'armv8l' or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main')" }, + { name = "onnx", version = "1.18.0", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine != 'armv7l' and platform_machine != 'armv8l') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main')" }, { name = "pytest" }, ] ci-base = [ { name = "cmake" }, { name = "ninja" }, - { name = "onnx" }, + { name = "onnx", version = "1.17.0", source = { registry = "https://www.piwheels.org/simple" }, marker = "platform_machine == 'armv7l' or platform_machine == 'armv8l' or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main')" }, + { name = "onnx", version = "1.18.0", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine != 'armv7l' and platform_machine != 'armv8l') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main')" }, { name = "pybind11" }, { name = "pytest" }, { name = "ruff" }, @@ -108,7 +116,8 @@ ci-llvm-20 = [ { name = "cmake" }, { name = "halide-llvm", version = "20.1.8", source = { registry = "https://pypi.halide-lang.org/simple" } }, { name = "ninja" }, - { name = "onnx" }, + { name = "onnx", version = "1.17.0", source = { registry = "https://www.piwheels.org/simple" }, marker = "(platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20') or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main')" }, + { name = "onnx", version = "1.18.0", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine != 'armv7l' and platform_machine != 'armv8l' and extra == 'group-6-halide-ci-llvm-20') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (extra != 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (extra != 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (extra != 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main')" }, { name = "pybind11" }, { name = "pytest" }, { name = "ruff" }, @@ -120,7 +129,8 @@ ci-llvm-21 = [ { name = "cmake" }, { name = "halide-llvm", version = "21.1.8", source = { registry = "https://pypi.halide-lang.org/simple" } }, { name = "ninja" }, - { name = "onnx" }, + { name = "onnx", version = "1.17.0", source = { registry = "https://www.piwheels.org/simple" }, marker = "(platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-21') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-21') or (extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main')" }, + { name = "onnx", version = "1.18.0", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine != 'armv7l' and platform_machine != 'armv8l' and extra == 'group-6-halide-ci-llvm-21') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (extra != 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main')" }, { name = "pybind11" }, { name = "pytest" }, { name = "ruff" }, @@ -132,7 +142,8 @@ ci-llvm-22 = [ { name = "cmake" }, { name = "halide-llvm", version = "22.1.0rc3", source = { registry = "https://pypi.halide-lang.org/simple" } }, { name = "ninja" }, - { name = "onnx" }, + { name = "onnx", version = "1.17.0", source = { registry = "https://www.piwheels.org/simple" }, marker = "(platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-22') or (extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main') or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main')" }, + { name = "onnx", version = "1.18.0", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine != 'armv7l' and platform_machine != 'armv8l' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main') or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main')" }, { name = "pybind11" }, { name = "pytest" }, { name = "ruff" }, @@ -144,7 +155,8 @@ ci-llvm-main = [ { name = "cmake" }, { name = "halide-llvm", version = "23.0.0.dev0+g80f627e6", source = { registry = "https://pypi.halide-lang.org/simple" } }, { name = "ninja" }, - { name = "onnx" }, + { name = "onnx", version = "1.17.0", source = { registry = "https://www.piwheels.org/simple" }, marker = "(platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-main') or (extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main') or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main')" }, + { name = "onnx", version = "1.18.0", source = { registry = "https://pypi.org/simple" }, marker = "(platform_machine != 'armv7l' and platform_machine != 'armv8l' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main') or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main')" }, { name = "pybind11" }, { name = "pytest" }, { name = "ruff" }, @@ -167,18 +179,23 @@ tools = [ [package.metadata] requires-dist = [ { name = "imageio", specifier = ">=2" }, - { name = "numpy", specifier = ">=1.26" }, + { name = "numpy", marker = "platform_machine != 'armv7l' and platform_machine != 'armv8l'", specifier = ">=1.26" }, + { name = "numpy", marker = "platform_machine == 'armv7l' or platform_machine == 'armv8l'", specifier = ">=1.26", index = "https://www.piwheels.org/simple" }, ] [package.metadata.requires-dev] apps = [ - { name = "onnx", specifier = "==1.18.0" }, + { name = "onnx", marker = "platform_machine != 'armv7l' and platform_machine != 'armv8l'", specifier = "==1.18.0" }, + { name = "onnx", marker = "platform_machine == 'armv7l'", specifier = "==1.17.0", index = "https://www.piwheels.org/simple" }, + { name = "onnx", marker = "platform_machine == 'armv8l'", specifier = "==1.17.0", index = "https://www.piwheels.org/simple" }, { name = "pytest" }, ] ci-base = [ { name = "cmake", specifier = ">=3.28" }, { name = "ninja", specifier = ">=1.11,!=1.13.0" }, - { name = "onnx", specifier = "==1.18.0" }, + { name = "onnx", marker = "platform_machine != 'armv7l' and platform_machine != 'armv8l'", specifier = "==1.18.0" }, + { name = "onnx", marker = "platform_machine == 'armv7l'", specifier = "==1.17.0", index = "https://www.piwheels.org/simple" }, + { name = "onnx", marker = "platform_machine == 'armv8l'", specifier = "==1.17.0", index = "https://www.piwheels.org/simple" }, { name = "pybind11", specifier = ">=2.11.1" }, { name = "pytest" }, { name = "ruff", specifier = ">=0.12" }, @@ -190,7 +207,9 @@ ci-llvm-20 = [ { name = "cmake", specifier = ">=3.28" }, { name = "halide-llvm", specifier = "~=20.1.0", index = "https://pypi.halide-lang.org/simple" }, { name = "ninja", specifier = ">=1.11,!=1.13.0" }, - { name = "onnx", specifier = "==1.18.0" }, + { name = "onnx", marker = "platform_machine != 'armv7l' and platform_machine != 'armv8l'", specifier = "==1.18.0" }, + { name = "onnx", marker = "platform_machine == 'armv7l'", specifier = "==1.17.0", index = "https://www.piwheels.org/simple" }, + { name = "onnx", marker = "platform_machine == 'armv8l'", specifier = "==1.17.0", index = "https://www.piwheels.org/simple" }, { name = "pybind11", specifier = ">=2.11.1" }, { name = "pytest" }, { name = "ruff", specifier = ">=0.12" }, @@ -202,7 +221,9 @@ ci-llvm-21 = [ { name = "cmake", specifier = ">=3.28" }, { name = "halide-llvm", specifier = "~=21.1.0", index = "https://pypi.halide-lang.org/simple" }, { name = "ninja", specifier = ">=1.11,!=1.13.0" }, - { name = "onnx", specifier = "==1.18.0" }, + { name = "onnx", marker = "platform_machine != 'armv7l' and platform_machine != 'armv8l'", specifier = "==1.18.0" }, + { name = "onnx", marker = "platform_machine == 'armv7l'", specifier = "==1.17.0", index = "https://www.piwheels.org/simple" }, + { name = "onnx", marker = "platform_machine == 'armv8l'", specifier = "==1.17.0", index = "https://www.piwheels.org/simple" }, { name = "pybind11", specifier = ">=2.11.1" }, { name = "pytest" }, { name = "ruff", specifier = ">=0.12" }, @@ -214,7 +235,9 @@ ci-llvm-22 = [ { name = "cmake", specifier = ">=3.28" }, { name = "halide-llvm", specifier = "~=22.1.0rc0", index = "https://pypi.halide-lang.org/simple" }, { name = "ninja", specifier = ">=1.11,!=1.13.0" }, - { name = "onnx", specifier = "==1.18.0" }, + { name = "onnx", marker = "platform_machine != 'armv7l' and platform_machine != 'armv8l'", specifier = "==1.18.0" }, + { name = "onnx", marker = "platform_machine == 'armv7l'", specifier = "==1.17.0", index = "https://www.piwheels.org/simple" }, + { name = "onnx", marker = "platform_machine == 'armv8l'", specifier = "==1.17.0", index = "https://www.piwheels.org/simple" }, { name = "pybind11", specifier = ">=2.11.1" }, { name = "pytest" }, { name = "ruff", specifier = ">=0.12" }, @@ -226,7 +249,9 @@ ci-llvm-main = [ { name = "cmake", specifier = ">=3.28" }, { name = "halide-llvm", specifier = "~=23.0.0.dev0", index = "https://pypi.halide-lang.org/simple" }, { name = "ninja", specifier = ">=1.11,!=1.13.0" }, - { name = "onnx", specifier = "==1.18.0" }, + { name = "onnx", marker = "platform_machine != 'armv7l' and platform_machine != 'armv8l'", specifier = "==1.18.0" }, + { name = "onnx", marker = "platform_machine == 'armv7l'", specifier = "==1.17.0", index = "https://www.piwheels.org/simple" }, + { name = "onnx", marker = "platform_machine == 'armv8l'", specifier = "==1.17.0", index = "https://www.piwheels.org/simple" }, { name = "pybind11", specifier = ">=2.11.1" }, { name = "pytest" }, { name = "ruff", specifier = ">=0.12" }, @@ -251,8 +276,12 @@ name = "halide-llvm" version = "20.1.8" source = { registry = "https://pypi.halide-lang.org/simple" } resolution-markers = [ - "python_full_version >= '3.11'", - "python_full_version < '3.11'", + "python_full_version >= '3.11' and platform_machine == 'armv7l'", + "python_full_version >= '3.11' and platform_machine == 'armv8l'", + "python_full_version >= '3.11' and platform_machine != 'armv7l' and platform_machine != 'armv8l'", + "python_full_version < '3.11' and platform_machine == 'armv7l'", + "python_full_version < '3.11' and platform_machine == 'armv8l'", + "python_full_version < '3.11' and platform_machine != 'armv7l' and platform_machine != 'armv8l'", ] wheels = [ { url = "https://pypi.halide-lang.org/packages/halide_llvm-20.1.8-py3-none-macosx_11_0_arm64.whl", hash = "sha256:8230565dc0458e4f1b60444e9df259a3c66ffed8c2b54444b73dbb2c7e5606b5" }, @@ -270,8 +299,12 @@ name = "halide-llvm" version = "21.1.8" source = { registry = "https://pypi.halide-lang.org/simple" } resolution-markers = [ - "python_full_version >= '3.11'", - "python_full_version < '3.11'", + "python_full_version >= '3.11' and platform_machine == 'armv7l'", + "python_full_version >= '3.11' and platform_machine == 'armv8l'", + "python_full_version >= '3.11' and platform_machine != 'armv7l' and platform_machine != 'armv8l'", + "python_full_version < '3.11' and platform_machine == 'armv7l'", + "python_full_version < '3.11' and platform_machine == 'armv8l'", + "python_full_version < '3.11' and platform_machine != 'armv7l' and platform_machine != 'armv8l'", ] wheels = [ { url = "https://pypi.halide-lang.org/packages/halide_llvm-21.1.8-py3-none-macosx_11_0_arm64.whl", hash = "sha256:3a5efde3893e1bd5da3729a4dc4697cc38d26d5accae3ff0869f4650a3d5d98b" }, @@ -289,8 +322,12 @@ name = "halide-llvm" version = "22.1.0rc3" source = { registry = "https://pypi.halide-lang.org/simple" } resolution-markers = [ - "python_full_version >= '3.11'", - "python_full_version < '3.11'", + "python_full_version >= '3.11' and platform_machine == 'armv7l'", + "python_full_version >= '3.11' and platform_machine == 'armv8l'", + "python_full_version >= '3.11' and platform_machine != 'armv7l' and platform_machine != 'armv8l'", + "python_full_version < '3.11' and platform_machine == 'armv7l'", + "python_full_version < '3.11' and platform_machine == 'armv8l'", + "python_full_version < '3.11' and platform_machine != 'armv7l' and platform_machine != 'armv8l'", ] wheels = [ { url = "https://pypi.halide-lang.org/packages/halide_llvm-22.1.0rc3-py3-none-macosx_11_0_arm64.whl", hash = "sha256:03f5038b423436f4ff793fcc073e6e8d063d1e4b0ea31b31c67168872d04a297" }, @@ -308,8 +345,12 @@ name = "halide-llvm" version = "23.0.0.dev0+g80f627e6" source = { registry = "https://pypi.halide-lang.org/simple" } resolution-markers = [ - "python_full_version >= '3.11'", - "python_full_version < '3.11'", + "python_full_version >= '3.11' and platform_machine == 'armv7l'", + "python_full_version >= '3.11' and platform_machine == 'armv8l'", + "python_full_version >= '3.11' and platform_machine != 'armv7l' and platform_machine != 'armv8l'", + "python_full_version < '3.11' and platform_machine == 'armv7l'", + "python_full_version < '3.11' and platform_machine == 'armv8l'", + "python_full_version < '3.11' and platform_machine != 'armv7l' and platform_machine != 'armv8l'", ] wheels = [ { url = "https://pypi.halide-lang.org/packages/halide_llvm-23.0.0.dev0+g80f627e6-py3-none-macosx_11_0_arm64.whl", hash = "sha256:be9d5b3ca332977d848d11ba1f06a852c37c5ae07238e481f02e163cd043f14e" }, @@ -327,8 +368,10 @@ name = "imageio" version = "2.37.2" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11' or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main')" }, - { name = "numpy", version = "2.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main')" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and platform_machine != 'armv7l' and platform_machine != 'armv8l') or (python_full_version >= '3.11' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (python_full_version >= '3.11' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (python_full_version >= '3.11' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (python_full_version >= '3.11' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (python_full_version >= '3.11' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (python_full_version >= '3.11' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main')" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://www.piwheels.org/simple" }, marker = "(python_full_version < '3.11' and platform_machine == 'armv7l') or (python_full_version < '3.11' and platform_machine == 'armv8l') or (platform_machine != 'armv7l' and platform_machine != 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (platform_machine != 'armv7l' and platform_machine != 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine != 'armv7l' and platform_machine != 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine != 'armv7l' and platform_machine != 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine != 'armv7l' and platform_machine != 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine != 'armv7l' and platform_machine != 'armv8l' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main')" }, + { name = "numpy", version = "2.4.2", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and platform_machine != 'armv7l' and platform_machine != 'armv8l') or (python_full_version < '3.11' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (python_full_version < '3.11' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (python_full_version < '3.11' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (python_full_version < '3.11' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (python_full_version < '3.11' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (python_full_version < '3.11' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main')" }, + { name = "numpy", version = "2.4.2", source = { registry = "https://www.piwheels.org/simple" }, marker = "(python_full_version >= '3.11' and platform_machine == 'armv7l') or (python_full_version >= '3.11' and platform_machine == 'armv8l') or (platform_machine != 'armv7l' and platform_machine != 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (platform_machine != 'armv7l' and platform_machine != 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine != 'armv7l' and platform_machine != 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine != 'armv7l' and platform_machine != 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine != 'armv7l' and platform_machine != 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine != 'armv7l' and platform_machine != 'armv8l' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main')" }, { name = "pillow" }, ] sdist = { url = "https://files.pythonhosted.org/packages/a3/6f/606be632e37bf8d05b253e8626c2291d74c691ddc7bcdf7d6aaf33b32f6a/imageio-2.37.2.tar.gz", hash = "sha256:0212ef2727ac9caa5ca4b2c75ae89454312f440a756fcfc8ef1993e718f50f8a", size = 389600, upload-time = "2025-11-04T14:29:39.898Z" } @@ -374,7 +417,7 @@ name = "numpy" version = "2.2.6" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version < '3.11'", + "python_full_version < '3.11' and platform_machine != 'armv7l' and platform_machine != 'armv8l'", ] sdist = { url = "https://files.pythonhosted.org/packages/76/21/7d2a95e4bba9dc13d043ee156a356c0a8f0c6309dff6b21b4d71a073b8a8/numpy-2.2.6.tar.gz", hash = "sha256:e29554e2bef54a90aa5cc07da6ce955accb83f21ab5de01a62c8478897b264fd", size = 20276440, upload-time = "2025-05-17T22:38:04.611Z" } wheels = [ @@ -434,12 +477,27 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/37/48/ac2a9584402fb6c0cd5b5d1a91dcf176b15760130dd386bbafdbfe3640bf/numpy-2.2.6-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:d042d24c90c41b54fd506da306759e06e568864df8ec17ccc17e9e884634fd00", size = 12812666, upload-time = "2025-05-17T21:45:31.426Z" }, ] +[[package]] +name = "numpy" +version = "2.2.6" +source = { registry = "https://www.piwheels.org/simple" } +resolution-markers = [ + "python_full_version < '3.11' and platform_machine == 'armv7l'", + "python_full_version < '3.11' and platform_machine == 'armv8l'", +] +wheels = [ + { url = "https://www.piwheels.org/simple/numpy/numpy-2.2.6-cp311-cp311-linux_armv6l.whl", hash = "sha256:9d5168644d4f18fda98839f03a5e6ede9b1b780ac4a187c188971a3dc4b0382e" }, + { url = "https://www.piwheels.org/simple/numpy/numpy-2.2.6-cp311-cp311-linux_armv7l.whl", hash = "sha256:9d5168644d4f18fda98839f03a5e6ede9b1b780ac4a187c188971a3dc4b0382e" }, + { url = "https://www.piwheels.org/simple/numpy/numpy-2.2.6-cp313-cp313-linux_armv6l.whl", hash = "sha256:495b42b52f5be434ff56e549d9deac19ac50de272f1f803755408e21c5e5e8cc" }, + { url = "https://www.piwheels.org/simple/numpy/numpy-2.2.6-cp313-cp313-linux_armv7l.whl", hash = "sha256:495b42b52f5be434ff56e549d9deac19ac50de272f1f803755408e21c5e5e8cc" }, +] + [[package]] name = "numpy" version = "2.4.2" source = { registry = "https://pypi.org/simple" } resolution-markers = [ - "python_full_version >= '3.11'", + "python_full_version >= '3.11' and platform_machine != 'armv7l' and platform_machine != 'armv8l'", ] sdist = { url = "https://files.pythonhosted.org/packages/57/fd/0005efbd0af48e55eb3c7208af93f2862d4b1a56cd78e84309a2d959208d/numpy-2.4.2.tar.gz", hash = "sha256:659a6107e31a83c4e33f763942275fd278b21d095094044eb35569e86a21ddae", size = 20723651, upload-time = "2026-01-31T23:13:10.135Z" } wheels = [ @@ -516,15 +574,54 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/de/e5/b7d20451657664b07986c2f6e3be564433f5dcaf3482d68eaecd79afaf03/numpy-2.4.2-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:be71bf1edb48ebbbf7f6337b5bfd2f895d1902f6335a5830b20141fc126ffba0", size = 12502577, upload-time = "2026-01-31T23:13:07.08Z" }, ] +[[package]] +name = "numpy" +version = "2.4.2" +source = { registry = "https://www.piwheels.org/simple" } +resolution-markers = [ + "python_full_version >= '3.11' and platform_machine == 'armv7l'", + "python_full_version >= '3.11' and platform_machine == 'armv8l'", +] +wheels = [ + { url = "https://www.piwheels.org/simple/numpy/numpy-2.4.2-cp311-cp311-linux_armv6l.whl", hash = "sha256:67750511a0e237521e4c633ead976d0f77d3879f9c078de89c5aca943ee8fc56" }, + { url = "https://www.piwheels.org/simple/numpy/numpy-2.4.2-cp311-cp311-linux_armv7l.whl", hash = "sha256:67750511a0e237521e4c633ead976d0f77d3879f9c078de89c5aca943ee8fc56" }, + { url = "https://www.piwheels.org/simple/numpy/numpy-2.4.2-cp313-cp313-linux_armv6l.whl", hash = "sha256:c46cb8ff822299dca11cedfb7c631fa6169dc30764c50764f6a4d7ba6690cd55" }, + { url = "https://www.piwheels.org/simple/numpy/numpy-2.4.2-cp313-cp313-linux_armv7l.whl", hash = "sha256:c46cb8ff822299dca11cedfb7c631fa6169dc30764c50764f6a4d7ba6690cd55" }, +] + +[[package]] +name = "onnx" +version = "1.17.0" +source = { registry = "https://www.piwheels.org/simple" } +resolution-markers = [ + "python_full_version >= '3.11' and platform_machine == 'armv7l'", + "python_full_version >= '3.11' and platform_machine == 'armv8l'", + "python_full_version < '3.11' and platform_machine == 'armv7l'", + "python_full_version < '3.11' and platform_machine == 'armv8l'", +] +dependencies = [ + { name = "numpy", version = "2.2.6", source = { registry = "https://www.piwheels.org/simple" }, marker = "(python_full_version < '3.11' and platform_machine == 'armv7l') or (python_full_version < '3.11' and platform_machine == 'armv8l') or (platform_machine != 'armv7l' and platform_machine != 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (platform_machine != 'armv7l' and platform_machine != 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine != 'armv7l' and platform_machine != 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine != 'armv7l' and platform_machine != 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine != 'armv7l' and platform_machine != 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine != 'armv7l' and platform_machine != 'armv8l' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main')" }, + { name = "numpy", version = "2.4.2", source = { registry = "https://www.piwheels.org/simple" }, marker = "(python_full_version >= '3.11' and platform_machine == 'armv7l') or (python_full_version >= '3.11' and platform_machine == 'armv8l') or (platform_machine != 'armv7l' and platform_machine != 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (platform_machine != 'armv7l' and platform_machine != 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine != 'armv7l' and platform_machine != 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine != 'armv7l' and platform_machine != 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine != 'armv7l' and platform_machine != 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine != 'armv7l' and platform_machine != 'armv8l' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main')" }, + { name = "protobuf", marker = "platform_machine == 'armv7l' or platform_machine == 'armv8l' or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main')" }, +] +wheels = [ + { url = "https://archive1.piwheels.org/simple/onnx/onnx-1.17.0-cp311-cp311-linux_armv6l.whl", hash = "sha256:e0685ef16ae65d2738b31c46928289eb3bd1adabc5917b8d56f778248b6c054f" }, + { url = "https://archive1.piwheels.org/simple/onnx/onnx-1.17.0-cp311-cp311-linux_armv7l.whl", hash = "sha256:e0685ef16ae65d2738b31c46928289eb3bd1adabc5917b8d56f778248b6c054f" }, +] + [[package]] name = "onnx" version = "1.18.0" source = { registry = "https://pypi.org/simple" } +resolution-markers = [ + "python_full_version >= '3.11' and platform_machine != 'armv7l' and platform_machine != 'armv8l'", + "python_full_version < '3.11' and platform_machine != 'armv7l' and platform_machine != 'armv8l'", +] dependencies = [ - { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.11' or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main')" }, - { name = "numpy", version = "2.4.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.11' or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main')" }, - { name = "protobuf" }, - { name = "typing-extensions" }, + { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version < '3.11' and platform_machine != 'armv7l' and platform_machine != 'armv8l') or (python_full_version >= '3.11' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (python_full_version >= '3.11' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (python_full_version >= '3.11' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (python_full_version >= '3.11' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (python_full_version >= '3.11' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (python_full_version >= '3.11' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main')" }, + { name = "numpy", version = "2.4.2", source = { registry = "https://pypi.org/simple" }, marker = "(python_full_version >= '3.11' and platform_machine != 'armv7l' and platform_machine != 'armv8l') or (python_full_version < '3.11' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (python_full_version < '3.11' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (python_full_version < '3.11' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (python_full_version < '3.11' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (python_full_version < '3.11' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (python_full_version < '3.11' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main')" }, + { name = "protobuf", marker = "(platform_machine != 'armv7l' and platform_machine != 'armv8l') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main')" }, + { name = "typing-extensions", marker = "(platform_machine != 'armv7l' and platform_machine != 'armv8l') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv7l' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-21') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-20' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-22') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-21' and extra == 'group-6-halide-ci-llvm-main') or (platform_machine == 'armv8l' and extra == 'group-6-halide-ci-llvm-22' and extra == 'group-6-halide-ci-llvm-main')" }, ] sdist = { url = "https://files.pythonhosted.org/packages/3d/60/e56e8ec44ed34006e6d4a73c92a04d9eea6163cc12440e35045aec069175/onnx-1.18.0.tar.gz", hash = "sha256:3d8dbf9e996629131ba3aa1afd1d8239b660d1f830c6688dd7e03157cccd6b9c", size = 12563009, upload-time = "2025-05-12T22:03:09.626Z" } wheels = [ diff --git a/vcpkg-configuration.json b/vcpkg-configuration.json new file mode 100644 index 000000000000..82aabf9bbd80 --- /dev/null +++ b/vcpkg-configuration.json @@ -0,0 +1,8 @@ +{ + "overlay-triplets": [ + "cmake/triplets" + ], + "overlay-ports": [ + "cmake/vcpkg" + ] +} diff --git a/vcpkg.json b/vcpkg.json index 9811c1eb4742..c037002d4e33 100644 --- a/vcpkg.json +++ b/vcpkg.json @@ -5,7 +5,7 @@ "homepage": "https://github.com/halide/Halide", "license": "MIT", "supports": "!uwp", - "builtin-baseline": "d567b667adba0e72c5c3931ddbe745b66aa34b73", + "builtin-baseline": "23dc124705fcac41cf35c33dd9541f5094a9c19f", "default-features": [ "jit", "serialization"