From 58c6ce5d33073bd3ac6a80fd17bcb1c1267cd481 Mon Sep 17 00:00:00 2001 From: Ilya Leoshkevich Date: Fri, 14 Aug 2020 13:50:39 +0200 Subject: [PATCH] Fix DFLTCC detection On some Z machines ARCH is determined to be s390, not s390x, which prevents DFLTCC support from being built. In general, it is safe to build zlib-ng with DFLTCC support on any SystemZ machine, because its usage is guarded by STFLE. --- CMakeLists.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index fa8f78ab..95edfb17 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -93,7 +93,7 @@ if(BASEARCH_ARM_FOUND) option(WITH_NEON "Build with NEON intrinsics" ON) elseif(BASEARCH_PPC_FOUND) option(WITH_POWER8 "Build with optimisations for POWER8" ON) -elseif(BASEARCH_S360_FOUND AND "${ARCH}" MATCHES "s390x") +elseif(BASEARCH_S360_FOUND) option(WITH_DFLTCC_DEFLATE "Use DEFLATE CONVERSION CALL instruction for compression on IBM Z" OFF) option(WITH_DFLTCC_INFLATE "Use DEFLATE CONVERSION CALL instruction for decompression on IBM Z" OFF) elseif(BASEARCH_X86_FOUND) @@ -632,7 +632,7 @@ if(BASEARCH_ARM_FOUND) set(ARCHDIR "arch/arm") elseif(BASEARCH_PPC_FOUND) set(ARCHDIR "arch/power") -elseif(BASEARCH_S360_FOUND AND "${ARCH}" MATCHES "s390x") +elseif(BASEARCH_S360_FOUND) set(ARCHDIR "arch/s390") elseif(BASEARCH_X86_FOUND) set(ARCHDIR "arch/x86") @@ -678,7 +678,7 @@ if(WITH_OPTIM) list(APPEND ZLIB_ARCH_SRCS ${POWER8_SRCS}) set_property(SOURCE ${POWER8_SRCS} PROPERTY COMPILE_FLAGS "${POWER8FLAG}") endif() - elseif(BASEARCH_S360_FOUND AND "${ARCH}" MATCHES "s390x") + elseif(BASEARCH_S360_FOUND) if(WITH_DFLTCC_DEFLATE OR WITH_DFLTCC_INFLATE) list(APPEND ZLIB_ARCH_SRCS ${ARCHDIR}/dfltcc_common.c) add_definitions(-DGZBUFSIZE=262144) @@ -1044,7 +1044,7 @@ if(ZLIB_ENABLE_TESTS) else() target_link_libraries(minigzip zlib) endif() - if(BASEARCH_S360_FOUND AND "${ARCH}" MATCHES "s390x") + if(BASEARCH_S360_FOUND) if(WITH_DFLTCC_DEFLATE OR WITH_DFLTCC_INFLATE) set_source_files_properties(test/minigzip.c PROPERTIES COMPILE_DEFINITIONS BUFLEN=262144) endif() -- 2.47.2