Skip to content

Commit ea85b66

Browse files
authored
Merge branch 'OpenMathLib:develop' into issue5414
2 parents 682f61e + 93d0d19 commit ea85b66

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+1331
-332
lines changed

.cirrus.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,8 @@ task:
5858
- export VALID_ARCHS="i386 x86_64"
5959
- xcrun --sdk macosx --show-sdk-path
6060
- xcodebuild -version
61-
- export CC=/Applications/Xcode_16.3.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
62-
- export CFLAGS="-O2 -unwindlib=none -Wno-macro-redefined -isysroot /Applications/Xcode_16.3.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk -arch x86_64"
61+
- export CC=/Applications/Xcode_26.0.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
62+
- export CFLAGS="-O2 -unwindlib=none -Wno-macro-redefined -isysroot /Applications/Xcode_26.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX26.0.sdk -arch x86_64"
6363
- make TARGET=CORE2 DYNAMIC_ARCH=1 NUM_THREADS=32 HOSTCC=clang NOFORTRAN=1 RANLIB="ls -l"
6464
always:
6565
config_artifacts:
@@ -78,8 +78,8 @@ task:
7878
- export #PATH=/opt/homebrew/opt/llvm/bin:$PATH
7979
- export #LDFLAGS="-L/opt/homebrew/opt/llvm/lib"
8080
- export #CPPFLAGS="-I/opt/homebrew/opt/llvm/include"
81-
- export CC=/Applications/Xcode_16.3.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
82-
- export CFLAGS="-O2 -unwindlib=none -Wno-macro-redefined -isysroot /Applications/Xcode_16.3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS18.4.sdk -arch arm64 -miphoneos-version-min=10.0"
81+
- export CC=/Applications/Xcode_26.0.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
82+
- export CFLAGS="-O2 -unwindlib=none -Wno-macro-redefined -isysroot /Applications/Xcode_26.0.1.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS26.0.sdk -arch arm64 -miphoneos-version-min=10.0"
8383
- xcrun --sdk iphoneos --show-sdk-path
8484
- ls -l /Applications
8585
- make TARGET=ARMV8 NUM_THREADS=32 HOSTCC=clang NOFORTRAN=1 CROSS=1

.github/workflows/dynamic_arch.yml

Lines changed: 41 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: continuous build
22

3-
on: [push, pull_request]
3+
on: [push, pull_request, workflow_dispatch]
44

55
concurrency:
66
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
@@ -11,18 +11,25 @@ permissions:
1111

1212
jobs:
1313
build:
14-
if: "github.repository == 'OpenMathLib/OpenBLAS'"
14+
if: "github.repository == 'OpenMathLib/OpenBLAS' || github.event_name == 'workflow_dispatch'"
1515
runs-on: ${{ matrix.os }}
1616

1717
strategy:
1818
fail-fast: false
1919
matrix:
20-
os: [ubuntu-latest, macos-latest]
20+
os: [ubuntu-latest, macos-latest, ubuntu-24.04-arm]
21+
cc: [gcc, clang, clang-21]
2122
fortran: [gfortran, flang]
2223
build: [cmake, make]
2324
exclude:
25+
- os: macos-latest
26+
cc: gcc
27+
- os: macos-latest
28+
cc: clang-21
2429
- os: macos-latest
2530
fortran: flang
31+
- os: ubuntu-24.04-arm
32+
fortran: flang
2633

