diff --git a/.travis.yml b/.travis.yml index 7891958d..e15e795e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -52,26 +52,21 @@ matrix: - clang-8 env: - LABEL="arm64-clang" - - os: linux - services: docker - env: - - LABEL="armhf-gcc" - - ENABLE_DOCKER="true" - arch: ppc64le dist: bionic env: - - LABEL=common + - LABEL="ppc64le-gcc" - OMP_WAIT_POLICY=passive CTEST_OUTPUT_ON_FAILURE=TRUE - arch: ppc64le compiler: clang dist: bionic env: - - LABEL=common + - LABEL="ppc64le-clang" - OMP_WAIT_POLICY=passive CTEST_OUTPUT_ON_FAILURE=TRUE - arch: s390x dist: bionic env: - - LABEL=common + - LABEL="s390x-gcc" - OMP_WAIT_POLICY=passive CTEST_OUTPUT_ON_FAILURE=TRUE - os: linux arch: s390x @@ -81,7 +76,7 @@ matrix: packages: - clang-8 env: - - LABEL="common" + - LABEL="s390x-clang" - OMP_WAIT_POLICY=passive CTEST_OUTPUT_ON_FAILURE=TRUE before_install: diff --git a/Configure.cmake b/Configure.cmake index 6b8a2ea8..facd1f8b 100644 --- a/Configure.cmake +++ b/Configure.cmake @@ -497,7 +497,7 @@ option(DISABLE_SSE2 "Disable SSE2" OFF) option(ENFORCE_SSE2 "Build fails if SSE2 is not supported by the compiler" OFF) if(SLEEF_ARCH_X86 AND NOT DISABLE_SSE2) - set(CMAKE_REQUIRED_FLAGS ${FLAGS_ENABLE_SSE2}) + string (REPLACE ";" " " CMAKE_REQUIRED_FLAGS "${FLAGS_ENABLE_SSE2}") CHECK_C_SOURCE_COMPILES(" #if defined(_MSC_VER) #include @@ -519,7 +519,7 @@ option(DISABLE_SSE4 "Disable SSE4" OFF) option(ENFORCE_SSE4 "Build fails if SSE4 is not supported by the compiler" OFF) if(SLEEF_ARCH_X86 AND NOT DISABLE_SSE4) - set(CMAKE_REQUIRED_FLAGS ${FLAGS_ENABLE_SSE4}) + string (REPLACE ";" " " CMAKE_REQUIRED_FLAGS "${FLAGS_ENABLE_SSE4}") CHECK_C_SOURCE_COMPILES(" #if defined(_MSC_VER) #include @@ -541,7 +541,7 @@ option(ENFORCE_AVX "Disable AVX" OFF) option(ENFORCE_AVX "Build fails if AVX is not supported by the compiler" OFF) if(SLEEF_ARCH_X86 AND NOT DISABLE_AVX) - set(CMAKE_REQUIRED_FLAGS ${FLAGS_ENABLE_AVX}) + string (REPLACE ";" " " CMAKE_REQUIRED_FLAGS "${FLAGS_ENABLE_AVX}") CHECK_C_SOURCE_COMPILES(" #if defined(_MSC_VER) #include @@ -563,7 +563,7 @@ option(DISABLE_FMA4 "Disable FMA4" OFF) option(ENFORCE_FMA4 "Build fails if FMA4 is not supported by the compiler" OFF) if(SLEEF_ARCH_X86 AND NOT DISABLE_FMA4) - set(CMAKE_REQUIRED_FLAGS ${FLAGS_ENABLE_FMA4}) + string (REPLACE ";" " " CMAKE_REQUIRED_FLAGS "${FLAGS_ENABLE_FMA4}") CHECK_C_SOURCE_COMPILES(" #if defined(_MSC_VER) #include @@ -585,7 +585,7 @@ option(DISABLE_AVX2 "Disable AVX2" OFF) option(ENFORCE_AVX2 "Build fails if AVX2 is not supported by the compiler" OFF) if(SLEEF_ARCH_X86 AND NOT DISABLE_AVX2) - set(CMAKE_REQUIRED_FLAGS ${FLAGS_ENABLE_AVX2}) + string (REPLACE ";" " " CMAKE_REQUIRED_FLAGS "${FLAGS_ENABLE_AVX2}") CHECK_C_SOURCE_COMPILES(" #if defined(_MSC_VER) #include @@ -612,7 +612,7 @@ option(DISABLE_AVX512F "Disable AVX512F" OFF) option(ENFORCE_AVX512F "Build fails if AVX512F is not supported by the compiler" OFF) if(SLEEF_ARCH_X86 AND NOT DISABLE_AVX512F) - set(CMAKE_REQUIRED_FLAGS ${FLAGS_ENABLE_AVX512F}) + string (REPLACE ";" " " CMAKE_REQUIRED_FLAGS "${FLAGS_ENABLE_AVX512F}") CHECK_C_SOURCE_COMPILES(" #if defined(_MSC_VER) #include @@ -644,7 +644,7 @@ option(DISABLE_SVE "Disable SVE" OFF) option(ENFORCE_SVE "Build fails if SVE is not supported by the compiler" OFF) if(SLEEF_ARCH_AARCH64 AND NOT DISABLE_SVE) - set(CMAKE_REQUIRED_FLAGS ${FLAGS_ENABLE_SVE}) + string (REPLACE ";" " " CMAKE_REQUIRED_FLAGS "${FLAGS_ENABLE_SVE}") CHECK_C_SOURCE_COMPILES(" #include int main() { @@ -666,7 +666,7 @@ option(DISABLE_VSX "Disable VSX" OFF) option(ENFORCE_VSX "Build fails if VSX is not supported by the compiler" OFF) if(SLEEF_ARCH_PPC64 AND NOT DISABLE_VSX) - set(CMAKE_REQUIRED_FLAGS ${FLAGS_ENABLE_VSX}) + string (REPLACE ";" " " CMAKE_REQUIRED_FLAGS "${FLAGS_ENABLE_VSX}") CHECK_C_SOURCE_COMPILES(" #include #ifndef __LITTLE_ENDIAN__ @@ -696,7 +696,7 @@ option(DISABLE_ZVECTOR2 "Disable ZVECTOR2" OFF) option(ENFORCE_ZVECTOR2 "Build fails if ZVECTOR2 is not supported by the compiler" OFF) if(SLEEF_ARCH_S390X AND NOT DISABLE_ZVECTOR2) - set(CMAKE_REQUIRED_FLAGS ${FLAGS_ENABLE_ZVECTOR2}) + string (REPLACE ";" " " CMAKE_REQUIRED_FLAGS "${FLAGS_ENABLE_ZVECTOR2}") CHECK_C_SOURCE_COMPILES(" #include int main() { diff --git a/src/libm/CMakeLists.txt b/src/libm/CMakeLists.txt index 91e4ece4..88726966 100644 --- a/src/libm/CMakeLists.txt +++ b/src/libm/CMakeLists.txt @@ -373,9 +373,9 @@ if(BUILD_INLINE_HEADERS) COMMAND ${SED_COMMAND} -e "s/^[[:space:]]*$//g" ${CMAKE_CURRENT_BINARY_DIR}/sleef${SIMD}.h.tmp4 # sed -e "s/^[[:space:]]*$//g" /build/src/libm/sleefSSE2.h.tmp4 > ${CMAKE_CURRENT_BINARY_DIR}/sleef${SIMD}.h.tmp5 # > /build/src/libm/sleefSSE2.h.tmp5 COMMAND ${SED_COMMAND} "/^$/N;/^\\n$/D" ${CMAKE_CURRENT_BINARY_DIR}/sleef${SIMD}.h.tmp5 # sed -e "/^$/N;/^\n$/D" /build/src/libm/sleefSSE2.h.tmp5 - > ${CMAKE_CURRENT_BINARY_DIR}/include/sleefinline_${SIMDLC}.tmp6 # > /build/src/libm/sleefSSE2.h.tmp6 + > ${CMAKE_CURRENT_BINARY_DIR}/sleef${SIMD}.h.tmp6 # > /build/src/libm/sleefSSE2.h.tmp6 - COMMAND $ ${CMAKE_CURRENT_BINARY_DIR}/include/sleefinline_${SIMDLC}.tmp6 # addSuffix /build/src/libm/sleefSSE2.h.tmp6 + COMMAND $ ${CMAKE_CURRENT_BINARY_DIR}/sleef${SIMD}.h.tmp6 # addSuffix /build/src/libm/sleefSSE2.h.tmp6 ${CMAKE_CURRENT_SOURCE_DIR}/keywords.txt "_${SIMDLC}_sleef" # keywords.txt "_sse2_sleef" > ${PROJECT_BINARY_DIR}/include/sleefinline_${SIMDLC}.h # > /build/include/sleefinline_sse2.h diff --git a/travis/before_install.common.sh b/travis/before_install.ppc64le-clang.sh similarity index 100% rename from travis/before_install.common.sh rename to travis/before_install.ppc64le-clang.sh diff --git a/travis/before_install.ppc64le-gcc.sh b/travis/before_install.ppc64le-gcc.sh new file mode 100644 index 00000000..ba826616 --- /dev/null +++ b/travis/before_install.ppc64le-gcc.sh @@ -0,0 +1,5 @@ +#!/bin/bash +set -ev +uname -a +sudo apt-get -qq update +sudo apt-get install -y libmpfr-dev libssl-dev libfftw3-dev ninja-build diff --git a/travis/before_install.s390x-clang.sh b/travis/before_install.s390x-clang.sh new file mode 100644 index 00000000..ba826616 --- /dev/null +++ b/travis/before_install.s390x-clang.sh @@ -0,0 +1,5 @@ +#!/bin/bash +set -ev +uname -a +sudo apt-get -qq update +sudo apt-get install -y libmpfr-dev libssl-dev libfftw3-dev ninja-build diff --git a/travis/before_install.s390x-gcc.sh b/travis/before_install.s390x-gcc.sh new file mode 100644 index 00000000..ba826616 --- /dev/null +++ b/travis/before_install.s390x-gcc.sh @@ -0,0 +1,5 @@ +#!/bin/bash +set -ev +uname -a +sudo apt-get -qq update +sudo apt-get install -y libmpfr-dev libssl-dev libfftw3-dev ninja-build diff --git a/travis/before_script.common.sh b/travis/before_script.ppc64le-clang.sh similarity index 79% rename from travis/before_script.common.sh rename to travis/before_script.ppc64le-clang.sh index c590ed52..34ef25c5 100644 --- a/travis/before_script.common.sh +++ b/travis/before_script.ppc64le-clang.sh @@ -3,4 +3,4 @@ set -ev mkdir build && cd build cmake -G Ninja -DRUNNING_ON_TRAVIS=TRUE -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../install \ - -DSLEEF_SHOW_CONFIG=1 -DENFORCE_TESTER3=TRUE -DBUILD_QUAD=TRUE -DBUILD_INLINE_HEADERS=TRUE .. + -DSLEEF_SHOW_CONFIG=1 -DENFORCE_TESTER3=TRUE -DBUILD_QUAD=TRUE -DBUILD_INLINE_HEADERS=TRUE -DENFORCE_VSX=TRUE .. diff --git a/travis/before_script.ppc64le-gcc.sh b/travis/before_script.ppc64le-gcc.sh new file mode 100644 index 00000000..34ef25c5 --- /dev/null +++ b/travis/before_script.ppc64le-gcc.sh @@ -0,0 +1,6 @@ +#!/bin/bash +set -ev +mkdir build && cd build + +cmake -G Ninja -DRUNNING_ON_TRAVIS=TRUE -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../install \ + -DSLEEF_SHOW_CONFIG=1 -DENFORCE_TESTER3=TRUE -DBUILD_QUAD=TRUE -DBUILD_INLINE_HEADERS=TRUE -DENFORCE_VSX=TRUE .. diff --git a/travis/before_script.s390x-clang.sh b/travis/before_script.s390x-clang.sh new file mode 100644 index 00000000..199a1b03 --- /dev/null +++ b/travis/before_script.s390x-clang.sh @@ -0,0 +1,6 @@ +#!/bin/bash +set -ev +mkdir build && cd build + +cmake -G Ninja -DRUNNING_ON_TRAVIS=TRUE -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../install \ + -DSLEEF_SHOW_CONFIG=1 -DENFORCE_TESTER3=TRUE -DBUILD_QUAD=TRUE -DBUILD_INLINE_HEADERS=TRUE -DENFORCE_ZVECTOR2=TRUE .. diff --git a/travis/before_script.s390x-gcc.sh b/travis/before_script.s390x-gcc.sh new file mode 100644 index 00000000..199a1b03 --- /dev/null +++ b/travis/before_script.s390x-gcc.sh @@ -0,0 +1,6 @@ +#!/bin/bash +set -ev +mkdir build && cd build + +cmake -G Ninja -DRUNNING_ON_TRAVIS=TRUE -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=../install \ + -DSLEEF_SHOW_CONFIG=1 -DENFORCE_TESTER3=TRUE -DBUILD_QUAD=TRUE -DBUILD_INLINE_HEADERS=TRUE -DENFORCE_ZVECTOR2=TRUE .. diff --git a/travis/script.common.sh b/travis/script.ppc64le-clang.sh similarity index 100% rename from travis/script.common.sh rename to travis/script.ppc64le-clang.sh diff --git a/travis/script.ppc64le-gcc.sh b/travis/script.ppc64le-gcc.sh new file mode 100644 index 00000000..5f24742a --- /dev/null +++ b/travis/script.ppc64le-gcc.sh @@ -0,0 +1,6 @@ +#!/bin/bash +set -ev +cd build +ninja all +ctest -j `nproc` +ninja install diff --git a/travis/script.s390x-clang.sh b/travis/script.s390x-clang.sh new file mode 100644 index 00000000..5f24742a --- /dev/null +++ b/travis/script.s390x-clang.sh @@ -0,0 +1,6 @@ +#!/bin/bash +set -ev +cd build +ninja all +ctest -j `nproc` +ninja install diff --git a/travis/script.s390x-gcc.sh b/travis/script.s390x-gcc.sh new file mode 100644 index 00000000..5f24742a --- /dev/null +++ b/travis/script.s390x-gcc.sh @@ -0,0 +1,6 @@ +#!/bin/bash +set -ev +cd build +ninja all +ctest -j `nproc` +ninja install