mame/3rdparty/asmjit/.travis.yml
2020-06-12 11:55:10 +07:00

343 lines
10 KiB
YAML

language: cpp
git:
depth: false
env:
global:
- BUILD_TOOLCHAIN="Unix Makefiles"
- MAKEFLAGS="-j2"
dist: bionic
matrix:
include:
- name: "Source Code Check"
env: BUILD_MATRIX="SOURCE_CODE_CHECK=1"
os: linux
language: node_js
node_js:
- node
- name: "Linux Clang Default [64-bit] [DBG]"
env: BUILD_MATRIX="BUILD_TYPE=Debug && CC=clang-9 && CXX=clang++-9"
os: linux
addons:
apt:
sources:
- sourceline: "ppa:ubuntu-toolchain-r/test"
packages: [clang++-9]
- name: "Linux Clang Default [64-bit] [REL]"
env: BUILD_MATRIX="BUILD_TYPE=Release && CC=clang-9 && CXX=clang++-9"
os: linux
addons:
apt:
sources:
- sourceline: "ppa:ubuntu-toolchain-r/test"
packages: [clang++-9]
- name: "Linux Clang Default [64-bit] [REL] [Valgrind]"
env: BUILD_MATRIX="BUILD_TYPE=Release && CC=clang-9 && CXX=clang++-9" USE_VALGRIND=1
os: linux
addons:
apt:
sources:
- sourceline: "ppa:ubuntu-toolchain-r/test"
packages: [clang++-9, valgrind]
- name: "Linux Clang Default [64-bit] [REL] [Sanitize=Address]"
env: BUILD_MATRIX="BUILD_TYPE=Release && CC=clang-9 && CXX=clang++-9" EXTRA_OPTIONS="-DASMJIT_SANITIZE=address"
os: linux
addons:
apt:
sources:
- sourceline: "ppa:ubuntu-toolchain-r/test"
packages: [clang++-9]
- name: "Linux Clang Default [64-bit] [REL] [Sanitize=Undefined]"
env: BUILD_MATRIX="BUILD_TYPE=Release && CC=clang-9 && CXX=clang++-9" EXTRA_OPTIONS="-DASMJIT_SANITIZE=undefined"
os: linux
addons:
apt:
sources:
- sourceline: "ppa:ubuntu-toolchain-r/test"
packages: [clang++-9]
- name: "Linux Clang Default [64-bit] [REL] [NoDeprecated]"
env: BUILD_MATRIX="BUILD_TYPE=Release && CC=clang-9 && CXX=clang++-9" EXTRA_OPTIONS="-DASMJIT_NO_DEPRECATED=1"
os: linux
addons:
apt:
sources:
- sourceline: "ppa:ubuntu-toolchain-r/test"
packages: [clang++-9]
- name: "Linux Clang Default [64-bit] [REL] [NoIntrinsics]"
env: BUILD_MATRIX="BUILD_TYPE=Release && CC=clang-9 && CXX=clang++-9" EXTRA_OPTIONS="-DASMJIT_NO_INTRINSICS=1"
os: linux
addons:
apt:
sources:
- sourceline: "ppa:ubuntu-toolchain-r/test"
packages: [clang++-9]
- name: "Linux Clang Default [64-bit] [REL] [NoLogging]"
env: BUILD_MATRIX="BUILD_TYPE=Release && CC=clang-9 && CXX=clang++-9" EXTRA_OPTIONS="-DASMJIT_NO_LOGGING=1"
os: linux
addons:
apt:
sources:
- sourceline: "ppa:ubuntu-toolchain-r/test"
packages: [clang++-9]
- name: "Linux Clang Default [64-bit] [REL] [NoBuilder]"
env: BUILD_MATRIX="BUILD_TYPE=Release && CC=clang-9 && CXX=clang++-9" EXTRA_OPTIONS="-DASMJIT_NO_BUILDER=1"
os: linux
addons:
apt:
sources:
- sourceline: "ppa:ubuntu-toolchain-r/test"
packages: [clang++-9]
- name: "Linux Clang Default [64-bit] [REL] [NoCompiler]"
env: BUILD_MATRIX="BUILD_TYPE=Release && CC=clang-9 && CXX=clang++-9" EXTRA_OPTIONS="-DASMJIT_NO_COMPILER=1"
os: linux
addons:
apt:
sources:
- sourceline: "ppa:ubuntu-toolchain-r/test"
packages: [clang++-9]
- name: "Linux GCC 4.8 [32-bit] [DBG]"
env: BUILD_MATRIX="BUILD_TYPE=Debug && CC=gcc-4.8 && CXX=g++-4.8" CXXFLAGS=-m32 LDFLAGS=-m32
os: linux
addons:
apt:
packages: [g++-4.8, g++-4.8-multilib, "linux-libc-dev:i386"]
- name: "Linux GCC 4.8 [64-bit] [DBG]"
env: BUILD_MATRIX="BUILD_TYPE=Debug && CC=gcc-4.8 && CXX=g++-4.8"
os: linux
addons:
apt:
packages: [g++-4.8]
- name: "Linux GCC 5 [32-bit] [DBG]"
env: BUILD_MATRIX="BUILD_TYPE=Debug && CC=gcc-5 && CXX=g++-5" CXXFLAGS=-m32 LDFLAGS=-m32
os: linux
addons:
apt:
packages: [g++-5, g++-5-multilib, "linux-libc-dev:i386"]
- name: "Linux GCC 5 [64-bit] [DBG]"
env: BUILD_MATRIX="BUILD_TYPE=Debug && CC=gcc-5 && CXX=g++-5"
os: linux
addons:
apt:
packages: [g++-5]
- name: "Linux GCC 6 [32-bit] [DBG]"
env: BUILD_MATRIX="BUILD_TYPE=Debug && CC=gcc-6 && CXX=g++-6" CXXFLAGS=-m32 LDFLAGS=-m32
os: linux
addons:
apt:
packages: [g++-6, g++-6-multilib, "linux-libc-dev:i386"]
- name: "Linux GCC 6 [64-bit] [DBG]"
env: BUILD_MATRIX="BUILD_TYPE=Debug && CC=gcc-6 && CXX=g++-6"
os: linux
addons:
apt:
packages: [g++-6]
- name: "Linux GCC 7 [32-bit] [DBG]"
env: BUILD_MATRIX="BUILD_TYPE=Debug && CC=gcc-7 && CXX=g++-7" CXXFLAGS=-m32 LDFLAGS=-m32
os: linux
addons:
apt:
packages: [g++-7, g++-7-multilib, "linux-libc-dev:i386"]
- name: "Linux GCC 7 [64-bit] [DBG]"
env: BUILD_MATRIX="BUILD_TYPE=Debug && CC=gcc-7 && CXX=g++-7"
os: linux
addons:
apt:
packages: [g++-7]
- name: "Linux GCC 8 [32-bit] [DBG]"
env: BUILD_MATRIX="BUILD_TYPE=Debug && CC=gcc-8 && CXX=g++-8" CXXFLAGS=-m32 LDFLAGS=-m32
os: linux
addons:
apt:
packages: [g++-8, g++-8-multilib, "linux-libc-dev:i386"]
- name: "Linux GCC 8 [64-bit] [DBG]"
env: BUILD_MATRIX="BUILD_TYPE=Debug && CC=gcc-8 && CXX=g++-8"
os: linux
addons:
apt:
packages: [g++-8]
- name: "Linux GCC 9 [32-bit] [DBG]"
env: BUILD_MATRIX="BUILD_TYPE=Debug && CC=gcc-9 && CXX=g++-9" CXXFLAGS=-m32 LDFLAGS=-m32
os: linux
addons:
apt:
sources:
- sourceline: "ppa:ubuntu-toolchain-r/test"
packages: [g++-9, g++-9-multilib, "linux-libc-dev:i386"]
- name: "Linux GCC 9 [64-bit] [DBG]"
env: BUILD_MATRIX="BUILD_TYPE=Debug && CC=gcc-9 && CXX=g++-9"
os: linux
addons:
apt:
sources:
- sourceline: "ppa:ubuntu-toolchain-r/test"
packages: [g++-9]
- name: "Linux GCC 10 [32-bit] [DBG]"
env: BUILD_MATRIX="BUILD_TYPE=Debug && CC=gcc-10 && CXX=g++-10" CXXFLAGS=-m32 LDFLAGS=-m32
os: linux
addons:
apt:
sources:
- sourceline: "ppa:ubuntu-toolchain-r/test"
packages: [g++-10, g++-10-multilib, "linux-libc-dev:i386"]
- name: "Linux GCC 10 [32-bit] [REL]"
env: BUILD_MATRIX="BUILD_TYPE=Release && CC=gcc-10 && CXX=g++-10" CXXFLAGS=-m32 LDFLAGS=-m32
os: linux
addons:
apt:
sources:
- sourceline: "ppa:ubuntu-toolchain-r/test"
packages: [g++-10, g++-10-multilib, "linux-libc-dev:i386"]
- name: "Linux GCC 10 [64-bit] [DBG]"
env: BUILD_MATRIX="BUILD_TYPE=Debug && CC=gcc-10 && CXX=g++-10"
os: linux
addons:
apt:
sources:
- sourceline: "ppa:ubuntu-toolchain-r/test"
packages: [g++-10]
- name: "Linux GCC 10 [64-bit] [REL]"
env: BUILD_MATRIX="BUILD_TYPE=Release && CC=gcc-10 && CXX=g++-10"
os: linux
addons:
apt:
sources:
- sourceline: "ppa:ubuntu-toolchain-r/test"
packages: [g++-10]
- name: "OSX Clang XCode 9.4 [32-bit] [DBG]"
env: BUILD_MATRIX="BUILD_TYPE=Debug" CXXFLAGS=-m32 LDFLAGS=-m32
os: osx
osx_image: xcode9.4
- name: "OSX Clang XCode 9.4 [32-bit] [REL]"
env: BUILD_MATRIX="BUILD_TYPE=Release" CXXFLAGS=-m32 LDFLAGS=-m32
os: osx
osx_image: xcode9.4
- name: "OSX Clang XCode 9.4 [64-bit] [DBG]"
env: BUILD_MATRIX="BUILD_TYPE=Debug"
os: osx
osx_image: xcode9.4
- name: "OSX Clang XCode 9.4 [64-bit] [REL]"
env: BUILD_MATRIX="BUILD_TYPE=Release"
os: osx
osx_image: xcode9.4
- name: "OSX Clang XCode 10.2 [64-bit] [DBG]"
env: BUILD_MATRIX="BUILD_TYPE=Debug"
os: osx
osx_image: xcode10.2
- name: "OSX Clang XCode 10.2 [64-bit] [REL]"
env: BUILD_MATRIX="BUILD_TYPE=Release"
os: osx
osx_image: xcode10.2
- name: "OSX Clang XCode 11 [64-bit] [DBG]"
env: BUILD_MATRIX="BUILD_TYPE=Debug"
os: osx
osx_image: xcode11
- name: "OSX Clang XCode 11 [64-bit] [REL]"
env: BUILD_MATRIX="BUILD_TYPE=Release"
os: osx
osx_image: xcode11
- name: "Windows VS2017 [32-bit] [DBG]"
env: BUILD_MATRIX="BUILD_TYPE=Debug" BUILD_TOOLCHAIN="Visual Studio 15 2017"
os: windows
- name: "Windows VS2017 [32-bit] [REL]"
env: BUILD_MATRIX="BUILD_TYPE=Release" BUILD_TOOLCHAIN="Visual Studio 15 2017"
os: windows
- name: "Windows VS2017 [64-bit] [DBG]"
env: BUILD_MATRIX="BUILD_TYPE=Debug" BUILD_TOOLCHAIN="Visual Studio 15 2017 Win64"
os: windows
- name: "Windows VS2017 [64-bit] [REL]"
env: BUILD_MATRIX="BUILD_TYPE=Release" BUILD_TOOLCHAIN="Visual Studio 15 2017 Win64"
os: windows
before_install:
- eval "$BUILD_MATRIX"
before_script:
- |
if [ -z $SOURCE_CODE_CHECK ]; then
mkdir build
cd build
if [[ "$BUILD_TOOLCHAIN" =~ ^Visual\ Studio ]]; then
cmake .. -G"${BUILD_TOOLCHAIN}" -DASMJIT_TEST=1 ${EXTRA_OPTIONS}
else
cmake .. -G"${BUILD_TOOLCHAIN}" -DASMJIT_TEST=1 ${EXTRA_OPTIONS} -DCMAKE_PREFIX_PATH="${MINGW_PATH}" -DCMAKE_BUILD_TYPE="${BUILD_TYPE}"
fi
cd ..
fi
script:
- |
if [ -z $SOURCE_CODE_CHECK ]; then
cd build
if [[ "$BUILD_TOOLCHAIN" =~ ^Visual\ Studio ]]; then
cmake --build . --config ${BUILD_TYPE} -- -nologo -v:minimal || exit 1
cd ${BUILD_TYPE}
else
cmake --build . || exit 1
fi
echo ""
echo "=== Starting Tests ==="
echo ""
if [ "$USE_VALGRIND" = "1" ]; then
RUN_CMD="valgrind --leak-check=full --show-reachable=yes --track-origins=yes"
fi
eval "$RUN_CMD ./asmjit_test_unit --quick" || exit 1
echo ""
eval "$RUN_CMD ./asmjit_test_opcode > /dev/null" || exit 1
echo ""
eval "$RUN_CMD ./asmjit_test_x86_asm" || exit 1
echo ""
eval "$RUN_CMD ./asmjit_test_x86_sections" || exit 1
if [ -f ./asmjit_test_x86_instinfo ]; then
echo ""
eval "$RUN_CMD ./asmjit_test_x86_instinfo" || exit 1
fi
if [ -f ./asmjit_test_x86_cc ]; then
echo ""
eval "$RUN_CMD ./asmjit_test_x86_cc" || exit 1
fi
else
cd tools
./enumgen.sh --verify || exit 1
cd ..
fi