1 #!/bin/bash 2 # Copyright (c) 2018 Google LLC. 3 # 4 # Licensed under the Apache License, Version 2.0 (the "License"); 5 # you may not use this file except in compliance with the License. 6 # You may obtain a copy of the License at 7 # 8 # http://www.apache.org/licenses/LICENSE-2.0 9 # 10 # Unless required by applicable law or agreed to in writing, software 11 # distributed under the License is distributed on an "AS IS" BASIS, 12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 # See the License for the specific language governing permissions and 14 # limitations under the License. 15 # 16 # Linux Build Script. 17 18 # Fail on any error. 19 set -e 20 # Display commands being run. 21 set -x 22 23 BUILD_ROOT=$PWD 24 SRC=$PWD/github/SPIRV-Tools 25 26 # Get NINJA. 27 wget -q https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-linux.zip 28 unzip -q ninja-linux.zip 29 export PATH="$PWD:$PATH" 30 31 # NDK Path 32 export ANDROID_NDK=/opt/android-ndk-r15c 33 34 # Get the dependencies. 35 cd $SRC 36 git clone --depth=1 https://github.com/KhronosGroup/SPIRV-Headers external/spirv-headers 37 git clone --depth=1 https://github.com/google/googletest external/googletest 38 git clone --depth=1 https://github.com/google/effcee external/effcee 39 git clone --depth=1 https://github.com/google/re2 external/re2 40 41 mkdir build && cd $SRC/build 42 mkdir libs 43 mkdir app 44 45 # Invoke the build. 46 BUILD_SHA=${KOKORO_GITHUB_COMMIT:-$KOKORO_GITHUB_PULL_REQUEST_COMMIT} 47 echo $(date): Starting ndk-build ... 48 $ANDROID_NDK/ndk-build \ 49 -C $SRC/android_test \ 50 NDK_PROJECT_PATH=. \ 51 NDK_LIBS_OUT=./libs \ 52 NDK_APP_OUT=./app \ 53 -j8 54 55 echo $(date): ndk-build completed. 56 57