From d2719e2a75760bbe411d503a72a3b3574b7a2678 Mon Sep 17 00:00:00 2001 From: Devin Matthews Date: Fri, 25 Jul 2025 15:52:53 -0500 Subject: [PATCH 01/23] First attempt at Windows builds in CircleCI. --- .circleci/config.yml | 78 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index e117ae0a5d..89dcdf15fd 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -7,6 +7,9 @@ branches: - amd - /r[0-9]+.x/ +orbs: + windows: circleci/windows@5.1.0 + executors: linux: # Docker using the Base Convenience Image docker: @@ -24,6 +27,26 @@ executors: workflows: build: jobs: + # Default: + # - win-build: + # CC: gcc + # TEST: FAST + # THR: none + # CONF: auto + # LIB_TYPE: shared + + - win-build: + CC: gcc + THR: openmp,pthreads + LIB_TYPE: static + CONF: x86_64 + + - win-build: + CC: clang + THR: openmp,pthreads + LIB_TYPE: shared + CONF: x86_64 + # Default: # - build: # os: linux @@ -140,6 +163,61 @@ workflows: LDFLAGS: -static jobs: + win-build: + parameters: + CC: + type: string + default: gcc + CXX: + type: string + default: g++ + TEST: + type: string + default: FAST + THR: + type: string + default: none + CONF: + type: string + default: auto + LIB_TYPE: + type: string + default: shared + executor: + name: win/default + steps: + - checkout + + - run: + name: Installing Dependencies + command: | + choco install mingw + + - run: + name: Configuring, Building, Testing + command: | + set DIST_PATH=. + set CC="<< parameters.CC >>" + set CXX="<< parameters.CXX >>" + set OOT="<< parameters.OOT >>" + set CONF="<< parameters.CONF >>" + set TEST="<< parameters.TEST >>" + set THR="<< parameters.THR >>" + if [%CC%]==[clang] set "AR=llvm-ar" + if [%CC%]==[clang] set "AS=llvm-as" + if [%LIB_TYPE%]==[shared] set "CONFIGURE_OPTS=%CONFIGURE_OPTS% --enable-shared --disable-static" + if [%LIB_TYPE%]==[static] set "CONFIGURE_OPTS=%CONFIGURE_OPTS% --disable-shared --enable-static" + if not [%CBLAS%]==[no] set "CONFIGURE_OPTS=%CONFIGURE_OPTS% --enable-cblas" + if [%SANDBOX%]==[yes] set "CONFIGURE_OPTS=%CONFIGURE_OPTS% -s gemmlike" + set RANLIB=echo + set LIBPTHREAD= + bash -lc "./configure %CONFIGURE_OPTS% --enable-threading=%THR% --enable-arg-max-hack --prefix=%cd% %CONF%" + bash -lc "mingw32-make -j4 V=1" + bash -lc "mingw32-make install" + if [%LIB_TYPE%]==[shared] set "TEST_TARGET=checkblis-fast" + if [%LIB_TYPE%]==[static] set "TEST_TARGET=check" + if [%TEST%]==[FAST] bash -lc "mingw32-make %TEST_TARGET% -j4 V=1" + build: parameters: os: From 06bfb4317e9179f76321353f5fb29b1911b0d566 Mon Sep 17 00:00:00 2001 From: Devin Matthews Date: Fri, 25 Jul 2025 15:55:12 -0500 Subject: [PATCH 02/23] Remove undefined parameter. --- .circleci/config.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 89dcdf15fd..6ed34340d5 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -199,7 +199,6 @@ jobs: set DIST_PATH=. set CC="<< parameters.CC >>" set CXX="<< parameters.CXX >>" - set OOT="<< parameters.OOT >>" set CONF="<< parameters.CONF >>" set TEST="<< parameters.TEST >>" set THR="<< parameters.THR >>" From d85c68b2a009d6ea3d1e79b9f5490f02a5a36ba7 Mon Sep 17 00:00:00 2001 From: Devin Matthews Date: Fri, 25 Jul 2025 15:56:07 -0500 Subject: [PATCH 03/23] Fix orb name. --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 6ed34340d5..dd97f263a3 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -8,7 +8,7 @@ branches: - /r[0-9]+.x/ orbs: - windows: circleci/windows@5.1.0 + win: circleci/windows@5.1.0 executors: linux: # Docker using the Base Convenience Image From 4d8509880041c549d28eb164c3bbf2c7f8b6bcaf Mon Sep 17 00:00:00 2001 From: Devin Matthews Date: Fri, 25 Jul 2025 16:21:00 -0500 Subject: [PATCH 04/23] Convert to powershell. --- .circleci/config.yml | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index dd97f263a3..2db958d560 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -196,26 +196,26 @@ jobs: - run: name: Configuring, Building, Testing command: | - set DIST_PATH=. - set CC="<< parameters.CC >>" - set CXX="<< parameters.CXX >>" - set CONF="<< parameters.CONF >>" - set TEST="<< parameters.TEST >>" - set THR="<< parameters.THR >>" - if [%CC%]==[clang] set "AR=llvm-ar" - if [%CC%]==[clang] set "AS=llvm-as" - if [%LIB_TYPE%]==[shared] set "CONFIGURE_OPTS=%CONFIGURE_OPTS% --enable-shared --disable-static" - if [%LIB_TYPE%]==[static] set "CONFIGURE_OPTS=%CONFIGURE_OPTS% --disable-shared --enable-static" - if not [%CBLAS%]==[no] set "CONFIGURE_OPTS=%CONFIGURE_OPTS% --enable-cblas" - if [%SANDBOX%]==[yes] set "CONFIGURE_OPTS=%CONFIGURE_OPTS% -s gemmlike" - set RANLIB=echo - set LIBPTHREAD= - bash -lc "./configure %CONFIGURE_OPTS% --enable-threading=%THR% --enable-arg-max-hack --prefix=%cd% %CONF%" + $DIST_PATH = . + $CC = "<< parameters.CC >>" + $CXX = "<< parameters.CXX >>" + $CONF = "<< parameters.CONF >>" + $TEST = "<< parameters.TEST >>" + $THR = "<< parameters.THR >>" + if ($CC -eq "clang") { $AR = "llvm-ar" } + if ($CC -eq "clang") { $AS = "llvm-as" } + if ($LIB_TYPE -eq "shared") { $CONFIGURE_OPTS = "$CONFIGURE_OPTS --enable-shared --disable-static" } + if ($LIB_TYPE -eq "static") { $CONFIGURE_OPTS = "$CONFIGURE_OPTS --disable-shared --enable-static" } + if ($CBLAS -ne "no") { $CONFIGURE_OPTS = "$CONFIGURE_OPTS --enable-cblas" } + if ($SANDBOX -eq "yes") { $CONFIGURE_OPTS = "$CONFIGURE_OPTS -s gemmlike" } + $RANLIB = "echo" + $LIBPTHREAD = "" + bash -lc "./configure $CONFIGURE_OPTS --enable-threading=$THR --enable-arg-max-hack --prefix=$pwd $CONF" bash -lc "mingw32-make -j4 V=1" bash -lc "mingw32-make install" - if [%LIB_TYPE%]==[shared] set "TEST_TARGET=checkblis-fast" - if [%LIB_TYPE%]==[static] set "TEST_TARGET=check" - if [%TEST%]==[FAST] bash -lc "mingw32-make %TEST_TARGET% -j4 V=1" + if ($LIB_TYPE -eq "shared") { $TEST_TARGET = "checkblis-fast" } + if ($LIB_TYPE -eq "static") { $TEST_TARGET = "check" } + if ($TEST -eq "FAST") { bash -lc "mingw32-make $TEST_TARGET -j4 V=1" } build: parameters: From 0d65220d621d22c558ea1b1a4de0923421adfbb5 Mon Sep 17 00:00:00 2001 From: Devin Matthews Date: Fri, 25 Jul 2025 16:25:04 -0500 Subject: [PATCH 05/23] Powershell fixes. --- .circleci/config.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 2db958d560..1b483ef4ed 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -196,9 +196,9 @@ jobs: - run: name: Configuring, Building, Testing command: | - $DIST_PATH = . - $CC = "<< parameters.CC >>" - $CXX = "<< parameters.CXX >>" + $env:DIST_PATH = "." + $env:CC = "<< parameters.CC >>" + $env:CXX = "<< parameters.CXX >>" $CONF = "<< parameters.CONF >>" $TEST = "<< parameters.TEST >>" $THR = "<< parameters.THR >>" @@ -208,8 +208,8 @@ jobs: if ($LIB_TYPE -eq "static") { $CONFIGURE_OPTS = "$CONFIGURE_OPTS --disable-shared --enable-static" } if ($CBLAS -ne "no") { $CONFIGURE_OPTS = "$CONFIGURE_OPTS --enable-cblas" } if ($SANDBOX -eq "yes") { $CONFIGURE_OPTS = "$CONFIGURE_OPTS -s gemmlike" } - $RANLIB = "echo" - $LIBPTHREAD = "" + $env:RANLIB = "echo" + $env:LIBPTHREAD = "" bash -lc "./configure $CONFIGURE_OPTS --enable-threading=$THR --enable-arg-max-hack --prefix=$pwd $CONF" bash -lc "mingw32-make -j4 V=1" bash -lc "mingw32-make install" From 7eaa5d4c0f337a6a6d86d66a6ea7020078ee12c4 Mon Sep 17 00:00:00 2001 From: Devin Matthews Date: Fri, 25 Jul 2025 15:37:39 -0500 Subject: [PATCH 06/23] Fix installation of blis.h. (cherry picked from commit 358e689cadd6757f564a2992cf46a2f7d6fa6bb0) --- Makefile | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index c686fd12c3..36a5f75403 100644 --- a/Makefile +++ b/Makefile @@ -301,6 +301,9 @@ ifeq ($(INSTALL_HH),yes) HEADERS_TO_INSTALL += $(wildcard $(VEND_CPP_PATH)/*.hh) endif +# Determine that paths of the installed header files +HEADERS_INSTALLED := $(foreach hdr,$(HEADERS_TO_INSTALL),$(MK_INCL_DIR_INST)/$(notdir $(hdr))) + # Define a list of so-called helper headers to install. These helper headers # are very simple headers that go one directory up from INCDIR/blis (which # by default is PREFIX/include/blis, where PREFIX is the install prefix). The @@ -491,7 +494,7 @@ UNINSTALL_OLD_SYML += $(wildcard $(INSTALL_LIBDIR)/$(LIBBLIS)-*.$(SHLIB_EXT)) # This shell command grabs all files named "*.h" that are not blis.h or cblas.h # in the installation directory. We consider this set of headers to be "old" and # eligible for removal upon running of the uninstall-old-headers target. -UNINSTALL_OLD_HEADERS := $(filter-out $(BLIS_H),$(filter-out $(CBLAS_H),$(wildcard $(INSTALL_INCDIR)/blis/*.h))) +UNINSTALL_OLD_HEADERS := $(filter-out %/$(BLIS_H),$(filter-out %/$(CBLAS_H),$(wildcard $(INSTALL_INCDIR)/blis/*.h))) endif # IS_CONFIGURED @@ -1079,17 +1082,27 @@ endif # --- Install header rules --- -install-headers: check-env $(MK_INCL_DIR_INST) install-helper-headers +install-headers: check-env $(HEADERS_INSTALLED) install-helper-headers # Rule for installing main headers. -$(MK_INCL_DIR_INST): $(HEADERS_TO_INSTALL) $(CONFIG_MK_FILE) +$(MK_INCL_DIR_INST)/%.h: $(BASE_INC_PATH)/%.h $(CONFIG_MK_FILE) ifeq ($(ENABLE_VERBOSE),yes) - $(MKDIR) $(@) - $(INSTALL) -m 0644 $(HEADERS_TO_INSTALL) $(@) + $(MKDIR) $(dir $(@)) + $(INSTALL) -m 0644 $(<) $(dir $(@)) else - @$(MKDIR) $(@) - @echo "Installing $(notdir $(HEADERS_TO_INSTALL)) into $(@)/" - @$(INSTALL) -m 0644 $(HEADERS_TO_INSTALL) $(@) + @$(MKDIR) $(dir $(@)) + @echo "Installing $(notdir $(<)) into $(dir $(@))/" + @$(INSTALL) -m 0644 $(<) $(dir $(@)) +endif + +$(MK_INCL_DIR_INST)/%.hh: $(VEND_CPP_PATH)/%.hh $(CONFIG_MK_FILE) +ifeq ($(ENABLE_VERBOSE),yes) + $(MKDIR) $(dir $(@)) + $(INSTALL) -m 0644 $(<) $(dir $(@)) +else + @$(MKDIR) $(dir $(@)) + @echo "Installing $(notdir $(<)) into $(dir $(@))/" + @$(INSTALL) -m 0644 $(<) $(dir $(@)) endif install-helper-headers: check-env $(HELP_HEADERS_INSTALLED) From 0d5a9fac7856400f4226d0c540db4bc3792065c7 Mon Sep 17 00:00:00 2001 From: Devin Matthews Date: Fri, 25 Jul 2025 16:36:27 -0500 Subject: [PATCH 07/23] Try and set prefix correctly for Win builds. --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 1b483ef4ed..083818db9b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -210,7 +210,7 @@ jobs: if ($SANDBOX -eq "yes") { $CONFIGURE_OPTS = "$CONFIGURE_OPTS -s gemmlike" } $env:RANLIB = "echo" $env:LIBPTHREAD = "" - bash -lc "./configure $CONFIGURE_OPTS --enable-threading=$THR --enable-arg-max-hack --prefix=$pwd $CONF" + bash -lc "./configure $CONFIGURE_OPTS --enable-threading=$THR --enable-arg-max-hack --prefix=\$(pwd) $CONF" bash -lc "mingw32-make -j4 V=1" bash -lc "mingw32-make install" if ($LIB_TYPE -eq "shared") { $TEST_TARGET = "checkblis-fast" } From 514093639425f95ad07883583ead25fb457430ed Mon Sep 17 00:00:00 2001 From: Devin Matthews Date: Fri, 25 Jul 2025 16:42:05 -0500 Subject: [PATCH 08/23] Try again to fix prefix and install llvm. --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 083818db9b..9d88e0b3b0 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -191,7 +191,7 @@ jobs: - run: name: Installing Dependencies command: | - choco install mingw + choco install mingw llvm - run: name: Configuring, Building, Testing @@ -210,7 +210,7 @@ jobs: if ($SANDBOX -eq "yes") { $CONFIGURE_OPTS = "$CONFIGURE_OPTS -s gemmlike" } $env:RANLIB = "echo" $env:LIBPTHREAD = "" - bash -lc "./configure $CONFIGURE_OPTS --enable-threading=$THR --enable-arg-max-hack --prefix=\$(pwd) $CONF" + bash -lc "./configure $CONFIGURE_OPTS --enable-threading=$THR --enable-arg-max-hack --prefix=/c/Users/circleci/project $CONF" bash -lc "mingw32-make -j4 V=1" bash -lc "mingw32-make install" if ($LIB_TYPE -eq "shared") { $TEST_TARGET = "checkblis-fast" } From 7d4d7aa3cbaba6699f8b22f116176611e993d4f1 Mon Sep 17 00:00:00 2001 From: Devin Matthews Date: Fri, 25 Jul 2025 16:59:39 -0500 Subject: [PATCH 09/23] Add debug info. --- .circleci/config.yml | 5 +++++ Makefile | 4 ++++ common.mk | 2 ++ 3 files changed, 11 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 9d88e0b3b0..3ed378d126 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -216,6 +216,11 @@ jobs: if ($LIB_TYPE -eq "shared") { $TEST_TARGET = "checkblis-fast" } if ($LIB_TYPE -eq "static") { $TEST_TARGET = "check" } if ($TEST -eq "FAST") { bash -lc "mingw32-make $TEST_TARGET -j4 V=1" } + if ((-not Select-String -Path output.testsuite -Pattern "Exiting normally" -SimpleMatch -Quiet) -or + (Select-String -Path output.testsuite -Pattern "FAILURE" -SimpleMatch -Quiet)) + { + throw "Build and/or tests failed." + } build: parameters: diff --git a/Makefile b/Makefile index 36a5f75403..354f848a65 100644 --- a/Makefile +++ b/Makefile @@ -262,6 +262,10 @@ MK_BLIS_OBJS := $(MK_CONFIG_OBJS) \ $(MK_ADDON_OBJS) \ $(MK_SANDBOX_OBJS) + +$(info "Frame source: $(MK_FRAME_SRC)") +$(info "Objects: $(MK_BLIS_OBJS)") + # Optionally filter out the BLAS and CBLAS compatibility layer object files. # This is not actually necessary, since each affected file is guarded by C # preprocessor macros, but it but prevents "empty" object files from being diff --git a/common.mk b/common.mk index 499436fa55..a08c64e867 100644 --- a/common.mk +++ b/common.mk @@ -1135,6 +1135,8 @@ PARENT_PATH := $(OBJ_DIR)/$(CONFIG_NAME) -include $(addsuffix /$(FRAGMENT_MK), $(REFKERN_FRAG_PATH)) -include $(addsuffix /$(FRAGMENT_MK), $(FRAME_FRAG_PATH)) +$(info "Frame fragment: $(addsuffix /$(FRAGMENT_MK), $(FRAME_FRAG_PATH))") + # -- addon -- # Construct paths to each addon. From 6856272063321faaaae29b76e40e86a39646a98f Mon Sep 17 00:00:00 2001 From: Devin Matthews Date: Fri, 25 Jul 2025 17:05:44 -0500 Subject: [PATCH 10/23] Fix powershell syntax. --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 3ed378d126..47b215da58 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -216,7 +216,7 @@ jobs: if ($LIB_TYPE -eq "shared") { $TEST_TARGET = "checkblis-fast" } if ($LIB_TYPE -eq "static") { $TEST_TARGET = "check" } if ($TEST -eq "FAST") { bash -lc "mingw32-make $TEST_TARGET -j4 V=1" } - if ((-not Select-String -Path output.testsuite -Pattern "Exiting normally" -SimpleMatch -Quiet) -or + if ((-not (Select-String -Path output.testsuite -Pattern "Exiting normally" -SimpleMatch -Quiet)) -or (Select-String -Path output.testsuite -Pattern "FAILURE" -SimpleMatch -Quiet)) { throw "Build and/or tests failed." From 40914a24e5bd46199d3c3703c0948f88de5b62ec Mon Sep 17 00:00:00 2001 From: Devin Matthews Date: Fri, 25 Jul 2025 17:10:22 -0500 Subject: [PATCH 11/23] Need Python. --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 47b215da58..9ad935b395 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -191,7 +191,7 @@ jobs: - run: name: Installing Dependencies command: | - choco install mingw llvm + choco install mingw llvm python - run: name: Configuring, Building, Testing From 12f589b8bfe2886dcaab18bc52040b17523efa46 Mon Sep 17 00:00:00 2001 From: Devin Matthews Date: Fri, 25 Jul 2025 17:48:03 -0500 Subject: [PATCH 12/23] Line endings are messed up. --- .circleci/config.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 9ad935b395..893faba312 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -186,6 +186,8 @@ jobs: executor: name: win/default steps: + - run: git config --global core.autocrlf input + - checkout - run: From ce45bf54495f43dcecdb4eafcdd05e6f2885c31d Mon Sep 17 00:00:00 2001 From: Devin Matthews Date: Fri, 25 Jul 2025 18:11:49 -0500 Subject: [PATCH 13/23] Add blacklist for KNL. --- .circleci/config.yml | 3 ++- Makefile | 4 ---- common.mk | 2 -- configure | 5 ++++- 4 files changed, 6 insertions(+), 8 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 893faba312..28648cefec 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -193,7 +193,7 @@ jobs: - run: name: Installing Dependencies command: | - choco install mingw llvm python + choco install mingw llvm - run: name: Configuring, Building, Testing @@ -217,6 +217,7 @@ jobs: bash -lc "mingw32-make install" if ($LIB_TYPE -eq "shared") { $TEST_TARGET = "checkblis-fast" } if ($LIB_TYPE -eq "static") { $TEST_TARGET = "check" } + echo "Test target: $TEST_TARGET" if ($TEST -eq "FAST") { bash -lc "mingw32-make $TEST_TARGET -j4 V=1" } if ((-not (Select-String -Path output.testsuite -Pattern "Exiting normally" -SimpleMatch -Quiet)) -or (Select-String -Path output.testsuite -Pattern "FAILURE" -SimpleMatch -Quiet)) diff --git a/Makefile b/Makefile index 354f848a65..36a5f75403 100644 --- a/Makefile +++ b/Makefile @@ -262,10 +262,6 @@ MK_BLIS_OBJS := $(MK_CONFIG_OBJS) \ $(MK_ADDON_OBJS) \ $(MK_SANDBOX_OBJS) - -$(info "Frame source: $(MK_FRAME_SRC)") -$(info "Objects: $(MK_BLIS_OBJS)") - # Optionally filter out the BLAS and CBLAS compatibility layer object files. # This is not actually necessary, since each affected file is guarded by C # preprocessor macros, but it but prevents "empty" object files from being diff --git a/common.mk b/common.mk index a08c64e867..499436fa55 100644 --- a/common.mk +++ b/common.mk @@ -1135,8 +1135,6 @@ PARENT_PATH := $(OBJ_DIR)/$(CONFIG_NAME) -include $(addsuffix /$(FRAGMENT_MK), $(REFKERN_FRAG_PATH)) -include $(addsuffix /$(FRAGMENT_MK), $(FRAME_FRAG_PATH)) -$(info "Frame fragment: $(addsuffix /$(FRAGMENT_MK), $(FRAME_FRAG_PATH))") - # -- addon -- # Construct paths to each addon. diff --git a/configure b/configure index 8b1bb943f4..1553d2362a 100755 --- a/configure +++ b/configure @@ -1818,7 +1818,7 @@ check_compiler() if [[ ${cc_vendor} = NVIDIA ]]; then blacklistcc_add "knl" fi - + # gcc if [[ ${cc_vendor} = gcc ]]; then @@ -1917,6 +1917,9 @@ check_compiler() if [[ ${cc_major} -lt 11 ]]; then blacklistcc_add "armsve" fi + if [[ ${cc_major} -ge 19 ]]; then + blacklistcc_add "knl" + fi fi fi } From 64592f4f6ffa8349bd0c6e3160835e8766a9ed90 Mon Sep 17 00:00:00 2001 From: Devin Matthews Date: Fri, 25 Jul 2025 18:36:54 -0500 Subject: [PATCH 14/23] Missed setting some parameters. Also add artifacts. --- .circleci/config.yml | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 28648cefec..45a1996f7c 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -204,6 +204,18 @@ jobs: $CONF = "<< parameters.CONF >>" $TEST = "<< parameters.TEST >>" $THR = "<< parameters.THR >>" + $LIB_TYPE = "<< parameters.LIB_TYPE >>" + $CBLAS = "no" + $SANDBOX = "no" + + echo "DIST_PATH = $env:DIST_PATH" + echo "CC = $env:CC" + echo "CXX = $env:CXX" + echo "CONF = $CONF" + echo "TEST = $TEST" + echo "THR = $THR" + echo "LIB_TYPE = $LIB_TYPE" + if ($CC -eq "clang") { $AR = "llvm-ar" } if ($CC -eq "clang") { $AS = "llvm-as" } if ($LIB_TYPE -eq "shared") { $CONFIGURE_OPTS = "$CONFIGURE_OPTS --enable-shared --disable-static" } @@ -212,19 +224,30 @@ jobs: if ($SANDBOX -eq "yes") { $CONFIGURE_OPTS = "$CONFIGURE_OPTS -s gemmlike" } $env:RANLIB = "echo" $env:LIBPTHREAD = "" - bash -lc "./configure $CONFIGURE_OPTS --enable-threading=$THR --enable-arg-max-hack --prefix=/c/Users/circleci/project $CONF" + + $CONFIGURE_OPTS = "$CONFIGURE_OPTS --enable-threading=$THR --enable-arg-max-hack --prefix=/c/Users/circleci/project/blis $CONF" + echo "Configuring with: $CONFIGURE_OPTS" + bash -lc "./configure $CONFIGURE_OPTS" bash -lc "mingw32-make -j4 V=1" bash -lc "mingw32-make install" + if ($LIB_TYPE -eq "shared") { $TEST_TARGET = "checkblis-fast" } if ($LIB_TYPE -eq "static") { $TEST_TARGET = "check" } echo "Test target: $TEST_TARGET" if ($TEST -eq "FAST") { bash -lc "mingw32-make $TEST_TARGET -j4 V=1" } + + tar zcvf blis-x86_64-win-$LIB_TYPE.tar.gz blis + if ((-not (Select-String -Path output.testsuite -Pattern "Exiting normally" -SimpleMatch -Quiet)) -or (Select-String -Path output.testsuite -Pattern "FAILURE" -SimpleMatch -Quiet)) { throw "Build and/or tests failed." } + - store_artifacts: + path: blis-x86_64-win-<< parameters.LIB_TYPE >>.tar.gz + + build: parameters: os: From 98e66ca72e4405855cf4fabf9b9610b6aa4a068b Mon Sep 17 00:00:00 2001 From: Devin Matthews Date: Fri, 25 Jul 2025 18:53:19 -0500 Subject: [PATCH 15/23] Don't use powershell. --- .circleci/config.yml | 62 ++++++++++++++++++++++---------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 45a1996f7c..adf24b7843 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -196,17 +196,18 @@ jobs: choco install mingw llvm - run: + shell: bash.exe name: Configuring, Building, Testing command: | - $env:DIST_PATH = "." - $env:CC = "<< parameters.CC >>" - $env:CXX = "<< parameters.CXX >>" - $CONF = "<< parameters.CONF >>" - $TEST = "<< parameters.TEST >>" - $THR = "<< parameters.THR >>" - $LIB_TYPE = "<< parameters.LIB_TYPE >>" - $CBLAS = "no" - $SANDBOX = "no" + DIST_PATH="." + CC="<< parameters.CC >>" + CXX="<< parameters.CXX >>" + CONF="<< parameters.CONF >>" + TEST="<< parameters.TEST >>" + THR="<< parameters.THR >>" + LIB_TYPE="<< parameters.LIB_TYPE >>" + CBLAS="no" + SANDBOX="no" echo "DIST_PATH = $env:DIST_PATH" echo "CC = $env:CC" @@ -216,37 +217,33 @@ jobs: echo "THR = $THR" echo "LIB_TYPE = $LIB_TYPE" - if ($CC -eq "clang") { $AR = "llvm-ar" } - if ($CC -eq "clang") { $AS = "llvm-as" } - if ($LIB_TYPE -eq "shared") { $CONFIGURE_OPTS = "$CONFIGURE_OPTS --enable-shared --disable-static" } - if ($LIB_TYPE -eq "static") { $CONFIGURE_OPTS = "$CONFIGURE_OPTS --disable-shared --enable-static" } - if ($CBLAS -ne "no") { $CONFIGURE_OPTS = "$CONFIGURE_OPTS --enable-cblas" } - if ($SANDBOX -eq "yes") { $CONFIGURE_OPTS = "$CONFIGURE_OPTS -s gemmlike" } - $env:RANLIB = "echo" - $env:LIBPTHREAD = "" + [ $CC = "clang" ] && $AR="llvm-ar" + [ $CC = "clang" ] && $AS="llvm-as" + [ $LIB_TYPE = "shared") && $CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-shared --disable-static" + [ $LIB_TYPE = "static") && $CONFIGURE_OPTS="$CONFIGURE_OPTS --disable-shared --enable-static" + [ $CBLAS = "no" ] || $CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-cblas" + [ $SANDBOX = "yes" ] && $CONFIGURE_OPTS="$CONFIGURE_OPTS -s gemmlike" + $RANLIB="echo" + $LIBPTHREAD="" - $CONFIGURE_OPTS = "$CONFIGURE_OPTS --enable-threading=$THR --enable-arg-max-hack --prefix=/c/Users/circleci/project/blis $CONF" + $CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-threading=$THR --enable-arg-max-hack --prefix=/c/Users/circleci/project/blis $CONF" echo "Configuring with: $CONFIGURE_OPTS" - bash -lc "./configure $CONFIGURE_OPTS" - bash -lc "mingw32-make -j4 V=1" - bash -lc "mingw32-make install" - - if ($LIB_TYPE -eq "shared") { $TEST_TARGET = "checkblis-fast" } - if ($LIB_TYPE -eq "static") { $TEST_TARGET = "check" } - echo "Test target: $TEST_TARGET" - if ($TEST -eq "FAST") { bash -lc "mingw32-make $TEST_TARGET -j4 V=1" } + ./configure $CONFIGURE_OPTS + mingw32-make -j4 V=1 + mingw32-make install tar zcvf blis-x86_64-win-$LIB_TYPE.tar.gz blis - if ((-not (Select-String -Path output.testsuite -Pattern "Exiting normally" -SimpleMatch -Quiet)) -or - (Select-String -Path output.testsuite -Pattern "FAILURE" -SimpleMatch -Quiet)) - { - throw "Build and/or tests failed." - } + [ $LIB_TYPE = "shared" ] && $TEST_TARGET="checkblis-fast" + [ $LIB_TYPE = "static" ] && $TEST_TARGET="check" + echo "Test target: $TEST_TARGET" + [ $TEST = "FAST" ] && mingw32-make $TEST_TARGET -j4 V=1 - store_artifacts: path: blis-x86_64-win-<< parameters.LIB_TYPE >>.tar.gz + - store_artifacts: + path: output.testsuite build: parameters: @@ -391,3 +388,6 @@ jobs: if [ "$TEST" != "0" ]; then $DIST_PATH/ci/do_testsuite.sh; fi if [ "$SDE" = "1" ]; then $DIST_PATH/ci/do_sde.sh; fi if [ "$LEVEL0" = "1" ]; then $DIST_PATH/ci/do_level0.sh; fi + + - store_artifacts: + path: output.testsuite From d0c08ba40d574023abab50cb0ab6dd18db765345 Mon Sep 17 00:00:00 2001 From: Devin Matthews Date: Fri, 25 Jul 2025 18:58:17 -0500 Subject: [PATCH 16/23] Typo --- .circleci/config.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index adf24b7843..598d7a23c1 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -217,12 +217,14 @@ jobs: echo "THR = $THR" echo "LIB_TYPE = $LIB_TYPE" - [ $CC = "clang" ] && $AR="llvm-ar" - [ $CC = "clang" ] && $AS="llvm-as" - [ $LIB_TYPE = "shared") && $CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-shared --disable-static" - [ $LIB_TYPE = "static") && $CONFIGURE_OPTS="$CONFIGURE_OPTS --disable-shared --enable-static" - [ $CBLAS = "no" ] || $CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-cblas" - [ $SANDBOX = "yes" ] && $CONFIGURE_OPTS="$CONFIGURE_OPTS -s gemmlike" + [ $CC = "clang" ] && $AR="llvm-ar" + [ $CC = "clang" ] && $AS="llvm-as" + [ $LIB_TYPE = "shared" ] && $CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-shared --disable-static" + [ $LIB_TYPE = "static" ] && $CONFIGURE_OPTS="$CONFIGURE_OPTS --disable-shared --enable-static" + [ $CBLAS = "no" ] || $CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-cblas" + [ $SANDBOX = "yes" ] && $CONFIGURE_OPTS="$CONFIGURE_OPTS -s gemmlike" + [ $LIB_TYPE = "shared" ] && $TEST_TARGET="checkblis-fast" + [ $LIB_TYPE = "static" ] && $TEST_TARGET="check" $RANLIB="echo" $LIBPTHREAD="" @@ -234,8 +236,6 @@ jobs: tar zcvf blis-x86_64-win-$LIB_TYPE.tar.gz blis - [ $LIB_TYPE = "shared" ] && $TEST_TARGET="checkblis-fast" - [ $LIB_TYPE = "static" ] && $TEST_TARGET="check" echo "Test target: $TEST_TARGET" [ $TEST = "FAST" ] && mingw32-make $TEST_TARGET -j4 V=1 From ca320767a4cacad504a0c59fa2b3f3464ee7c50c Mon Sep 17 00:00:00 2001 From: Devin Matthews Date: Fri, 25 Jul 2025 19:02:21 -0500 Subject: [PATCH 17/23] Wow that was dumb. --- .circleci/config.yml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 598d7a23c1..13077b25db 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -217,18 +217,18 @@ jobs: echo "THR = $THR" echo "LIB_TYPE = $LIB_TYPE" - [ $CC = "clang" ] && $AR="llvm-ar" - [ $CC = "clang" ] && $AS="llvm-as" - [ $LIB_TYPE = "shared" ] && $CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-shared --disable-static" - [ $LIB_TYPE = "static" ] && $CONFIGURE_OPTS="$CONFIGURE_OPTS --disable-shared --enable-static" - [ $CBLAS = "no" ] || $CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-cblas" - [ $SANDBOX = "yes" ] && $CONFIGURE_OPTS="$CONFIGURE_OPTS -s gemmlike" - [ $LIB_TYPE = "shared" ] && $TEST_TARGET="checkblis-fast" - [ $LIB_TYPE = "static" ] && $TEST_TARGET="check" - $RANLIB="echo" - $LIBPTHREAD="" - - $CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-threading=$THR --enable-arg-max-hack --prefix=/c/Users/circleci/project/blis $CONF" + [ $CC = "clang" ] && AR="llvm-ar" + [ $CC = "clang" ] && AS="llvm-as" + [ $LIB_TYPE = "shared" ] && CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-shared --disable-static" + [ $LIB_TYPE = "static" ] && CONFIGURE_OPTS="$CONFIGURE_OPTS --disable-shared --enable-static" + [ $CBLAS = "yes" ] && CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-cblas" + [ $SANDBOX = "yes" ] && CONFIGURE_OPTS="$CONFIGURE_OPTS -s gemmlike" + [ $LIB_TYPE = "shared" ] && TEST_TARGET="checkblis-fast" + [ $LIB_TYPE = "static" ] && TEST_TARGET="check" + RANLIB="echo" + LIBPTHREAD="" + + CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-threading=$THR --enable-arg-max-hack --prefix=/c/Users/circleci/project/blis $CONF" echo "Configuring with: $CONFIGURE_OPTS" ./configure $CONFIGURE_OPTS mingw32-make -j4 V=1 From de07660612d9f647fbd5c73e4522d46be0d3dd81 Mon Sep 17 00:00:00 2001 From: Devin Matthews Date: Fri, 25 Jul 2025 19:06:49 -0500 Subject: [PATCH 18/23] Why path not set? --- .circleci/config.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 13077b25db..a7ed8da460 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -195,10 +195,17 @@ jobs: command: | choco install mingw llvm + - run: + name: '???' + command: | + bash -lc "echo $PATH" + - run: shell: bash.exe name: Configuring, Building, Testing command: | + echo $PATH + DIST_PATH="." CC="<< parameters.CC >>" CXX="<< parameters.CXX >>" From 03cda57d01a119402ce2243646bf1ed9352a49ba Mon Sep 17 00:00:00 2001 From: Devin Matthews Date: Fri, 25 Jul 2025 19:14:29 -0500 Subject: [PATCH 19/23] Why?? --- .circleci/config.yml | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index a7ed8da460..749654536e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -36,13 +36,13 @@ workflows: # LIB_TYPE: shared - win-build: - CC: gcc + CC: gcc.exe THR: openmp,pthreads LIB_TYPE: static CONF: x86_64 - win-build: - CC: clang + CC: clang.exe THR: openmp,pthreads LIB_TYPE: shared CONF: x86_64 @@ -167,10 +167,10 @@ jobs: parameters: CC: type: string - default: gcc + default: gcc.exe CXX: type: string - default: g++ + default: g++.exe TEST: type: string default: FAST @@ -199,6 +199,7 @@ jobs: name: '???' command: | bash -lc "echo $PATH" + echo $env:Path - run: shell: bash.exe @@ -216,9 +217,9 @@ jobs: CBLAS="no" SANDBOX="no" - echo "DIST_PATH = $env:DIST_PATH" - echo "CC = $env:CC" - echo "CXX = $env:CXX" + echo "DIST_PATH = $DIST_PATH" + echo "CC = $CC" + echo "CXX = $CXX" echo "CONF = $CONF" echo "TEST = $TEST" echo "THR = $THR" @@ -238,13 +239,13 @@ jobs: CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-threading=$THR --enable-arg-max-hack --prefix=/c/Users/circleci/project/blis $CONF" echo "Configuring with: $CONFIGURE_OPTS" ./configure $CONFIGURE_OPTS - mingw32-make -j4 V=1 - mingw32-make install + mingw32-make.exe -j4 V=1 + mingw32-make.exe install tar zcvf blis-x86_64-win-$LIB_TYPE.tar.gz blis echo "Test target: $TEST_TARGET" - [ $TEST = "FAST" ] && mingw32-make $TEST_TARGET -j4 V=1 + [ $TEST = "FAST" ] && mingw32-make.exe $TEST_TARGET -j4 V=1 - store_artifacts: path: blis-x86_64-win-<< parameters.LIB_TYPE >>.tar.gz From 27cdbc2e22f8f4eba5ee873af46a43c4615f6b11 Mon Sep 17 00:00:00 2001 From: Devin Matthews Date: Fri, 25 Jul 2025 19:20:30 -0500 Subject: [PATCH 20/23] Try fixing PATH. --- .circleci/config.yml | 39 +++++++++++++++++---------------------- 1 file changed, 17 insertions(+), 22 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 749654536e..d98c9d3730 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -36,13 +36,13 @@ workflows: # LIB_TYPE: shared - win-build: - CC: gcc.exe + CC: gcc THR: openmp,pthreads LIB_TYPE: static CONF: x86_64 - win-build: - CC: clang.exe + CC: clang THR: openmp,pthreads LIB_TYPE: shared CONF: x86_64 @@ -167,10 +167,10 @@ jobs: parameters: CC: type: string - default: gcc.exe + default: gcc CXX: type: string - default: g++.exe + default: g++ TEST: type: string default: FAST @@ -195,27 +195,22 @@ jobs: command: | choco install mingw llvm - - run: - name: '???' - command: | - bash -lc "echo $PATH" - echo $env:Path - - run: shell: bash.exe name: Configuring, Building, Testing command: | + PATH="$PATH:/c/ProgramData/mingw64/mingw64/bin:/c/Program Files/LLVM/bin:/c/Program Files (x86)/LLVM/bin" echo $PATH - DIST_PATH="." - CC="<< parameters.CC >>" - CXX="<< parameters.CXX >>" - CONF="<< parameters.CONF >>" - TEST="<< parameters.TEST >>" - THR="<< parameters.THR >>" - LIB_TYPE="<< parameters.LIB_TYPE >>" - CBLAS="no" - SANDBOX="no" + export DIST_PATH="." + export CC="<< parameters.CC >>" + export CXX="<< parameters.CXX >>" + export CONF="<< parameters.CONF >>" + export TEST="<< parameters.TEST >>" + export THR="<< parameters.THR >>" + export LIB_TYPE="<< parameters.LIB_TYPE >>" + export CBLAS="no" + export SANDBOX="no" echo "DIST_PATH = $DIST_PATH" echo "CC = $CC" @@ -239,13 +234,13 @@ jobs: CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-threading=$THR --enable-arg-max-hack --prefix=/c/Users/circleci/project/blis $CONF" echo "Configuring with: $CONFIGURE_OPTS" ./configure $CONFIGURE_OPTS - mingw32-make.exe -j4 V=1 - mingw32-make.exe install + mingw32-make -j4 V=1 + mingw32-make install tar zcvf blis-x86_64-win-$LIB_TYPE.tar.gz blis echo "Test target: $TEST_TARGET" - [ $TEST = "FAST" ] && mingw32-make.exe $TEST_TARGET -j4 V=1 + [ $TEST = "FAST" ] && mingw32-make $TEST_TARGET -j4 V=1 - store_artifacts: path: blis-x86_64-win-<< parameters.LIB_TYPE >>.tar.gz From c106dadeefde47d452b3f44a44e28c88887d9715 Mon Sep 17 00:00:00 2001 From: Devin Matthews Date: Fri, 25 Jul 2025 19:29:53 -0500 Subject: [PATCH 21/23] Still path problems. --- .circleci/config.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index d98c9d3730..aa19ddc0f3 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -199,8 +199,9 @@ jobs: shell: bash.exe name: Configuring, Building, Testing command: | - PATH="$PATH:/c/ProgramData/mingw64/mingw64/bin:/c/Program Files/LLVM/bin:/c/Program Files (x86)/LLVM/bin" + PATH="/c/ProgramData/mingw64/mingw64/bin:/c/Program Files/LLVM/bin:/c/Program Files (x86)/LLVM/bin:$PATH" echo $PATH + which find export DIST_PATH="." export CC="<< parameters.CC >>" From da04a6b97214fde02db97e8a518d2c4a4425acdb Mon Sep 17 00:00:00 2001 From: Devin Matthews Date: Fri, 25 Jul 2025 19:54:55 -0500 Subject: [PATCH 22/23] Try again. --- .circleci/config.yml | 75 +++++++++++++++++++++++--------------------- 1 file changed, 39 insertions(+), 36 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index aa19ddc0f3..5de160278b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -194,54 +194,57 @@ jobs: name: Installing Dependencies command: | choco install mingw llvm - - run: - shell: bash.exe name: Configuring, Building, Testing command: | - PATH="/c/ProgramData/mingw64/mingw64/bin:/c/Program Files/LLVM/bin:/c/Program Files (x86)/LLVM/bin:$PATH" - echo $PATH - which find - - export DIST_PATH="." - export CC="<< parameters.CC >>" - export CXX="<< parameters.CXX >>" - export CONF="<< parameters.CONF >>" - export TEST="<< parameters.TEST >>" - export THR="<< parameters.THR >>" - export LIB_TYPE="<< parameters.LIB_TYPE >>" - export CBLAS="no" - export SANDBOX="no" - - echo "DIST_PATH = $DIST_PATH" - echo "CC = $CC" - echo "CXX = $CXX" + $env:DIST_PATH = "." + $env:CC = "<< parameters.CC >>" + $env:CXX = "<< parameters.CXX >>" + $CONF = "<< parameters.CONF >>" + $TEST = "<< parameters.TEST >>" + $THR = "<< parameters.THR >>" + $LIB_TYPE = "<< parameters.LIB_TYPE >>" + $CBLAS = "no" + $SANDBOX = "no" + + echo "DIST_PATH = $env:DIST_PATH" + echo "CC = $env:CC" + echo "CXX = $env:CXX" echo "CONF = $CONF" echo "TEST = $TEST" echo "THR = $THR" echo "LIB_TYPE = $LIB_TYPE" - [ $CC = "clang" ] && AR="llvm-ar" - [ $CC = "clang" ] && AS="llvm-as" - [ $LIB_TYPE = "shared" ] && CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-shared --disable-static" - [ $LIB_TYPE = "static" ] && CONFIGURE_OPTS="$CONFIGURE_OPTS --disable-shared --enable-static" - [ $CBLAS = "yes" ] && CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-cblas" - [ $SANDBOX = "yes" ] && CONFIGURE_OPTS="$CONFIGURE_OPTS -s gemmlike" - [ $LIB_TYPE = "shared" ] && TEST_TARGET="checkblis-fast" - [ $LIB_TYPE = "static" ] && TEST_TARGET="check" - RANLIB="echo" - LIBPTHREAD="" - - CONFIGURE_OPTS="$CONFIGURE_OPTS --enable-threading=$THR --enable-arg-max-hack --prefix=/c/Users/circleci/project/blis $CONF" + if ($CC -eq "clang") { $AR = "llvm-ar" } + if ($CC -eq "clang") { $AS = "llvm-as" } + if ($LIB_TYPE -eq "shared") { $CONFIGURE_OPTS = "$CONFIGURE_OPTS --enable-shared --disable-static" } + if ($LIB_TYPE -eq "static") { $CONFIGURE_OPTS = "$CONFIGURE_OPTS --disable-shared --enable-static" } + if ($CBLAS -ne "no") { $CONFIGURE_OPTS = "$CONFIGURE_OPTS --enable-cblas" } + if ($SANDBOX -eq "yes") { $CONFIGURE_OPTS = "$CONFIGURE_OPTS -s gemmlike" } + $env:RANLIB = "echo" + $env:LIBPTHREAD = "" + + $CONFIGURE_OPTS = "$CONFIGURE_OPTS --enable-threading=$THR --enable-arg-max-hack --prefix=/c/Users/circleci/project/blis $CONF" echo "Configuring with: $CONFIGURE_OPTS" - ./configure $CONFIGURE_OPTS - mingw32-make -j4 V=1 - mingw32-make install + bash -lc "./configure $CONFIGURE_OPTS" + bash -lc "mingw32-make -j4 V=1" + bash -lc "mingw32-make install" + + if ($LIB_TYPE -eq "shared") { $TEST_TARGET = "checkblis-fast" } + if ($LIB_TYPE -eq "static") { $TEST_TARGET = "check" } + echo "Test target: $TEST_TARGET" + if ($TEST -eq "FAST") { bash -lc "mingw32-make $TEST_TARGET -j4 V=1" } tar zcvf blis-x86_64-win-$LIB_TYPE.tar.gz blis - echo "Test target: $TEST_TARGET" - [ $TEST = "FAST" ] && mingw32-make $TEST_TARGET -j4 V=1 + Select-String -Path output.testsuite -Pattern "Exiting normally" -SimpleMatch + Select-String -Path output.testsuite -Pattern "FAILURE" -SimpleMatch + + if ((-not (Select-String -Path output.testsuite -Pattern "Exiting normally" -SimpleMatch -Quiet)) -or + (Select-String -Path output.testsuite -Pattern "FAILURE" -SimpleMatch -Quiet)) + { + throw "Build and/or tests failed." + } - store_artifacts: path: blis-x86_64-win-<< parameters.LIB_TYPE >>.tar.gz From 2fb2e3dca2db5d56517e2883e3280d801ce40604 Mon Sep 17 00:00:00 2001 From: Devin Matthews Date: Fri, 25 Jul 2025 21:56:38 -0500 Subject: [PATCH 23/23] Why is case-sensitive not the default??? --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 5de160278b..5fd5407236 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -238,10 +238,10 @@ jobs: tar zcvf blis-x86_64-win-$LIB_TYPE.tar.gz blis Select-String -Path output.testsuite -Pattern "Exiting normally" -SimpleMatch - Select-String -Path output.testsuite -Pattern "FAILURE" -SimpleMatch + Select-String -Path output.testsuite -Pattern "FAILURE" -CaseSensitive -SimpleMatch if ((-not (Select-String -Path output.testsuite -Pattern "Exiting normally" -SimpleMatch -Quiet)) -or - (Select-String -Path output.testsuite -Pattern "FAILURE" -SimpleMatch -Quiet)) + (Select-String -Path output.testsuite -Pattern "FAILURE" -SimpleMatch -CaseSensitive -Quiet)) { throw "Build and/or tests failed." }