Skip to content

Commit 6124e14

Browse files
authored
Merge pull request #8 from SwayamInSync/sdist
Switching to wrap from submodule systems
2 parents b4a9429 + 43a7c84 commit 6124e14

File tree

9 files changed

+46
-54
lines changed

9 files changed

+46
-54
lines changed

.github/workflows/build_wheels.yml

Lines changed: 9 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -21,19 +21,12 @@ jobs:
2121
runs-on: ubuntu-latest
2222
steps:
2323
- uses: actions/checkout@v3
24-
with:
25-
submodules: recursive
2624

2725
- name: Set up Python
2826
uses: actions/setup-python@v4
2927
with:
3028
python-version: ">=3.11.0"
3129

32-
- name: Verify QuadBLAS submodule
33-
run: |
34-
ls -la quaddtype/numpy_quaddtype/QBLAS/
35-
ls -la quaddtype/numpy_quaddtype/QBLAS/include/quadblas/
36-
3730
- name: Install cibuildwheel
3831
run: pip install cibuildwheel==3.1.4
3932

@@ -56,8 +49,8 @@ jobs:
5649
cmake --build build/ --clean-first -j
5750
cmake --install build --prefix /usr/local
5851
CIBW_ENVIRONMENT: >
59-
CFLAGS="-I/usr/local/include -I{project}/numpy_quaddtype/QBLAS/include $CFLAGS"
60-
CXXFLAGS="-I/usr/local/include -I{project}/numpy_quaddtype/QBLAS/include -fext-numeric-literals $CXXFLAGS"
52+
CFLAGS="-I/usr/local/include $CFLAGS"
53+
CXXFLAGS="-I/usr/local/include $CXXFLAGS"
6154
LDFLAGS="-L/usr/local/lib64 -L/usr/local/lib -Wl,-rpath,/usr/local/lib64 -Wl,-rpath,/usr/local/lib -fopenmp $LDFLAGS"
6255
LD_LIBRARY_PATH="/usr/local/lib64:/usr/local/lib:$LD_LIBRARY_PATH"
6356
PKG_CONFIG_PATH="/usr/local/lib64/pkgconfig:/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH"
@@ -89,8 +82,6 @@ jobs:
8982

9083
steps:
9184
- uses: actions/checkout@v3
92-
with:
93-
submodules: recursive
9485

9586
- name: Set up Python
9687
uses: actions/setup-python@v4
@@ -123,11 +114,6 @@ jobs:
123114
cmake --build build/ --clean-first -j
124115
sudo cmake --install build --prefix /usr/local
125116
126-
- name: Verify QuadBLAS submodule
127-
run: |
128-
ls -la quaddtype/numpy_quaddtype/QBLAS/
129-
ls -la quaddtype/numpy_quaddtype/QBLAS/include/quadblas/
130-
131117
- name: Installing Python dependencies
132118
run: |
133119
pip install -U pip
@@ -143,8 +129,8 @@ jobs:
143129
CIBW_ENVIRONMENT: >
144130
MACOSX_DEPLOYMENT_TARGET="${{ matrix.os == 'macos-13' && '13.0' || '14.0' }}"
145131
DYLD_LIBRARY_PATH="/usr/local/lib:$DYLD_LIBRARY_PATH"
146-
CFLAGS="-I/usr/local/include -I{project}/numpy_quaddtype/QBLAS/include $CFLAGS"
147-
CXXFLAGS="-I/usr/local/include -I{project}/numpy_quaddtype/QBLAS/include $CXXFLAGS"
132+
CFLAGS="-I/usr/local/include $CFLAGS"
133+
CXXFLAGS="-I/usr/local/include $CXXFLAGS"
148134
LDFLAGS="-L/usr/local/lib $LDFLAGS"
149135
PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH"
150136
CIBW_REPAIR_WHEEL_COMMAND: >
@@ -176,8 +162,6 @@ jobs:
176162

177163
steps:
178164
- uses: actions/checkout@v3
179-
with:
180-
submodules: recursive
181165

