kfr

Fast, modern C++ DSP framework, FFT, Sample Rate Conversion, FIR/IIR/Biquad Filters (SSE, AVX, AVX-512, ARM NEON)
Log | Files | Refs | README

commit f8cbda372eb40a4259fd55350acebf153ebb0099
parent c7b9a4c92dfce3927afcce61ee86a354f824e9f3
Author: d.levin256@gmail.com <d.levin256@gmail.com>
Date:   Wed, 10 Aug 2016 10:07:43 +0300

Tests for ARM NEON (qemu)

Diffstat:
M.travis.yml | 29++++++++++++++++++++++++++---
Acmake/arm.cmake | 29+++++++++++++++++++++++++++++
2 files changed, 55 insertions(+), 3 deletions(-)

diff --git a/.travis.yml b/.travis.yml @@ -1,5 +1,4 @@ language: cpp - matrix: include: - os: linux @@ -15,15 +14,39 @@ matrix: - clang-3.8 - libmpfr-dev env: - - CXXCOMPILER=clang++-3.8 CCOMPILER=clang-3.8 + - TEST=LINUX-X86-64 CMAKEARGS="-DCMAKE_CXX_COMPILER=clang++-3.8 -DCMAKE_C_COMPILER=clang-3.8 -DCMAKE_BUILD_TYPE=Release .." + - os: linux + compiler: clang + sudo: required + dist: trusty + addons: + apt: + sources: + - ubuntu-toolchain-r-test + - llvm-toolchain-precise-3.8 + packages: + - g++-5 + - clang-3.8 + - qemu + - g++-arm-linux-gnueabihf + env: + - TEST=LINUX-ARMV7 CMAKEARGS="-DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=../cmake/arm.cmake -DARCH_FLAGS=-DLIBC_WORKAROUND_GETS=1 .." - os: osx osx_image: xcode8 + env: + - TEST=XCODE8 CMAKEARGS="-DCMAKE_BUILD_TYPE=Release .." - os: osx osx_image: xcode7.3 + env: + - TEST=XCODE7.3 CMAKEARGS="-DCMAKE_BUILD_TYPE=Release .." - os: osx osx_image: xcode7 + env: + - TEST=XCODE7 CMAKEARGS="-DCMAKE_BUILD_TYPE=Release .." - os: osx osx_image: beta-xcode6.3 + env: + - TEST=XCODE6.3 CMAKEARGS="-DCMAKE_BUILD_TYPE=Release .." before_install: - if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ; fi @@ -33,7 +56,7 @@ before_install: script: - mkdir build - cd build - - cmake -DCMAKE_CXX_COMPILER=$CXXCOMPILER -DCMAKE_C_COMPILER=$CCOMPILER -DCMAKE_BUILD_TYPE=Release .. + - cmake $CMAKEARGS - make -j4 - cd tests - ctest diff --git a/cmake/arm.cmake b/cmake/arm.cmake @@ -0,0 +1,29 @@ +set (CMAKE_SYSTEM_NAME Linux) +set (CMAKE_SYSTEM_VERSION 1) +set (UNIX True) +set (ARM True) +set (CMAKE_SYSTEM_PROCESSOR arm) + +include (CMakeForceCompiler) +CMAKE_FORCE_CXX_COMPILER (/usr/bin/clang++-3.8 Clang) +CMAKE_FORCE_C_COMPILER (/usr/bin/clang-3.8 Clang) +set (CMAKE_CXX_COMPILER_WORKS TRUE) +set (CMAKE_C_COMPILER_WORKS TRUE) + +set (ARM_ROOT "/usr/arm-linux-gnueabihf/include") +set (GCC_VER 4.8.4) +set (SYS_PATHS "-isystem ${ARM_ROOT}/c++/${GCC_VER} -isystem ${ARM_ROOT}/c++/${GCC_VER}/backward -isystem ${ARM_ROOT}/c++/${GCC_VER}/arm-linux-gnueabihf -isystem ${ARM_ROOT}") + +set (ARM_COMMON_FLAGS "-target arm-linux-gnueabihf -mcpu=cortex-a15 -mfpu=neon-vfpv4 -mfloat-abi=hard -static") + +set (CMAKE_CXX_FLAGS "${SYS_PATHS} ${ARM_COMMON_FLAGS}") +set (CMAKE_C_FLAGS " ${SYS_PATHS} ${ARM_COMMON_FLAGS}") + +set (CMAKE_CXX_LINK_FLAGS " ${ARM_COMMON_FLAGS} ${CMAKE_CXX_LINK_FLAGS}") +set (CMAKE_C_LINK_FLAGS " ${ARM_COMMON_FLAGS} ${CMAKE_C_LINK_FLAGS}") + +message(STATUS "${ARM_COMMON_FLAGS}") + +set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY) +set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) +set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)