2734
steps:
2835
- name: Checkout repository
@@ -42,10 +49,23 @@ jobs:
4249
- name: Install Dependencies
4350
run: |
4451
if [ "$RUNNER_OS" == "Linux" ]; then
52+
cat << EOF | sudo tee -a /etc/apt/apt.conf.d/01norecommend
53+
APT::Install-Recommends "0";
54+
APT::Install-Suggests "0";
55+
EOF
4556
sudo apt-get update
46-
sudo apt-get install -y gfortran cmake ccache
47-
wget http://security.ubuntu.com/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
48-
sudo apt install ./libtinfo5_6.3-2ubuntu0.1_amd64.deb
57+
sudo apt-get install -y ccache
58+
if [ "${{ matrix.cc }}" == "clang-21" ]; then
59+
wget https://apt.llvm.org/llvm.sh
60+
chmod +x llvm.sh
61+
sudo ./llvm.sh 21
62+
fi
63+
if [ "${{ matrix.fortran }}" == "flang" ]; then
64+
wget http://security.ubuntu.com/ubuntu/pool/universe/n/ncurses/libtinfo5_6.3-2ubuntu0.1_amd64.deb
65+
sudo apt install ./libtinfo5_6.3-2ubuntu0.1_amd64.deb
66+
else
67+
sudo apt-get install -y ${{ matrix.fortran }}
68+
fi
4969
elif [ "$RUNNER_OS" == "macOS" ]; then
5070
# It looks like "gfortran" isn't working correctly unless "gcc" is re-installed.
5171
brew reinstall gcc
@@ -64,12 +84,12 @@ jobs:
6484
# GNU make and cmake call the compilers differently. It looks like
6585
# that causes the cache to mismatch. Keep the ccache for both build
6686
# tools separate to avoid polluting each other.
67-
key: ccache-${{ runner.os }}-${{ matrix.build }}-${{ matrix.fortran }}-${{ github.ref }}-${{ github.sha }}
87+
key: ccache-${{ runner.os }}-${{ runner.arch }}-${{ matrix.build }}-${{ matrix.cc }}-${{ matrix.fortran }}-${{ github.ref }}-${{ github.sha }}
6888
# Restore a matching ccache cache entry. Prefer same branch and same Fortran compiler.
6989
restore-keys: |
70-
ccache-${{ runner.os }}-${{ matrix.build }}-${{ matrix.fortran }}-${{ github.ref }}
71-
ccache-${{ runner.os }}-${{ matrix.build }}-${{ matrix.fortran }}
72-
ccache-${{ runner.os }}-${{ matrix.build }}
90+
ccache-${{ runner.os }}-${{ runner.arch }}-${{ matrix.build }}-${{ matrix.cc }}-${{ matrix.fortran }}-${{ github.ref }}
91+
ccache-${{ runner.os }}-${{ runner.arch }}-${{ matrix.build }}-${{ matrix.cc }}-${{ matrix.fortran }}
92+
ccache-${{ runner.os }}-${{ runner.arch }}-${{ matrix.build }}-${{ matrix.cc }}
7393
7494
- name: Configure ccache
7595
run: |
@@ -89,7 +109,7 @@ jobs:
89109
echo "max_size = 300M" > ~/.ccache/ccache.conf
90110
echo "compression = true" >> ~/.ccache/ccache.conf
91111
ccache -s
92-
112+
93113
- name: Add gfortran runtime to link path
94114
if: matrix.build == 'make' && runner.os == 'macOS'
95115
run: |
@@ -110,7 +130,7 @@ jobs:
110130
fi
111131
case "${{ matrix.build }}" in
112132
"make")
113-
make -j$(nproc) DYNAMIC_ARCH=1 USE_OPENMP=0 FC="ccache ${{ matrix.fortran }}"
133+
make -j$(nproc) DYNAMIC_ARCH=1 USE_OPENMP=0 CC="ccache ${{ matrix.cc }}" FC="ccache ${{ matrix.fortran }}"
114134
;;
115135
"cmake")
116136
mkdir build && cd build
@@ -119,6 +139,7 @@ jobs:
119139
-DBUILD_WITHOUT_LAPACK=0 \
120140
-DCMAKE_VERBOSE_MAKEFILE=ON \
121141
-DCMAKE_BUILD_TYPE=Release \
142+
-DCMAKE_C_COMPILER=${{ matrix.cc }} \
122143
-DCMAKE_Fortran_COMPILER=${{ matrix.fortran }} \
123144
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
124145
-DCMAKE_Fortran_COMPILER_LAUNCHER=ccache \
@@ -142,13 +163,13 @@ jobs:
142163
"make")
143164
MAKE_FLAGS='DYNAMIC_ARCH=1 USE_OPENMP=0'
144165
echo "::group::Tests in 'test' directory"
145-
make -C test $MAKE_FLAGS FC="ccache ${{ matrix.fortran }}"
166+
make -C test $MAKE_FLAGS CC="ccache ${{ matrix.cc }}" FC="ccache ${{ matrix.fortran }}"
146167
echo "::endgroup::"
147168
echo "::group::Tests in 'ctest' directory"
148-
make -C ctest $MAKE_FLAGS FC="ccache ${{ matrix.fortran }}"
169+
make -C ctest $MAKE_FLAGS CC="ccache ${{ matrix.cc }}" FC="ccache ${{ matrix.fortran }}"
149170
echo "::endgroup::"
150171
echo "::group::Tests in 'utest' directory"
151-
make -C utest $MAKE_FLAGS FC="ccache ${{ matrix.fortran }}"
172+
make -C utest $MAKE_FLAGS CC="ccache ${{ matrix.cc }}" FC="ccache ${{ matrix.fortran }}"
152173
echo "::endgroup::"
153174
;;
154175
"cmake")
@@ -372,15 +393,15 @@ jobs:
372393
steps:
373394
- name: Checkout repository
374395
uses: actions/checkout@v3
375-
396+
376397
- name: Install Dependencies
377398
run: |
378399
sudo apt-get update
379400
sudo apt-get install -y gcc gfortran make
380-
401+
381402
- name: Build OpenBLAS
382403
run: |
383-
make -j${nproc}
404+
make -j${nproc}
384405
make -j${nproc} lapack-test
385-
386-
406+
407+