182166
- name: Setup MSVC
183167
uses: ilammy/msvc-dev-cmd@v1
@@ -193,12 +177,6 @@ jobs:
193177
- name: Install CMake
194178
uses: lukka/get-cmake@latest
195179

196-
- name: Verify QuadBLAS submodule
197-
shell: pwsh
198-
run: |
199-
Get-ChildItem quaddtype/numpy_quaddtype/QBLAS/
200-
Get-ChildItem quaddtype/numpy_quaddtype/QBLAS/include/quadblas/
201-
202180
- name: Clone and Build SLEEF
203181
shell: pwsh
204182
run: |
@@ -226,11 +204,11 @@ jobs:
226204
CIBW_BEFORE_BUILD: |
227205
pip install meson meson-python ninja numpy
228206
CIBW_ENVIRONMENT: >
229-
INCLUDE="C:/sleef/include;{project}/numpy_quaddtype/QBLAS/include;$INCLUDE"
207+
INCLUDE="C:/sleef/include;$INCLUDE"
230208
LIB="C:/sleef/lib;$LIB"
231209
PATH="C:/sleef/bin;$PATH"
232-
CFLAGS="/IC:/sleef/include /I{project}/numpy_quaddtype/QBLAS/include /DDISABLE_QUADBLAS $CFLAGS"
233-
CXXFLAGS="/IC:/sleef/include /I{project}/numpy_quaddtype/QBLAS/include /DDISABLE_QUADBLAS $CXXFLAGS"
210+
CFLAGS="/IC:/sleef/include /DDISABLE_QUADBLAS $CFLAGS"
211+
CXXFLAGS="/IC:/sleef/include /DDISABLE_QUADBLAS $CXXFLAGS"
234212
LDFLAGS="C:/sleef/lib/sleef.lib C:/sleef/lib/sleefquad.lib $LDFLAGS"
235213
CIBW_REPAIR_WHEEL_COMMAND: 'delvewheel repair -w {dest_dir} {wheel} --add-path C:\sleef\bin'
236214
CIBW_TEST_COMMAND: |
@@ -258,19 +236,12 @@ jobs:
258236
runs-on: ubuntu-latest
259237
steps:
260238
- uses: actions/checkout@v3
261-
with:
262-
submodules: recursive
263239

264240
- name: Set up Python
265241
uses: actions/setup-python@v4
266242
with:
267243
python-version: ">=3.11.0"
268244

269-
- name: Verify QuadBLAS submodule
270-
run: |
271-
ls -la quaddtype/numpy_quaddtype/QBLAS/
272-
ls -la quaddtype/numpy_quaddtype/QBLAS/include/quadblas/
273-
274245
- name: Install system dependencies
275246
run: |
276247
sudo apt-get update -y
@@ -294,8 +265,8 @@ jobs:
294265
295266
- name: Build SDist
296267
env:
297-
CFLAGS: "-I/usr/local/include -I$(pwd)/numpy_quaddtype/QBLAS/include"
298-
CXXFLAGS: "-I/usr/local/include -I$(pwd)/numpy_quaddtype/QBLAS/include -fext-numeric-literals"
268+
CFLAGS: "-I/usr/local/include"
269+
CXXFLAGS: "-I/usr/local/include"
299270
LDFLAGS: "-L/usr/local/lib64 -L/usr/local/lib -Wl,-rpath,/usr/local/lib64 -Wl,-rpath,/usr/local/lib -fopenmp"
300271
LD_LIBRARY_PATH: "/usr/local/lib64:/usr/local/lib:$LD_LIBRARY_PATH"
301272
PKG_CONFIG_PATH: "/usr/local/lib64/pkgconfig:/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH"

