From 52394b0060d2faf6dc1d2c6b2dd9cada19ad7ab8 Mon Sep 17 00:00:00 2001 From: Chris Wright Date: Wed, 9 Aug 2023 10:49:48 +0100 Subject: [PATCH] Fix up :facepalm: --- .github/workflows/build-wheels.sh | 1 + .github/workflows/publish.yml | 2 +- setup.py | 20 +++++++++++++------- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build-wheels.sh b/.github/workflows/build-wheels.sh index d75368b..2021658 100755 --- a/.github/workflows/build-wheels.sh +++ b/.github/workflows/build-wheels.sh @@ -7,6 +7,7 @@ for VER in cp38-cp38 cp39-cp39 cp310-cp310 cp311-cp311; do "${PYBIN}/python3" -m venv venv3 source venv3/bin/activate "${PYBIN}/python3" -m pip install --upgrade pip + "${PYBIN}/python3" -m pip install cmake==3.27.1 scikit-build "${PYBIN}/python3" -m pip wheel . -w dist make clean deactivate diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 72b95d4..74a80c5 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -1,4 +1,4 @@ -name: publish-pyspao +name: publish-pyspoa on: push: diff --git a/setup.py b/setup.py index 52c15ed..2399dbe 100644 --- a/setup.py +++ b/setup.py @@ -8,6 +8,10 @@ from setuptools.command.install import install from setuptools.command.build_ext import build_ext +LIB_SPOA = 'src/build/lib/libspoa.a' +if os.environ.get('libspoa'): + LIB_SPOA = os.environ['libspoa'] + class get_pybind_include(object): """ @@ -58,12 +62,13 @@ def build_spoa(): bdir = "src/build" rmtree(bdir, ignore_errors=True) os.makedirs(bdir) - extra_flags = [] + # x86 -- builds with -msse4.1 instead of -march=native + extra_flags = ["-D", "spoa_optimize_for_portability=ON"] if platform.machine() in {"aarch64", "arm64"}: - ["-D", "spoa_use_simde=ON", "-D", "spoa_use_simde_nonvec=ON", "-D", "spoa_use_simde_openmp=ON"] - else: - # x86 -- builds with -msse4.1 instead of -march=native - ["-D", "spoa_optimize_for_portability=ON"] + extra_flags = [ + "-D", "spoa_use_simde=ON", + "-D", "spoa_use_simde_nonvec=ON", + "-D", "spoa_use_simde_openmp=ON"] run( ["cmake"] + extra_flags + [ "-D", "CMAKE_BUILD_TYPE=Release", @@ -91,7 +96,8 @@ class BuildExt(build_ext): l_opts['unix'] += darwin_opts def build_extensions(self): - build_spoa() + if not os.environ.get('libspoa'): + build_spoa() ct = self.compiler.compiler_type opts = self.c_opts.get(ct, []) link_opts = self.l_opts.get(ct, []) @@ -120,7 +126,7 @@ def build_extensions(self): ], language='c++', extra_objects=[ - 'src/build/lib/libspoa.a' + LIB_SPOA ], ),