.github/workflows/riscv64_vector.yml

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
env:
1717
triple: riscv64-unknown-linux-gnu
1818
riscv_gnu_toolchain: https://github.com/riscv-collab/riscv-gnu-toolchain
19-
riscv_gnu_toolchain_version: 13.2.0
19+
riscv_gnu_toolchain_version: 15.1.0
2020
riscv_gnu_toolchain_nightly_download_path: /releases/download/2025.08.29/riscv64-glibc-ubuntu-22.04-llvm-nightly-2025.08.29-nightly.tar.xz
2121
strategy:
2222
fail-fast: false
@@ -27,7 +27,7 @@ jobs:
2727
qemu_cpu: rv64,g=true,c=true,v=true,vext_spec=v1.0,vlen=128,elen=64
2828
- target: RISCV64_ZVL256B
2929
opts: TARGET=RISCV64_ZVL256B BINARY=64 ARCH=riscv64 BUILD_BFLOAT16=1 BUILD_HFLOAT16=1
30-
qemu_cpu: rv64,g=true,c=true,v=true,vext_spec=v1.0,vlen=256,elen=64
30+
qemu_cpu: rv64,g=true,c=true,v=true,vext_spec=v1.0,vlen=256,elen=64,zfh=true,zvfh=true,zvfbfwma=true
3131
- target: DYNAMIC_ARCH=1
3232
opts: TARGET=RISCV64_GENERIC BINARY=64 ARCH=riscv64 DYNAMIC_ARCH=1
3333
qemu_cpu: rv64,g=true,c=true,v=true,vext_spec=v1.0,vlen=256,elen=64
@@ -40,10 +40,13 @@ jobs:
4040
run: |
4141
sudo apt-get update
4242
sudo apt-get install autoconf automake autotools-dev ninja-build make \
43-
libgomp1-riscv64-cross ccache qemu-kvm
43+
libgomp1-riscv64-cross ccache qemu-kvm qemu-user libc6-riscv64-cross
4444
wget ${riscv_gnu_toolchain}/${riscv_gnu_toolchain_nightly_download_path}
4545
tar -xvf $(basename ${riscv_gnu_toolchain_nightly_download_path}) -C /opt
46-
46+
wget https://gist.github.com/martin-frbg/bb630e0de34978e578eeb496b1538d4e/raw/7fd8d971f327f7a517b8f5f7989479ff2b36f71f/qemu-riscv64-10.1-ubuntu24 -P /opt/riscv/bin -o riscv64-qemu
47+
mv /opt/riscv/bin/qemu-riscv64-10.1-ubuntu24 /opt/riscv/bin/qemu-riscv64
48+
chmod +x /opt/riscv/bin/qemu-riscv64
49+
4750
- name: Compilation cache
4851
uses: actions/cache@v3
4952
with:
@@ -74,7 +77,7 @@ jobs:
7477
run: |
7578
export PATH="/opt/riscv/bin:$PATH"
7679
make TARGET=${{ matrix.target }} CFLAGS="-DTARGET=${{ matrix.target }}" \
77-
CC='${triple}-gcc' \
80+
CC='ccache clang --rtlib=compiler-rt -target ${triple} --sysroot /opt/riscv/sysroot --gcc-toolchain=/opt/riscv/lib/gcc/riscv64-unknown-linux-gnu/${riscv_gnu_toolchain_version}/' \
7881
AR='ccache ${triple}-ar' AS='ccache ${triple}-gcc' LD='ccache ${triple}-gcc' \
7982
RANLIB='ccache ${triple}-ranlib' \
8083
FC='ccache ${triple}-gfortran' ${{ matrix.opts }} \
@@ -98,6 +101,8 @@ jobs:
98101
shell: bash
99102
run: |
100103
export PATH="/opt/riscv/bin:$PATH"
104+
export LD_LIBRARY_PATH=/opt/riscv/sysroot/lib
105+
sudo ln -s /opt/riscv/sysroot/lib/ld-linux-riscv64-lp64d.so.1 /lib
101106
export QEMU_CPU=${{ matrix.qemu_cpu }}
102107
rm -rf ./test_out
103108
mkdir -p ./test_out
@@ -134,6 +139,14 @@ jobs:
134139
wait
135140
while IFS= read -r -d $'\0' LOG; do cat $LOG ; FAILURES=1 ; done < <(grep -lZ FAIL ./test_out/*)
136141
if [[ ! -z $FAILURES ]]; then echo "==========" ; echo "== FAIL ==" ; echo "==========" ; echo ; exit 1 ; fi
142+
if [ "${{matrix.target}}" == "RISCV64_ZVL256B" ]; then
143+
qemu-riscv64 test/test_sbgemm &
144+
qemu-riscv64 test/test_sbgemv &
145+
qemu-riscv64 test/test_shgemm &
146+
qemu-riscv64 test/test_shgemv &
147+
qemu-riscv64 test/test_bgemm
148+
fi
149+
137150
138151
- name: netlib tests
139152
shell: bash

CMakeLists.txt

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -498,6 +498,11 @@ if (BUILD_SHARED_LIBS OR DELETE_STATIC_LIBS AND NOT ${SYMBOLPREFIX}${SYMBOLSUFFI
498498
else ()
499499
set (BBF16 0)
500500
endif()
501+
if (${BUILD_HFLOAT16})
502+
set (BHF16 1)
503+
else ()
504+
set (BHF16 0)
505+
endif()
501506
if (${BUILD_SINGLE})
502507
set (BS 1)
503508
else ()
@@ -533,7 +538,7 @@ endif()
533538
#if (USE_PERL)
534539
message(STATUS "adding postbuild instruction to rename syms")
535540
add_custom_command(TARGET ${OpenBLAS_LIBNAME}_static POST_BUILD
536-
COMMAND perl ${PROJECT_SOURCE_DIR}/exports/gensymbol.pl "win2k" "${ARCH}" "${BU}" "${EXPRECISION_IN}" "${NO_CBLAS_IN}" "${NO_LAPACK_IN}" "${NO_LAPACKE_IN}" "${NEED2UNDERSCORES_IN}" "${ONLY_CBLAS_IN}" "${SYMBOLPREFIX}" "${SYMBOLSUFFIX}" "${BLD}" "${BBF16}" "${BS}" "${BD}" "${BC}" "${BZ}" > ${PROJECT_BINARY_DIR}/renamesyms.def
541+
COMMAND perl ${PROJECT_SOURCE_DIR}/exports/gensymbol.pl "win2k" "${ARCH}" "${BU}" "${EXPRECISION_IN}" "${NO_CBLAS_IN}" "${NO_LAPACK_IN}" "${NO_LAPACKE_IN}" "${NEED2UNDERSCORES_IN}" "${ONLY_CBLAS_IN}" "${SYMBOLPREFIX}" "${SYMBOLSUFFIX}" "${BLD}" "${BBF16}" "${BHF16}" "${BS}" "${BD}" "${BC}" "${BZ}" > ${PROJECT_BINARY_DIR}/renamesyms.def
537542
COMMAND ${CMAKE_C_COMPILER} ${CMAKE_C_FLAGS} -I${PROJECT_SOURCE_DIR} -I${PROJECT_BINARY_DIR} -c -o ${PROJECT_BINARY_DIR}/dllinit.o ${PROJECT_SOURCE_DIR}/exports/dllinit.c
538543
COMMAND lld-link -nodefaultlib:libcmt -defaultlib:${CRTLIB} ${CMAKE_LINKER_FLAGS} -errorlimit:0 -def:${PROJECT_BINARY_DIR}/renamesyms.def ${PROJECT_BINARY_DIR}/dllinit.o $<TARGET_FILE:${OpenBLAS_LIBNAME}_static> -wholearchive:$<TARGET_FILE:${OpenBLAS_LIBNAME}_static> -dll -out:$<TARGET_FILE_DIR:${OpenBLAS_LIBNAME}_static>/${OpenBLAS_LIBNAME}.dll -implib:$<TARGET_FILE_DIR:${OpenBLAS_LIBNAME}_static>/${OpenBLAS_LIBNAME}.dll.a ${PDBOPT}
539544
#COMMAND lld-link -nodefaultlib:libcmt -defaultlib:msvcrt ${CMAKE_LINKER_FLAGS} -errorlimit:0 -def:${PROJECT_BINARY_DIR}/renamesyms.def ${PROJECT_BINARY_DIR}/dllinit.o $<TARGET_FILE:${OpenBLAS_LIBNAME}_static> -wholearchive:$<TARGET_FILE:${OpenBLAS_LIBNAME}_static> -dll -out:$<TARGET_FILE_DIR:${OpenBLAS_LIBNAME}_static>/${OpenBLAS_LIBNAME}.dll -implib:$<TARGET_FILE_DIR:${OpenBLAS_LIBNAME}_static>/${OpenBLAS_LIBNAME}.dll.a
@@ -543,13 +548,13 @@ message(STATUS "adding postbuild instruction to rename syms")
543548
else ()
544549
if (NOT USE_PERL)
545550
add_custom_command(TARGET ${OpenBLAS_LIBNAME}_shared POST_BUILD
546-
COMMAND sh ${PROJECT_SOURCE_DIR}/exports/gensymbol "objcopy" "${ARCH}" "${BU}" "${EXPRECISION_IN}" "${NO_CBLAS_IN}" "${NO_LAPACK_IN}" "${NO_LAPACKE_IN}" "${NEED2UNDERSCORES_IN}" "${ONLY_CBLAS_IN}" \"${SYMBOLPREFIX}\" \"${SYMBOLSUFFIX}\" "${BLD}" "${BBF16}" "${BS}" "${BD}" "${BC}" "${BZ}" > ${PROJECT_BINARY_DIR}/objcopy.def
551+
COMMAND sh ${PROJECT_SOURCE_DIR}/exports/gensymbol "objcopy" "${ARCH}" "${BU}" "${EXPRECISION_IN}" "${NO_CBLAS_IN}" "${NO_LAPACK_IN}" "${NO_LAPACKE_IN}" "${NEED2UNDERSCORES_IN}" "${ONLY_CBLAS_IN}" \"${SYMBOLPREFIX}\" \"${SYMBOLSUFFIX}\" "${BLD}" "${BBF16}" "${BHF16}" "${BS}" "${BD}" "${BC}" "${BZ}" > ${PROJECT_BINARY_DIR}/objcopy.def
547552
COMMAND objcopy --redefine-syms ${PROJECT_BINARY_DIR}/objcopy.def ${PROJECT_BINARY_DIR}/lib/${OpenBLAS_LIBNAME}.so
548553
COMMENT "renaming symbols"
549554
)
550555
else()
551556
add_custom_command(TARGET ${OpenBLAS_LIBNAME}_shared POST_BUILD
552-
COMMAND perl ${PROJECT_SOURCE_DIR}/exports/gensymbol.pl "objcopy" "${ARCH}" "${BU}" "${EXPRECISION_IN}" "${NO_CBLAS_IN}" "${NO_LAPACK_IN}" "${NO_LAPACKE_IN}" "${NEED2UNDERSCORES_IN}" "${ONLY_CBLAS_IN}" \"${SYMBOLPREFIX}\" \"${SYMBOLSUFFIX}\" "${BLD}" "${BBF16}" "${BS}" "${BD}" "${BC}" "${BZ}" > ${PROJECT_BINARY_DIR}/objcopy.def
557+
COMMAND perl ${PROJECT_SOURCE_DIR}/exports/gensymbol.pl "objcopy" "${ARCH}" "${BU}" "${EXPRECISION_IN}" "${NO_CBLAS_IN}" "${NO_LAPACK_IN}" "${NO_LAPACKE_IN}" "${NEED2UNDERSCORES_IN}" "${ONLY_CBLAS_IN}" \"${SYMBOLPREFIX}\" \"${SYMBOLSUFFIX}\" "${BLD}" "${BBF16}" "${BHF16}" "${BS}" "${BD}" "${BC}" "${BZ}" > ${PROJECT_BINARY_DIR}/objcopy.def
553558
COMMAND objcopy --redefine-syms ${PROJECT_BINARY_DIR}/objcopy.def ${PROJECT_BINARY_DIR}/lib/lib${OpenBLAS_LIBNAME}.so
554559
COMMENT "renaming symbols"
555560
)

Makefile.system

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -891,7 +891,7 @@ NO_BINARY_MODE = 1
891891
BINARY_DEFINED = 1
892892
ifdef INTERFACE64
893893
ifneq ($(INTERFACE64), 0)
894-
ifeq ($(F_COMPILER), GFORTRAN)
894+
ifeq ($(F_COMPILER), $(filter $(F_COMPILER),GFORTRAN FLANGNEW))
895895
FCOMMON_OPT += -fdefault-integer-8
896896
endif
897897
ifeq ($(F_COMPILER), FLANG)
@@ -906,7 +906,7 @@ NO_BINARY_MODE = 1
906906
BINARY_DEFINED = 1
907907
ifdef INTERFACE64
908908
ifneq ($(INTERFACE64), 0)
909-
ifeq ($(F_COMPILER), GFORTRAN)
909+
ifeq ($(F_COMPILER), $(filter $(F_COMPILER),GFORTRAN FLANGNEW))
910910
FCOMMON_OPT += -fdefault-integer-8
911911
endif
912912
ifeq ($(F_COMPILER), FLANG)
@@ -921,7 +921,7 @@ NO_BINARY_MODE = 1
921921
BINARY_DEFINED = 1
922922
ifdef INTERFACE64
923923
ifneq ($(INTERFACE64), 0)
924-
ifeq ($(F_COMPILER), GFORTRAN)
924+
ifeq ($(F_COMPILER), $(filter $(F_COMPILER),GFORTRAN FLANGNEW))
925925
FCOMMON_OPT += -fdefault-integer-8
926926
endif
927927
ifeq ($(F_COMPILER), FLANG)

azure-pipelines.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ jobs:
9595
vmImage: 'windows-latest'
9696
steps:
9797
- script: |
98-
mingw32-make CC=gcc FC=gfortran DYNAMIC_ARCH=1 DYNAMIC_LIST="SANDYBRIDGE"
98+
mingw32-make CC=gcc NOLAPACK=1 DYNAMIC_ARCH=1 DYNAMIC_LIST="SANDYBRIDGE"
9999
100100
- job: Windows_clang_cmake
101101
pool:
@@ -171,13 +171,13 @@ jobs:
171171
brew update
172172
make USE_THREADS=0 CC=gcc-13 FC=gfortran-13
173173
174-
- job: OSX_GCC12
174+
- job: OSX_GCC15
175175
pool:
176176
vmImage: 'macOS-latest'
177177
steps:
178178
- script: |
179179
brew update
180-
make CC=gcc-12 FC=gfortran-12
180+
make CC=gcc-15 FC=gfortran-15
181181
182182
- job: OSX_LLVM_flangnew
183183
pool:
@@ -201,7 +201,7 @@ jobs:
201201
- script: |
202202
brew update
203203
brew install llvm libomp
204-
make TARGET=CORE2 USE_OPENMP=1 DYNAMIC_ARCH=1 CC=/usr/local/opt/llvm/bin/clang NOFORTRAN=1
204+
make TARGET=CORE2 USE_OPENMP=1 DYNAMIC_ARCH=1 DYNAMIC_LIST='NEHALEM HASWELL SKYLAKEX' CC=/usr/local/opt/llvm/bin/clang NOFORTRAN=1
205205
206206
- job: OSX_OpenMP_Clang_cmake
207207
pool:
@@ -215,7 +215,7 @@ jobs:
215215
brew install llvm libomp
216216
mkdir build
217217
cd build
218-
cmake -DTARGET=CORE2 -DUSE_OPENMP=1 -DINTERFACE64=1 -DDYNAMIC_ARCH=1 -DCMAKE_C_COMPILER=/usr/local/opt/llvm/bin/clang -DNOFORTRAN=1 -DNO_AVX512=1 ..
218+
cmake -DTARGET=CORE2 -DUSE_OPENMP=1 -DINTERFACE64=1 -DDYNAMIC_ARCH=1 -DDYNAMIC_LIST='NEHALEM HASWELL SKYLAKEX' -DCMAKE_C_COMPILER=/usr/local/opt/llvm/bin/clang -DNOFORTRAN=1 -DNO_AVX512=1 ..
219219
make
220220
ctest
221221

cmake/OpenBLASConfig.cmake.in

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -50,30 +50,30 @@ set(PN OpenBLAS)
5050

5151
# need to check that the @USE_*@ evaluate to something cmake can perform boolean logic upon
5252
if(@USE_OPENMP@)
53-
set(${PN}_openmp_FOUND 1)
53+
set(${PN}@SUFFIX64@_openmp_FOUND 1)
5454
elseif(@USE_THREAD@)
55-
set(${PN}_pthread_FOUND 1)
55+
set(${PN}@SUFFIX64@_pthread_FOUND 1)
5656
else()
57-
set(${PN}_serial_FOUND 1)
57+
set(${PN}@SUFFIX64@_serial_FOUND 1)
5858
endif()
5959

60-
check_required_components(${PN})
60+
check_required_components(${PN}@SUFFIX64@)
6161

6262
#-----------------------------------------------------------------------------
6363
# Don't include targets if this file is being picked up by another
6464
# project which has already built this as a subproject
6565
#-----------------------------------------------------------------------------
66-
if(NOT TARGET ${PN}::OpenBLAS)
67-
include("${CMAKE_CURRENT_LIST_DIR}/${PN}Targets.cmake")
66+
if(NOT TARGET ${PN}@SUFFIX64@::OpenBLAS)
67+
include("${CMAKE_CURRENT_LIST_DIR}/${PN}@SUFFIX64@Targets.cmake")
6868

69-
get_property(_loc TARGET ${PN}::OpenBLAS PROPERTY LOCATION)
70-
set(${PN}_LIBRARY ${_loc})
71-
get_property(_ill TARGET ${PN}::OpenBLAS PROPERTY INTERFACE_LINK_LIBRARIES)
72-
set(${PN}_LIBRARIES ${_ill})
69+
get_property(_loc TARGET ${PN}@SUFFIX64@::OpenBLAS PROPERTY LOCATION)
70+
set(${PN}@SUFFIX64@_LIBRARY ${_loc})
71+
get_property(_ill TARGET ${PN}@SUFFIX64@::OpenBLAS PROPERTY INTERFACE_LINK_LIBRARIES)
72+
set(${PN}@SUFFIX64@_LIBRARIES ${_ill})
7373

74-
get_property(_id TARGET ${PN}::OpenBLAS PROPERTY INCLUDE_DIRECTORIES)
75-
set(${PN}_INCLUDE_DIR ${_id})
76-
get_property(_iid TARGET ${PN}::OpenBLAS PROPERTY INTERFACE_INCLUDE_DIRECTORIES)
77-
set(${PN}_INCLUDE_DIRS ${_iid})
74+
get_property(_id TARGET ${PN}@SUFFIX64@::OpenBLAS PROPERTY INCLUDE_DIRECTORIES)
75+
set(${PN}@SUFFIX64@_INCLUDE_DIR ${_id})
76+
get_property(_iid TARGET ${PN}@SUFFIX64@::OpenBLAS PROPERTY INTERFACE_INCLUDE_DIRECTORIES)
77+
set(${PN}@SUFFIX64@_INCLUDE_DIRS ${_iid})
7878
endif()
7979

0 commit comments

Comments
 (0)