Fix GN build and presubmits

Add missing `.cfg` files for GN presubmit.
Add missing `recursedeps` in the `DEPS` file.
Call `./update_glslang_sources.py` before attempting to build.
Add more GN spew to the `.gitignore` file.
This commit is contained in:
Ben Clayton 2020-10-21 13:36:50 +01:00
parent ea52b3c2d2
commit 0f52e7ef12
7 changed files with 88 additions and 3 deletions

9
.gitignore vendored
View File

@ -2,7 +2,6 @@
*.a *.a
*.so *.so
*.exe *.exe
*.gclient_entries
.vscode/ .vscode/
tags tags
TAGS TAGS
@ -12,4 +11,10 @@ Test/localResults/
External/googletest External/googletest
External/spirv-tools External/spirv-tools
out/ out/
third_party/llvm-build
# GN generated files
.cipd/
*.gclient_entries
third_party/
buildtools/
tools/

5
DEPS
View File

@ -75,3 +75,8 @@ hooks = [
'condition': 'not build_with_chromium', 'condition': 'not build_with_chromium',
}, },
] ]
recursedeps = [
# buildtools provides clang_format, libc++, and libc++abi
'buildtools',
]

View File

@ -200,6 +200,7 @@ This only needs to be done once after updating `glslang`.
With the current directory set to your `glslang` checkout, type: With the current directory set to your `glslang` checkout, type:
```bash ```bash
./update_glslang_sources.py
gclient sync --gclientfile=standalone.gclient gclient sync --gclientfile=standalone.gclient
gn gen out/Default gn gen out/Default
``` ```

View File

@ -36,6 +36,9 @@
set -e # Fail on any error. set -e # Fail on any error.
set -x # Display commands being run. set -x # Display commands being run.
echo "Fetching external projects..."
./update_glslang_sources.py
echo "Fetching depot_tools..." echo "Fetching depot_tools..."
mkdir -p /tmp/depot_tools mkdir -p /tmp/depot_tools
curl https://storage.googleapis.com/chrome-infra/depot_tools.zip -o /tmp/depot_tools.zip curl https://storage.googleapis.com/chrome-infra/depot_tools.zip -o /tmp/depot_tools.zip

View File

@ -43,6 +43,7 @@ docker run --rm -i \
--workdir "${ROOT_DIR}" \ --workdir "${ROOT_DIR}" \
--env ROOT_DIR="${ROOT_DIR}" \ --env ROOT_DIR="${ROOT_DIR}" \
--env SCRIPT_DIR="${SCRIPT_DIR}" \ --env SCRIPT_DIR="${SCRIPT_DIR}" \
--env BUILD_SHARED_LIBS="${BUILD_SHARED_LIBS:-0}" \
--entrypoint "${SCRIPT_DIR}/build-docker.sh" \ --entrypoint "${SCRIPT_DIR}/build-docker.sh" \
"gcr.io/shaderc-build/radial-build:latest" "gcr.io/shaderc-build/radial-build:latest"
sudo chown -R "$(id -u):$(id -g)" "${ROOT_DIR}"

View File

@ -0,0 +1,35 @@
# Copyright (C) 2020 Google, Inc.
#
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following
# disclaimer in the documentation and/or other materials provided
# with the distribution.
#
# Neither the name of Google Inc. nor the names of its
# contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# Continuous build configuration.
build_file: "glslang/kokoro/linux-clang-gn/build.sh"

View File

@ -0,0 +1,35 @@
# Copyright (C) 2020 Google, Inc.
#
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
#
# Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following
# disclaimer in the documentation and/or other materials provided
# with the distribution.
#
# Neither the name of Google Inc. nor the names of its
# contributors may be used to endorse or promote products derived
# from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
# COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
# Presubmit build configuration.
build_file: "glslang/kokoro/linux-clang-gn/build.sh"