Skip to content
5 changes: 2 additions & 3 deletions ports/openblas/CONTROL
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
Source: openblas
Version: 0.3.9
Port-Version: 3
Version: 0.3.10
Homepage: https://github.com/xianyi/OpenBLAS
Build-Depends: pthread (linux&osx)
Build-Depends: pthread (!windows&!uwp)
Description: OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.
88 changes: 43 additions & 45 deletions ports/openblas/fix-space-path.patch
Original file line number Diff line number Diff line change
@@ -1,45 +1,43 @@
diff --git a/cmake/prebuild.cmake b/cmake/prebuild.cmake
index fc66eb0..ffaffcf 100644
--- a/cmake/prebuild.cmake
+++ b/cmake/prebuild.cmake
@@ -296,14 +296,14 @@ else(NOT CMAKE_CROSSCOMPILING)

set(GETARCH_DIR "${PROJECT_BINARY_DIR}/getarch_build")
set(GETARCH_BIN "getarch${CMAKE_EXECUTABLE_SUFFIX}")
- file(MAKE_DIRECTORY ${GETARCH_DIR})
- configure_file(${TARGET_CONF_TEMP} ${GETARCH_DIR}/${TARGET_CONF} COPYONLY)
+ file(MAKE_DIRECTORY "${GETARCH_DIR}")
+ configure_file(${TARGET_CONF_TEMP} "${GETARCH_DIR}/${TARGET_CONF}" COPYONLY)
if (NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "WindowsStore")
- try_compile(GETARCH_RESULT ${GETARCH_DIR}
+ try_compile(GETARCH_RESULT "${GETARCH_DIR}"
SOURCES ${GETARCH_SRC}
- COMPILE_DEFINITIONS ${EXFLAGS} ${GETARCH_FLAGS} -I${GETARCH_DIR} -I"${PROJECT_SOURCE_DIR}" -I"${PROJECT_BINARY_DIR}"
+ COMPILE_DEFINITIONS ${EXFLAGS} ${GETARCH_FLAGS} -I"${GETARCH_DIR}" -I"${PROJECT_SOURCE_DIR}" -I"${PROJECT_BINARY_DIR}"
OUTPUT_VARIABLE GETARCH_LOG
- COPY_FILE ${PROJECT_BINARY_DIR}/${GETARCH_BIN}
+ COPY_FILE "${PROJECT_BINARY_DIR}/${GETARCH_BIN}"
)

if (NOT ${GETARCH_RESULT})
@@ -324,14 +324,14 @@ execute_process(COMMAND "${BLASHELPER_BINARY_DIR}/${GETARCH_BIN}" 1 OUTPUT_VARIA

set(GETARCH2_DIR "${PROJECT_BINARY_DIR}/getarch2_build")
set(GETARCH2_BIN "getarch_2nd${CMAKE_EXECUTABLE_SUFFIX}")
- file(MAKE_DIRECTORY ${GETARCH2_DIR})
- configure_file(${TARGET_CONF_TEMP} ${GETARCH2_DIR}/${TARGET_CONF} COPYONLY)
+ file(MAKE_DIRECTORY "${GETARCH2_DIR}")
+ configure_file(${TARGET_CONF_TEMP} "${GETARCH2_DIR}/${TARGET_CONF}" COPYONLY)
if (NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "WindowsStore")
- try_compile(GETARCH2_RESULT ${GETARCH2_DIR}
- SOURCES ${PROJECT_SOURCE_DIR}/getarch_2nd.c
- COMPILE_DEFINITIONS ${EXFLAGS} ${GETARCH_FLAGS} ${GETARCH2_FLAGS} -I${GETARCH2_DIR} -I"${PROJECT_SOURCE_DIR}" -I"${PROJECT_BINARY_DIR}"
+ try_compile(GETARCH2_RESULT "${GETARCH2_DIR}"
+ SOURCES "${PROJECT_SOURCE_DIR}/getarch_2nd.c"
+ COMPILE_DEFINITIONS ${EXFLAGS} ${GETARCH_FLAGS} ${GETARCH2_FLAGS} -I"${GETARCH2_DIR}" -I"${PROJECT_SOURCE_DIR}" -I"${PROJECT_BINARY_DIR}"
OUTPUT_VARIABLE GETARCH2_LOG
- COPY_FILE ${PROJECT_BINARY_DIR}/${GETARCH2_BIN}
+ COPY_FILE "${PROJECT_BINARY_DIR}/${GETARCH2_BIN}"
)

if (NOT ${GETARCH2_RESULT})
diff --git a/cmake/prebuild.cmake b/cmake/prebuild.cmake
index 58ca1eb..e2f2134 100644
--- a/cmake/prebuild.cmake
+++ b/cmake/prebuild.cmake
@@ -490,14 +490,14 @@ else(NOT CMAKE_CROSSCOMPILING)

set(GETARCH_DIR "${PROJECT_BINARY_DIR}/getarch_build")
set(GETARCH_BIN "getarch${CMAKE_EXECUTABLE_SUFFIX}")
- file(MAKE_DIRECTORY ${GETARCH_DIR})
- configure_file(${TARGET_CONF_TEMP} ${GETARCH_DIR}/${TARGET_CONF} COPYONLY)
+ file(MAKE_DIRECTORY "${GETARCH_DIR}")
+ configure_file(${TARGET_CONF_TEMP} "${GETARCH_DIR}/${TARGET_CONF}" COPYONLY)
if (NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "WindowsStore")
- try_compile(GETARCH_RESULT ${GETARCH_DIR}
+ try_compile(GETARCH_RESULT "${GETARCH_DIR}"
SOURCES ${GETARCH_SRC}
COMPILE_DEFINITIONS ${EXFLAGS} ${GETARCH_FLAGS} -I"${GETARCH_DIR}" -I"${PROJECT_SOURCE_DIR}" -I"${PROJECT_BINARY_DIR}"
OUTPUT_VARIABLE GETARCH_LOG
- COPY_FILE ${PROJECT_BINARY_DIR}/${GETARCH_BIN}
+ COPY_FILE "${PROJECT_BINARY_DIR}/${GETARCH_BIN}"
)

if (NOT ${GETARCH_RESULT})
@@ -518,14 +518,14 @@ execute_process(COMMAND "${BLASHELPER_BINARY_DIR}/${GETARCH_BIN}" 1 OUTPUT_VARIA

set(GETARCH2_DIR "${PROJECT_BINARY_DIR}/getarch2_build")
set(GETARCH2_BIN "getarch_2nd${CMAKE_EXECUTABLE_SUFFIX}")
- file(MAKE_DIRECTORY ${GETARCH2_DIR})
- configure_file(${TARGET_CONF_TEMP} ${GETARCH2_DIR}/${TARGET_CONF} COPYONLY)
+ file(MAKE_DIRECTORY "${GETARCH2_DIR}")
+ configure_file(${TARGET_CONF_TEMP} "${GETARCH2_DIR}/${TARGET_CONF}" COPYONLY)
if (NOT "${CMAKE_SYSTEM_NAME}" STREQUAL "WindowsStore")
- try_compile(GETARCH2_RESULT ${GETARCH2_DIR}
- SOURCES ${PROJECT_SOURCE_DIR}/getarch_2nd.c
+ try_compile(GETARCH2_RESULT "${GETARCH2_DIR}"
+ SOURCES "${PROJECT_SOURCE_DIR}/getarch_2nd.c"
COMPILE_DEFINITIONS ${EXFLAGS} ${GETARCH_FLAGS} ${GETARCH2_FLAGS} -I"${GETARCH2_DIR}" -I"${PROJECT_SOURCE_DIR}" -I"${PROJECT_BINARY_DIR}"
OUTPUT_VARIABLE GETARCH2_LOG
- COPY_FILE ${PROJECT_BINARY_DIR}/${GETARCH2_BIN}
+ COPY_FILE "${PROJECT_BINARY_DIR}/${GETARCH2_BIN}"
)

if (NOT ${GETARCH2_RESULT})
35 changes: 35 additions & 0 deletions ports/openblas/fix-uwp-build.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
diff --git a/common_stackalloc.h b/common_stackalloc.h
index d3d5466..cd157fc 100644
--- a/common_stackalloc.h
+++ b/common_stackalloc.h
@@ -36,7 +36,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#define STACK_ALLOC_PROTECT_CHECK
#endif

-#if defined(MAX_STACK_ALLOC) && MAX_STACK_ALLOC > 0
+#if defined(MAX_STACK_ALLOC) && MAX_STACK_ALLOC > 0 && !(defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_APP))

/*
* Allocate a buffer on the stack if the size is smaller than MAX_STACK_ALLOC.
@@ -63,7 +63,7 @@ USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#endif


-#if defined(MAX_STACK_ALLOC) && MAX_STACK_ALLOC > 0
+#if defined(MAX_STACK_ALLOC) && MAX_STACK_ALLOC > 0 && !(defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_APP))
#define STACK_FREE(BUFFER) \
STACK_ALLOC_PROTECT_CHECK \
if(!stack_alloc_size) \
diff --git a/interface/zgemv.c b/interface/zgemv.c
index 3e98dba..ee597f7 100644
--- a/interface/zgemv.c
+++ b/interface/zgemv.c
@@ -244,7 +244,7 @@ void CNAME(enum CBLAS_ORDER order,
buffer_size = (buffer_size + 3) & ~3;
STACK_ALLOC(buffer_size, FLOAT, buffer);

-#if defined(ARCH_X86_64) && defined(MAX_STACK_ALLOC) && MAX_STACK_ALLOC > 0
+#if defined(ARCH_X86_64) && defined(MAX_STACK_ALLOC) && MAX_STACK_ALLOC > 0 && !(defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_APP))
// cgemv_t.S return NaN if there are NaN or Inf in the buffer (see bug #746)
if(trans && stack_alloc_size)
memset(buffer, 0, MIN(BUFFER_SIZE, sizeof(FLOAT) * buffer_size));
23 changes: 0 additions & 23 deletions ports/openblas/github_2481.patch

This file was deleted.

6 changes: 3 additions & 3 deletions ports/openblas/portfile.cmake
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO xianyi/OpenBLAS
REF v0.3.9
SHA512 e34da25b3aaf959ec12826ac68c81e739e453d44f2dba28b15e57d7a827edc4d5f42988e9b6d98ac07999940be7b5876246cb3a980e590ae87f77f4c2f12f40a
REF 63b03efc2af332c88b86d4fd8079d00f4b439adf # v0.3.10
SHA512 269852348e042fe32d0d400d5e6f4cf758024389d3966a9b1bc217061d4a03b3a7003a399212130ec4e783f1e1e5b423eb531e6e0948485b5d5ac9fdc58982cb
HEAD_REF develop
PATCHES
uwp.patch
fix-space-path.patch
fix-redefinition-function.patch
github_2481.patch
fix-pkg-config.patch
fix-uwp-build.patch
)

find_program(GIT NAMES git git.cmd)
Expand Down