1*03ce13f7SAndroid Build Coastguard Worker#!/bin/bash 2*03ce13f7SAndroid Build Coastguard Worker 3*03ce13f7SAndroid Build Coastguard Worker# Fail on any error. 4*03ce13f7SAndroid Build Coastguard Workerset -e 5*03ce13f7SAndroid Build Coastguard Worker# Display commands being run. 6*03ce13f7SAndroid Build Coastguard Workerset -x 7*03ce13f7SAndroid Build Coastguard Worker 8*03ce13f7SAndroid Build Coastguard Workercmake --version 9*03ce13f7SAndroid Build Coastguard Worker 10*03ce13f7SAndroid Build Coastguard Workercd git/SwiftShader 11*03ce13f7SAndroid Build Coastguard Worker 12*03ce13f7SAndroid Build Coastguard Workermkdir -p build && cd build 13*03ce13f7SAndroid Build Coastguard Worker 14*03ce13f7SAndroid Build Coastguard Workerif [[ -z "${REACTOR_BACKEND}" ]]; then 15*03ce13f7SAndroid Build Coastguard Worker REACTOR_BACKEND="LLVM" 16*03ce13f7SAndroid Build Coastguard Workerfi 17*03ce13f7SAndroid Build Coastguard Worker 18*03ce13f7SAndroid Build Coastguard Worker# Lower the amount of debug info, to reduce Kokoro build times. 19*03ce13f7SAndroid Build Coastguard WorkerSWIFTSHADER_LESS_DEBUG_INFO=1 20*03ce13f7SAndroid Build Coastguard Worker 21*03ce13f7SAndroid Build Coastguard Worker# Disable ASAN checks for debug builds, to reduce Kokoro build times. 22*03ce13f7SAndroid Build Coastguard Worker# ASAN builds are recommended to be optimized. 23*03ce13f7SAndroid Build Coastguard WorkerASAN="ON" 24*03ce13f7SAndroid Build Coastguard Workerif [[ "${BUILD_TYPE}" == "Debug" ]]; then 25*03ce13f7SAndroid Build Coastguard Worker ASAN="OFF" 26*03ce13f7SAndroid Build Coastguard Workerfi 27*03ce13f7SAndroid Build Coastguard Worker 28*03ce13f7SAndroid Build Coastguard Workercmake .. \ 29*03ce13f7SAndroid Build Coastguard Worker "-DSWIFTSHADER_ASAN=${ASAN}" \ 30*03ce13f7SAndroid Build Coastguard Worker "-DCMAKE_BUILD_TYPE=${BUILD_TYPE}" \ 31*03ce13f7SAndroid Build Coastguard Worker "-DREACTOR_BACKEND=${REACTOR_BACKEND}" \ 32*03ce13f7SAndroid Build Coastguard Worker "-DSWIFTSHADER_LLVM_VERSION=${LLVM_VERSION}" \ 33*03ce13f7SAndroid Build Coastguard Worker "-DREACTOR_VERIFY_LLVM_IR=1" \ 34*03ce13f7SAndroid Build Coastguard Worker "-DSWIFTSHADER_LESS_DEBUG_INFO=${SWIFTSHADER_LESS_DEBUG_INFO}" \ 35*03ce13f7SAndroid Build Coastguard Worker "-DSWIFTSHADER_BUILD_BENCHMARKS=1" 36*03ce13f7SAndroid Build Coastguard Workercmake --build . -- -j$(sysctl -n hw.logicalcpu) 37*03ce13f7SAndroid Build Coastguard Worker 38*03ce13f7SAndroid Build Coastguard Worker# Run unit tests 39*03ce13f7SAndroid Build Coastguard Worker 40*03ce13f7SAndroid Build Coastguard Workercd .. # Some tests must be run from project root 41*03ce13f7SAndroid Build Coastguard Worker 42*03ce13f7SAndroid Build Coastguard Workerbuild/ReactorUnitTests 43*03ce13f7SAndroid Build Coastguard Workerbuild/system-unittests 44*03ce13f7SAndroid Build Coastguard Workerbuild/vk-unittests 45*03ce13f7SAndroid Build Coastguard Worker 46*03ce13f7SAndroid Build Coastguard Worker# Incrementally build and run rr::Print unit tests 47*03ce13f7SAndroid Build Coastguard Workercd build 48*03ce13f7SAndroid Build Coastguard Workercmake .. "-DREACTOR_ENABLE_PRINT=1" 49*03ce13f7SAndroid Build Coastguard Workercmake --build . --target ReactorUnitTests -- -j$(sysctl -n hw.logicalcpu) 50*03ce13f7SAndroid Build Coastguard Workercd .. 51*03ce13f7SAndroid Build Coastguard Workerbuild/ReactorUnitTests --gtest_filter=ReactorUnitTests.Print* 52