Skip to content

Commit c454a38

Browse files
committed
Clean up
1 parent 6ed895f commit c454a38

File tree

2 files changed

+29
-79
lines changed

2 files changed

+29
-79
lines changed

.github/workflows/build-wheels.yaml

Lines changed: 16 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -31,31 +31,18 @@ jobs:
3131
fail-fast: false
3232
matrix:
3333
include:
34-
#- os: ubuntu-latest
35-
# cibw_archs: "x86_64"
36-
#- os: ubuntu-24.04-arm
37-
# cibw_archs: "aarch64"
38-
#- os: windows-2025
39-
# cibw_archs: "AMD64"
40-
# # Not happy at the moment hence turned off
41-
# # It doesn't seem too far away, but something isn't quite right.
42-
# # Latest run by Zeb: https://github.com/openscm/example-fgen-basic/actions/runs/17173313157/job/48725872212
43-
# # Can't find numpy definitions for some reason.
44-
# # Maybe helpful issue: https://github.com/numpy/numpy/issues/25000
45-
# # numpy uses different compilers, might be something to try, see:
46-
# # - https://github.com/numpy/numpy/actions/runs/17087345049/job/48453931521
47-
# # - https://github.com/numpy/numpy/blob/37c9cb68ba7db9c48bc0e3354953c57a78d2b0e8/.github/workflows/wheels.yml#L129
48-
# # scipy doesn't bother building windows arm wheels, see:
49-
# # - https://pypi.org/project/scipy/#files
50-
# # potentially relevant scipy issues:
51-
# # - https://github.com/scipy/scipy/issues/21716
52-
# # - https://github.com/scipy/scipy/issues/14812
34+
- os: ubuntu-latest
35+
cibw_archs: "x86_64"
36+
- os: ubuntu-24.04-arm
37+
cibw_archs: "aarch64"
38+
- os: windows-2025
39+
cibw_archs: "AMD64"
5340
- os: windows-11-arm
5441
cibw_archs: "ARM64"
55-
#- os: macos-13
56-
# cibw_archs: "x86_64"
57-
#- os: macos-14
58-
# cibw_archs: "arm64"
42+
- os: macos-13
43+
cibw_archs: "x86_64"
44+
- os: macos-14
45+
cibw_archs: "arm64"
5946

