First Commit
This commit is contained in:
71
3rdparty/shaderc/kokoro/ndk-build/build-docker.sh
vendored
Executable file
71
3rdparty/shaderc/kokoro/ndk-build/build-docker.sh
vendored
Executable file
@@ -0,0 +1,71 @@
|
||||
#!/bin/bash
|
||||
# Copyright (c) 2018 Google LLC.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# Linux Build Script.
|
||||
|
||||
# Fail on any error.
|
||||
set -e
|
||||
# Display commands being run.
|
||||
set -x
|
||||
|
||||
# This is required to run any git command in the docker since owner will
|
||||
# have changed between the clone environment, and the docker container.
|
||||
# Marking the root of the repo as safe for ownership changes.
|
||||
git config --global --add safe.directory $ROOT_DIR
|
||||
|
||||
. /bin/using.sh # Declare the bash `using` function for configuring toolchains.
|
||||
|
||||
cd $ROOT_DIR
|
||||
|
||||
function clean_dir() {
|
||||
dir=$1
|
||||
if [[ -d "$dir" ]]; then
|
||||
rm -fr "$dir"
|
||||
fi
|
||||
mkdir "$dir"
|
||||
}
|
||||
|
||||
# Get source for dependencies, as specified in the DEPS file
|
||||
/usr/bin/python3 utils/git-sync-deps --treeless
|
||||
|
||||
using ndk-r25c
|
||||
|
||||
clean_dir "$ROOT_DIR/build"
|
||||
cd "$ROOT_DIR/build"
|
||||
|
||||
function do_ndk_build () {
|
||||
echo $(date): Starting ndk-build $@...
|
||||
$ANDROID_NDK_HOME/ndk-build \
|
||||
-C $ROOT_DIR/android_test \
|
||||
NDK_PROJECT_PATH=. \
|
||||
NDK_LIBS_OUT=./libs \
|
||||
NDK_APP_OUT=./app \
|
||||
V=1 \
|
||||
SPVTOOLS_LOCAL_PATH=$ROOT_DIR/third_party/spirv-tools \
|
||||
SPVHEADERS_LOCAL_PATH=$ROOT_DIR/third_party/spirv-headers \
|
||||
-j8 $@
|
||||
}
|
||||
|
||||
# Builds all the ABIs (see APP_ABI in jni/Application.mk)
|
||||
do_ndk_build
|
||||
|
||||
# Check that libshaderc_combined builds
|
||||
# Explicitly set each ABI, otherwise it will only pick x86.
|
||||
# It seems to be the behaviour when specifying an explicit target.
|
||||
for abi in x86 x86_64 armeabi-v7a arm64-v8a; do
|
||||
do_ndk_build APP_ABI=$abi libshaderc_combined
|
||||
done
|
||||
|
||||
echo $(date): ndk-build completed.
|
||||
56
3rdparty/shaderc/kokoro/ndk-build/build.sh
vendored
Normal file
56
3rdparty/shaderc/kokoro/ndk-build/build.sh
vendored
Normal file
@@ -0,0 +1,56 @@
|
||||
#!/bin/bash
|
||||
# Copyright (c) 2021 Google LLC.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# Linux Build Script.
|
||||
|
||||
# Fail on any error.
|
||||
set -e
|
||||
|
||||
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd )"
|
||||
ROOT_DIR="$( cd "${SCRIPT_DIR}/../.." >/dev/null 2>&1 && pwd )"
|
||||
|
||||
BUILD_SHA=${KOKORO_GITHUB_COMMIT:-$KOKORO_GITHUB_PULL_REQUEST_COMMIT}
|
||||
|
||||
# chown the given directory to the current user, if it exists.
|
||||
# Docker creates files with the root user - this can upset the Kokoro artifact copier.
|
||||
function chown_dir() {
|
||||
dir=$1
|
||||
if [[ -d "$dir" ]]; then
|
||||
sudo chown -R "$(id -u):$(id -g)" "$dir"
|
||||
fi
|
||||
}
|
||||
|
||||
set +e
|
||||
# Allow build failures
|
||||
|
||||
# "--privileged" is required to run ptrace in the asan builds.
|
||||
docker run --rm -i \
|
||||
--privileged \
|
||||
--volume "${ROOT_DIR}:${ROOT_DIR}" \
|
||||
--volume "${KOKORO_ARTIFACTS_DIR}:${KOKORO_ARTIFACTS_DIR}" \
|
||||
--workdir "${ROOT_DIR}" \
|
||||
--env SCRIPT_DIR=${SCRIPT_DIR} \
|
||||
--env ROOT_DIR=${ROOT_DIR} \
|
||||
--env KOKORO_ARTIFACTS_DIR="${KOKORO_ARTIFACTS_DIR}" \
|
||||
--env BUILD_SHA="${BUILD_SHA}" \
|
||||
--entrypoint "${SCRIPT_DIR}/build-docker.sh" \
|
||||
"gcr.io/shaderc-build/radial-build:latest"
|
||||
RESULT=$?
|
||||
|
||||
# This is important. If the permissions are not fixed, kokoro will fail
|
||||
# to pull build artifacts, and put the build in tool-failure state, which
|
||||
# blocks the logs.
|
||||
chown_dir "${ROOT_DIR}/build"
|
||||
exit $RESULT
|
||||
25
3rdparty/shaderc/kokoro/ndk-build/build_khronos.sh
vendored
Normal file
25
3rdparty/shaderc/kokoro/ndk-build/build_khronos.sh
vendored
Normal file
@@ -0,0 +1,25 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Copyright (C) 2017 Google Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
#
|
||||
# Linux Build Script.
|
||||
|
||||
# Fail on any error.
|
||||
set -e
|
||||
# Display commands being run.
|
||||
set -x
|
||||
|
||||
SCRIPT_DIR=`dirname "$BASH_SOURCE"`
|
||||
source $SCRIPT_DIR/build.sh
|
||||
17
3rdparty/shaderc/kokoro/ndk-build/continuous_khronos.cfg
vendored
Normal file
17
3rdparty/shaderc/kokoro/ndk-build/continuous_khronos.cfg
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
# Copyright (C) 2017 Google Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# Continuous build configuration.
|
||||
#
|
||||
build_file: "shaderc/kokoro/ndk-build/build_khronos.sh"
|
||||
17
3rdparty/shaderc/kokoro/ndk-build/presubmit_khronos.cfg
vendored
Normal file
17
3rdparty/shaderc/kokoro/ndk-build/presubmit_khronos.cfg
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
# Copyright (C) 2018 Google Inc.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
# Presubmit build configuration.
|
||||
#
|
||||
build_file: "shaderc/kokoro/ndk-build/build_khronos.sh"
|
||||
Reference in New Issue
Block a user