Skip to content

Commit a5e182b

Browse files
authored
Build wheels for windows with LuaJit (GH-273)
Closes #235 Closes #251
1 parent 9a72f99 commit a5e182b

File tree

5 files changed

+35
-8
lines changed

5 files changed

+35
-8
lines changed

.github/workflows/ci.yml

+6
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,12 @@ jobs:
7878
if: contains(matrix.os, 'ubuntu') && matrix.lua-version != 'bundle'
7979
run: sudo apt-get install lib${{ matrix.lua-version }}-dev
8080

81+
- name: Setup Visual Studio
82+
if: contains(matrix.os, 'windows')
83+
uses: TheMrMilchmann/setup-msvc-dev@v3
84+
with:
85+
arch: x64
86+
8187
- name: Build wheel
8288
run: python setup.py sdist build_ext -i -j6 bdist_wheel
8389
env:

.github/workflows/wheels.yml

+12
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,18 @@ jobs:
128128
brew install automake libtool
129129
ln -s /usr/local/bin/glibtoolize /usr/local/bin/libtoolize
130130
131+
- name: Setup Visual Studio for x64
132+
if: contains(matrix.os, 'windows') && contains(matrix.only, 'win_amd64')
133+
uses: TheMrMilchmann/setup-msvc-dev@v3
134+
with:
135+
arch: x64
136+
137+
- name: Setup Visual Studio for x86
138+
if: contains(matrix.os, 'windows') && contains(matrix.only, 'win32')
139+
uses: TheMrMilchmann/setup-msvc-dev@v3
140+
with:
141+
arch: x86
142+
131143
- name: Build wheels
132144
uses: pypa/[email protected]
133145
with:

appveyor.yml

+16-5
Original file line numberDiff line numberDiff line change
@@ -8,29 +8,40 @@ environment:
88
# APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013
99
# - python: 27-x64
1010
# APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2013
11+
- python: 312
12+
arch: x86
13+
- python: 312-x64
14+
arch: x64
1115
- python: 311
16+
arch: x86
1217
- python: 311-x64
18+
arch: x64
1319
- python: 310
20+
arch: x86
1421
- python: 310-x64
22+
arch: x64
1523
- python: 39
24+
arch: x86
1625
- python: 39-x64
26+
arch: x64
1727
- python: 38
28+
arch: x86
1829
- python: 38-x64
30+
arch: x64
1931
- python: 37
32+
arch: x86
2033
- python: 37-x64
21-
- python: 36
22-
- python: 36-x64
23-
- python: 35
24-
- python: 35-x64
34+
arch: x64
2535

2636
install:
2737
- SET PATH=C:\\Python%PYTHON%;c:\\Python%PYTHON%\\scripts;%PATH%
28-
- python -m pip.__main__ install -U pip wheel setuptools
38+
- python -m pip.__main__ install -U pip wheel "setuptools!=72.0.0"
2939
- pip install -r requirements.txt
3040
- git submodule update --init --recursive
3141

3242
build: off
3343
build_script:
44+
- call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" %ARCH%
3445
- python -u setup.py clean
3546
- python -u setup.py build install --use-bundle
3647
- python -u setup.py bdist_wheel --use-bundle

pyproject.toml

+1
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ environment = {CFLAGS = "-O3 -g1 -pipe -fPIC -flto -march=armv8-a -mtune=cortex-
2626

2727
[tool.cibuildwheel.windows]
2828
archs = ["AMD64", "x86"]
29+
test-command = "python -c \"import lupa\" && python -c \"import lupa.lua54\" && python -c \"import lupa.luajit21\" "
2930

3031
[tool.cibuildwheel.macos]
3132
# https://cibuildwheel.readthedocs.io/en/stable/faq/#what-to-provide suggests to provide

setup.py

-3
Original file line numberDiff line numberDiff line change
@@ -363,9 +363,6 @@ def has_option(name):
363363
# http://t-p-j.blogspot.com/2010/11/lupa-on-os-x-with-macports-python-26.html
364364
# LuaJIT 2.1-alpha3 fails at runtime.
365365
or (platform == 'darwin' and 'luajit' in os.path.basename(lua_bundle_path.rstrip(os.sep)))
366-
# Couldn't get the Windows build to work. See
367-
# https://luajit.org/install.html#windows
368-
or (platform.startswith('win') and 'luajit' in os.path.basename(lua_bundle_path.rstrip(os.sep)))
369366
# Let's restrict LuaJIT to x86_64 for now.
370367
or (get_machine() not in ("x86_64", "AMD64") and 'luajit' in os.path.basename(lua_bundle_path.rstrip(os.sep)))
371368
)

0 commit comments

Comments
 (0)