6047
steps:
6148
- uses: actions/checkout@v5
@@ -68,56 +55,19 @@ jobs:
6855
# TODO: figure out whether we need/want to use other compilers too
6956
compiler: "gcc"
7057
version: "13"
71-
- name: Specify MSVC toolchain - windows-arm
72-
# When building on windows ARM, we need to use the MSVC toolchain
73-
# # Original from: https://github.com/matplotlib/matplotlib/blob/1ddb1eccac8cfc25dee47bc538dc5913384b253f/.github/workflows/cibuildwheel.yml#L108
74-
# # On Windows, we explicitly request MSVC compilers (as GitHub Action runners have
75-
# # MinGW on PATH that would be picked otherwise), switch to a static build for
76-
# # runtimes, but use dynamic linking for `VCRUNTIME140.dll`, `VCRUNTIME140_1.dll`,
77-
# # and the UCRT. This avoids requiring specific versions of `MSVCP140.dll`, while
78-
# # keeping shared state with the rest of the Python process/extensions.
79-
# CIBW_CONFIG_SETTINGS_WINDOWS: >-
80-
# setup-args="--vsenv"
81-
# setup-args="-Db_vscrt=mt"
82-
# setup-args="-Dcpp_link_args=['ucrt.lib','vcruntime.lib','/nodefaultlib:libucrt.lib','/nodefaultlib:libvcruntime.lib']"
83-
# run: |
84-
# echo 'CIBW_CONFIG_SETTINGS_WINDOWS=setup-args="--vsenv" setup-args="-Db_vscrt=mt"' >> $GITHUB_ENV
85-
# TODO: figure out escaping and add back in (?)
86-
# setup-args="-Dcpp_link_args=['ucrt.lib','vcruntime.lib','/nodefaultlib:libucrt.lib','/nodefaultlib:libvcruntime.lib']"
87-
####
58+
- name: Specify LLVM - windows-arm
8859
if: ${{ matrix.os == 'windows-11-arm' }}
8960
shell: pwsh
9061
run: |
62+
Invoke-WebRequest https://github.com/llvm/llvm-project/releases/download/llvmorg-20.1.8/LLVM-20.1.8-woa64.exe -OutFile LLVM-woa64.exe
63+
Start-Process -FilePath ".\LLVM-woa64.exe" -ArgumentList "/S" -Wait
64+
65+
$env:PATH = "C:\Program Files\LLVM\bin;" + $env:PATH
66+
echo "C:\Program Files\LLVM\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
9167
echo "CC=clang-cl" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
9268
echo "CXX=clang-cl" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
9369
echo "FC=flang-new" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
9470
echo "AR=llvm-lib.exe" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
95-
96-
Invoke-WebRequest https://github.com/llvm/llvm-project/releases/download/llvmorg-20.1.8/LLVM-20.1.8-woa64.exe -OutFile LLVM-woa64.exe
97-
Start-Process -FilePath ".\LLVM-woa64.exe" -ArgumentList "/S" -Wait
98-
echo "C:\Program Files\LLVM\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
99-
$env:PATH = "C:\Program Files\LLVM\bin;" + $env:PATH
100-
101-
# $env:VCPKG_ROOT = "C:\vcpkg"
102-
#git clone https://github.com/microsoft/vcpkg $env:VCPKG_ROOT
103-
#& "$env:VCPKG_ROOT\bootstrap-vcpkg.bat"
104-
#& "$env:VCPKG_ROOT\vcpkg.exe" install pkgconf:arm64-windows
105-
#$pkgconfPath = "$env:VCPKG_ROOT\installed\arm64-windows\tools\pkgconf"
106-
#Copy-Item "$pkgconfPath\pkgconf.exe" "$pkgconfPath\pkg-config.exe" -Force
107-
#echo "$pkgconfPath" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
108-
109-
#####
110-
#- name: Install Fortran compiler - windows-arm
111-
# When building on windows ARM, we need to use the MSVC toolchain
112-
#if: ${{ matrix.os == 'windows-11-arm' }}
113-
#uses: fortran-lang/setup-fortran@v1
114-
#id: setup-fortran-windows-arm
115-
#with:
116-
# Only intel-classic supported by f2py
117-
# # (https://numpy.org/devdocs/f2py/windows/intel.html#f2py-and-windows-intel-fortran)
118-
# compiler: "intel-classic"
119-
#version: "2021.10"
120-
12171
- name: Build wheels
12272
uses: pypa/cibuildwheel@v3.1.4 # matplotlib had v3.1.3
12373
with:

meson.build

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -68,21 +68,21 @@ if pyprojectwheelbuild_enabled
6868
'src/example_fgen_basic/runtime_helpers.py',
6969
)
7070

71-
if host_machine.system() == 'windows'
72-
meson.override_find_program('ar', find_program('llvm-lib', required: true))
71+
#if host_machine.system() == 'windows'
72+
# meson.override_find_program('ar', find_program('llvm-lib', required: true))
7373
# also tell Meson to use MSVC-compatible static library
74-
ancillary_lib = library(
75-
'@0@-ancillary'.format(meson.project_name()),
76-
sources: srcs_ancillary_lib,
77-
version: meson.project_version(),
78-
dependencies: [],
79-
install: false,
80-
override_options: ['b_vscrt=md', 'default_library=static', 'vs_library_format=lib']
81-
)
82-
else
74+
# ancillary_lib = library(
75+
# '@0@-ancillary'.format(meson.project_name()),
76+
# sources: srcs_ancillary_lib,
77+
# version: meson.project_version(),
78+
# dependencies: [],
79+
# install: false,
80+
# override_options: ['b_vscrt=md', 'default_library=static', 'vs_library_format=lib']
81+
# )
82+
#else
8383
# The ancillary library,
8484
# i.e. all the stuff for wrapping that isn't directly exposed to Python.
85-
ancillary_lib = library(
85+
ancillary_lib = library(
8686
'@0@-ancillary'.format(meson.project_name()),
8787
sources: srcs_ancillary_lib,
8888
version: meson.project_version(),
@@ -91,7 +91,7 @@ if pyprojectwheelbuild_enabled
9191
# e.g. dependencies: [fgen_core_dep],
9292
install: false,
9393
)
94-
endif
94+
#endif
9595

9696
ancillary_dep = declare_dependency(link_with: ancillary_lib)
9797

0 commit comments

Comments
 (0)