diff -Naur src/blosc/CMakeLists.txt external_blosc/blosc/CMakeLists.txt --- src/blosc/CMakeLists.txt 2016-02-03 10:26:28 -0700 +++ external_blosc/blosc/CMakeLists.txt 2017-03-03 09:03:31 -0700 @@ -61,6 +61,8 @@ set(SOURCES ${SOURCES} win32/pthread.c) else(NOT Threads_FOUND) set(LIBS ${LIBS} ${CMAKE_THREAD_LIBS_INIT}) + set(LIBS ${LIBS} ${PTHREAD_LIBS}) + include_directories( ${PTHREAD_INCLUDE_DIR} ) endif(NOT Threads_FOUND) else(WIN32) find_package(Threads REQUIRED) diff -Naur src/CMakeLists.txt external_blosc/CMakeLists.txt --- src/CMakeLists.txt 2016-02-03 10:26:28 -0700 +++ external_blosc/CMakeLists.txt 2017-03-03 09:03:31 -0700 @@ -17,8 +17,8 @@ # do not include support for the Snappy library # DEACTIVATE_ZLIB: default OFF # do not include support for the Zlib library -# PREFER_EXTERNAL_COMPLIBS: default ON -# when found, use the installed compression libs instead of included sources +# PREFER_EXTERNAL_ZLIB: default ON +# when found, use the installed zlib instead of included sources # TEST_INCLUDE_BENCH_SINGLE_1: default ON # add a test that runs the benchmark program passing "single" with 1 thread # as first parameter @@ -80,29 +80,23 @@ "Do not include support for the SNAPPY library." OFF) option(DEACTIVATE_ZLIB "Do not include support for the ZLIB library." OFF) -option(PREFER_EXTERNAL_COMPLIBS - "When found, use the installed compression libs instead of included sources." ON) +option(PREFER_EXTERNAL_ZLIB + "When found, use the installed zlib instead of included sources." ON) set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") -if(NOT PREFER_EXTERNAL_COMPLIBS) +if(NOT PREFER_EXTERNAL_ZLIB) message(STATUS "Finding external libraries disabled. Using internal sources.") -endif(NOT PREFER_EXTERNAL_COMPLIBS) +endif(NOT PREFER_EXTERNAL_ZLIB) if(NOT DEACTIVATE_LZ4) - if(PREFER_EXTERNAL_COMPLIBS) - find_package(LZ4) - endif(PREFER_EXTERNAL_COMPLIBS) # HAVE_LZ4 will be set to true because even if the library is # not found, we will use the included sources for it set(HAVE_LZ4 TRUE) endif(NOT DEACTIVATE_LZ4) if(NOT DEACTIVATE_SNAPPY) - if(PREFER_EXTERNAL_COMPLIBS) - find_package(Snappy) - endif(PREFER_EXTERNAL_COMPLIBS) # HAVE_SNAPPY will be set to true because even if the library is not found, # we will use the included sources for it set(HAVE_SNAPPY TRUE) @@ -110,13 +104,13 @@ if(NOT DEACTIVATE_ZLIB) # import the ZLIB_ROOT environment variable to help finding the zlib library - if(PREFER_EXTERNAL_COMPLIBS) + if(PREFER_EXTERNAL_ZLIB) set(ZLIB_ROOT $ENV{ZLIB_ROOT}) find_package( ZLIB ) if (NOT ZLIB_FOUND ) message(STATUS "No zlib found. Using internal sources.") endif (NOT ZLIB_FOUND ) - endif(PREFER_EXTERNAL_COMPLIBS) + endif(PREFER_EXTERNAL_ZLIB) # HAVE_ZLIB will be set to true because even if the library is not found, # we will use the included sources for it set(HAVE_ZLIB TRUE) diff -Naur external_blosc.orig/blosc/blosc.c external_blosc/blosc/blosc.c --- external_blosc.orig/blosc/blosc.c 2018-07-30 04:56:38 -0600 +++ external_blosc/blosc/blosc.c 2018-08-11 15:27:26 -0600 @@ -41,12 +41,7 @@ #include #endif /* _WIN32 */ -#if defined(_WIN32) - #include "win32/pthread.h" - #include "win32/pthread.c" -#else - #include -#endif +#include /* Some useful units */ diff --git a/blosc/shuffle.c b/blosc/shuffle.c index 84b5095..23053b4 100644 --- a/blosc/shuffle.c +++ b/blosc/shuffle.c @@ -490,12 +490,12 @@ void unshuffle(size_t bytesoftype, size_t blocksize, #else /* no __SSE2__ available */ void shuffle(size_t bytesoftype, size_t blocksize, - uint8_t* _src, uint8_t* _dest) { + const uint8_t* _src, uint8_t* _dest) { _shuffle(bytesoftype, blocksize, _src, _dest); } void unshuffle(size_t bytesoftype, size_t blocksize, - uint8_t* _src, uint8_t* _dest) { + const uint8_t* _src, uint8_t* _dest) { _unshuffle(bytesoftype, blocksize, _src, _dest); } --- a/cmake/FindSSE.cmake +++ b/cmake/FindSSE.cmake @@ -49,6 +49,17 @@ set(AVX_FOUND false CACHE BOOL "AVX available on host") ENDIF (AVX_TRUE) ELSEIF(CMAKE_SYSTEM_NAME MATCHES "Darwin") + execute_process(COMMAND uname -m OUTPUT_VARIABLE ARCHITECTURE OUTPUT_STRIP_TRAILING_WHITESPACE) + message(STATUS "Detected architecture ${ARCHITECTURE}") + IF("${ARCHITECTURE}" STREQUAL "arm64") + set(SSE2_FOUND false CACHE BOOL "SSE2 available on host") + set(SSE3_FOUND false CACHE BOOL "SSE3 available on host") + set(SSSE3_FOUND false CACHE BOOL "SSSE3 available on host") + set(SSE4_1_FOUND false CACHE BOOL "SSE4.1 available on host") + set(AVX_FOUND false CACHE BOOL "AVX available on host") + return() + ENDIF() + EXEC_PROGRAM("/usr/sbin/sysctl -n machdep.cpu.features" OUTPUT_VARIABLE CPUINFO)