From 9457f2493bf59ee6cfedac825b83e9575cc7a413 Mon Sep 17 00:00:00 2001 From: MintoDA1 <51412913+MintoDA1@users.noreply.github.com> Date: Mon, 21 Aug 2023 17:24:33 -0400 Subject: [PATCH] Improved Intel Mac version of build script --- buildscripts/set_compilers.sh | 69 ++++++++++++++++++++++++----------- pyproject.toml | 3 +- 2 files changed, 48 insertions(+), 24 deletions(-) diff --git a/buildscripts/set_compilers.sh b/buildscripts/set_compilers.sh index da943253f..3ff88f8b1 100755 --- a/buildscripts/set_compilers.sh +++ b/buildscripts/set_compilers.sh @@ -89,29 +89,54 @@ case $OS in CPP=${CPP:-$(command -v cpp)} ;; MacOSX) - if $(brew --version &> /dev/null); then - brew install llvm@16 libomp + if [ $ARCH = "arm64" ]; then + if $(brew --version &> /dev/null); then + brew install llvm@16 libomp + else + echo \"Please install Homebrew first\" + exit 1 + fi + COMPILER_PREFIX=${COMPILER_PREFIX:-"${HOMEBREW_PREFIX}/opt/llvm"} + CC=${CC:-${COMPILER_PREFIX}/bin/clang} + CXX=${CXX:-${COMPILER_PREFIX}/bin/clang++} + CPP=${CPP:-${COMPILER_PREFIX}/bin/clang-cpp} + AR=${AR:-${COMPILER_PREFIX}/bin/llvm-ar} + NM=${NM:-${COMPILER_PREFIX}/bin/llvm-nm} + RANLIB=${RANLIB:-${COMPILER_PREFIX}/bin/llvm-ranlib} + FROOT=$(realpath $(dirname $(command -v gfortran))/..) + FC=$(command -v gfortran) + LD_LIBRARY_PATH="${COMPILER_PREFIX}/lib:${FROOT}/lib:${LD_LIBRARY_PATH}" + LDFLAGS="-L${HOMEBREW_PREFIX}/opt/llvm/lib/c++ -Wl,-rpath,${HOMEBREW_PREFIX}/opt/llvm/lib/c+ -L${HOMEBREW_PREFIX}/opt/libomp/lib -Wl,-no_compact_unwind" + CPPFLAGS="-isystem ${HOMEBREW_PREFIX}/opt/libomp/include" + LIBS="-lomp ${LIBS}" + CPATH="${FROOT}/include:${CPATH}" + CXXFLAGS="${CFLAGS} ${CXXFLAGS}" + FCFLAGS="${CFLAGS} ${FCFLAGS}" + CFLAGS="-mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET} -Wno-deprecated-non-prototype ${CFLAGS}" else - echo \"Please install Homebrew first\" - exit 1 - fi - COMPILER_PREFIX=${COMPILER_PREFIX:-"${HOMEBREW_PREFIX}/opt/llvm"} - CC=${CC:-${COMPILER_PREFIX}/bin/clang} - CXX=${CXX:-${COMPILER_PREFIX}/bin/clang++} - CPP=${CPP:-${COMPILER_PREFIX}/bin/clang-cpp} - AR=${AR:-${COMPILER_PREFIX}/bin/llvm-ar} - NM=${NM:-${COMPILER_PREFIX}/bin/llvm-nm} - RANLIB=${RANLIB:-${COMPILER_PREFIX}/bin/llvm-ranlib} - FROOT=$(realpath $(dirname $(command -v gfortran))/..) - FC=$(command -v gfortran) - LD_LIBRARY_PATH="${COMPILER_PREFIX}/lib:${FROOT}/lib:${LD_LIBRARY_PATH}" - LDFLAGS="-L${HOMEBREW_PREFIX}/opt/llvm/lib/c++ -Wl,-rpath,${HOMEBREW_PREFIX}/opt/llvm/lib/c+ -L${HOMEBREW_PREFIX}/opt/libomp/lib -Wl,-no_compact_unwind" - CPPFLAGS="-isystem ${HOMEBREW_PREFIX}/opt/libomp/include" - LIBS="-lomp ${LIBS}" - CPATH="${FROOT}/include:${CPATH}" - CXXFLAGS="${CFLAGS} ${CXXFLAGS}" - FCFLAGS="${CFLAGS} ${FCFLAGS}" - CFLAGS="-mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET} -Wno-deprecated-non-prototype ${CFLAGS}" + if $(brew --version &> /dev/null); then + brew install gcc + else + echo \"Please install Homebrew first\" + exit 1 + fi + COMPILER_PREFIX=${COMPILER_PREFIX:-"${HOMEBREW_PREFIX}/Cellar/gcc/13.1.0/"} + CC=${CC:-${COMPILER_PREFIX}/bin/gcc-13} + CXX=${CXX:-${COMPILER_PREFIX}/bin/g++-13} + CPP=${CPP:-${COMPILER_PREFIX}/bin/cpp-13} + AR=${AR:-${COMPILER_PREFIX}/bin/gcc-ar-13} + NM=${NM:-${COMPILER_PREFIX}/bin/gcc-nm-13} + RANLIB=${RANLIB:-${COMPILER_PREFIX}/bin/gcc-ranlib-13} + FC=${FC:-${COMPILER_PREFIX}/bin/gfortran-13} + LD_LIBRARY_PATH="${COMPILER_PREFIX}/lib/gcc/13:${LD_LIBRARY_PATH}" + LDFLAGS="-L${HOMEBREW_PREFIX}/opt/llvm/lib/c++ -Wl,-rpath,${HOMEBREW_PREFIX}/opt/llvm/lib/c+ -Wl,-no_compact_unwind" + CPPFLAGS="-isystem ${HOMEBREW_PREFIX}/opt/libomp/include" + LIBS="-lgomp ${LIBS}" + CPATH="${FROOT}/include:${CPATH}" + CXXFLAGS="${CFLAGS} ${CXXFLAGS}" + FCFLAGS="${CFLAGS} ${FCFLAGS}" + CFLAGS="-mmacosx-version-min=${MACOSX_DEPLOYMENT_TARGET} -Wno-deprecated-non-prototype ${CFLAGS}" + fi ;; *) printf "Unknown compiler type: ${OS}\n" diff --git a/pyproject.toml b/pyproject.toml index 66e36c0ed..f9bed9448 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -13,7 +13,7 @@ build-backend = "setuptools.build_meta" test-command = "pytest {package}/tests" test-requires = ['pytest','cython'] test-skip = "cp312-*" -skip = ["pp* *i686 *-manylinux_i686 *_ppc64le *_s390x *-musllinux* *-win32"] +skip = "pp* *i686 *-manylinux_i686 *_ppc64le *_s390x *-musllinux* *-win32" [tool.cibuildwheel.linux] environment = {SKBUILD_CONFIGURE_OPTIONS="-DBUILD_SHARED_LIBS=OFF", FFLAGS="${FFLAGS} -fPIC", CFLAGS="${CFLAGS} -fPIC", LDFLAGS="${LDFLAGS} -fPIE", LIBS="-lgomp"} @@ -23,7 +23,6 @@ before-all = [ ] [tool.cibuildwheel.macos] -skip = "cp38-*" before-all = [ "buildscripts/build_dependencies.sh -d ${TMPDIR} -p ${TMPDIR} -m ${MACOSX_DEPLOYMENT_TARGET}" ]