.github/workflows/ci.yml

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -73,13 +73,9 @@ jobs:
7373
- name: Install quaddtype
7474
working-directory: quaddtype
7575
run: |
76-
# Initialize submodules first
77-
git submodule update --init --recursive
78-
ls -la numpy_quaddtype/QBLAS/
79-
8076
# Set environment variables with proper export and correct paths
81-
export CFLAGS="-I/usr/local/include -I$(pwd)/numpy_quaddtype/QBLAS/include"
82-
export CXXFLAGS="-I/usr/local/include -I$(pwd)/numpy_quaddtype/QBLAS/include -fext-numeric-literals"
77+
export CFLAGS="-I/usr/local/include"
78+
export CXXFLAGS="-I/usr/local/include"
8379
export LDFLAGS="-L/usr/local/lib64 -L/usr/local/lib -Wl,-rpath,/usr/local/lib64 -Wl,-rpath,/usr/local/lib -fopenmp"
8480
export LD_LIBRARY_PATH="/usr/local/lib64:/usr/local/lib:$LD_LIBRARY_PATH"
8581

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,3 +137,7 @@ compile_commands.json
137137
*.whl
138138
.DS_Store
139139
.idea/
140+
141+
# quddtype
142+
/quaddtype/subprojects/qblas/
143+
.wraplock

.gitmodules

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +0,0 @@
1-
[submodule "quaddtype/numpy_quaddtype/QBLAS"]
2-
path = quaddtype/numpy_quaddtype/QBLAS
3-
url = https://github.com/SwayamInSync/QBLAS

quaddtype/meson.build

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,23 @@ incdir_numpy = run_command(py,
2323
check : true
2424
).stdout().strip()
2525

26-
# Add OpenMP dependency (optional, for threading)
26+
# OpenMP dependency (optional, for threading)
2727
openmp_dep = dependency('openmp', required: false)
28-
dependencies = [sleef_dep, py_dep]
28+
qblas_dep = dependency('qblas', fallback: ['qblas', 'qblas_dep'])
29+
dependencies = [sleef_dep, py_dep, qblas_dep]
2930
if openmp_dep.found()
3031
dependencies += openmp_dep
3132
endif
3233

34+
# compiler flags for QBLAS compatibility
35+
if not is_windows
36+
# QBLAS requires extended numeric literals for Q suffix support
37+
# if compiler supports (usually gcc)
38+
if cpp.has_argument('-fext-numeric-literals')
39+
add_project_arguments('-fext-numeric-literals', language: 'cpp')
40+
endif
41+
endif
42+
3343
# Thread-local storage detection (borrowed from NumPy)
3444
optional_variable_attributes = [
3545
['thread_local', 'HAVE_THREAD_LOCAL'], # C23
@@ -66,12 +76,11 @@ configure_file(
6676
configuration: cdata
6777
)
6878

69-
build_includes = include_directories('.')
70-
79+
build_includes = include_directories('.') # compile time generated headers as per system
7180
includes = include_directories(
7281
[
7382
incdir_numpy,
74-
'numpy_quaddtype/QBLAS/include',
83+
# 'subprojects/qblas/include',
7584
'numpy_quaddtype/src',
7685
]
7786
)

quaddtype/numpy_quaddtype/QBLAS

Lines changed: 0 additions & 1 deletion
This file was deleted.

quaddtype/numpy_quaddtype/src/quadblas_interface.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
#include <algorithm>
44

55
#ifndef DISABLE_QUADBLAS
6-
#include "../QBLAS/include/quadblas/quadblas.hpp"
6+
#include "../subprojects/qblas/include/quadblas/quadblas.hpp"
77
#endif // DISABLE_QUADBLAS
88

99
extern "C" {
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
project('qblas', version: '1.0.0')
2+
3+
qblas_inc = include_directories('include')
4+
5+
qblas_dep = declare_dependency(
6+
include_directories: qblas_inc,
7+
version: meson.project_version()
8+
)

quaddtype/subprojects/qblas.wrap

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
[wrap-git]
2+
directory=qblas
3+
url=https://github.com/SwayamInSync/QBLAS.git
4+
revision=9468e24a02b731563eba2aee0350e9219b36c102
5+
patch_directory = qblas
6+
7+
[provide]
8+
qblas = qblas_dep

0 commit comments

Comments
 (0)