aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Lobodzinski <mark@lunarg.com>2018-07-19 11:47:03 -0600
committerMark Lobodzinski <mark@lunarg.com>2018-07-20 14:05:23 -0600
commit666dfcc5891500bb01dc6da37d91119d27ada52f (patch)
treecc083102657fbea51bcccf930f80ce09b838637f
parent4041d8f843d4764144e02390ec9d57079a998108 (diff)
downloadvulkan-validation-layers-666dfcc5891500bb01dc6da37d91119d27ada52f.tar.gz
android: Use known_good.json for ext dependencies
Updated shell script and batch file.
-rwxr-xr-xbuild-android/update_external_sources_android.bat284
-rwxr-xr-xbuild-android/update_external_sources_android.sh189
2 files changed, 10 insertions, 463 deletions
diff --git a/build-android/update_external_sources_android.bat b/build-android/update_external_sources_android.bat
index 0904fd2f3..fdfa4e300 100755
--- a/build-android/update_external_sources_android.bat
+++ b/build-android/update_external_sources_android.bat
@@ -4,6 +4,7 @@ REM Update source for glslang, spirv-tools, and shaderc
REM
REM Copyright 2016 The Android Open Source Project
REM Copyright (C) 2015 Valve Corporation
+REM Copyright 2018 LunarG, Inc.
REM
REM Licensed under the Apache License, Version 2.0 (the "License");
REM you may not use this file except in compliance with the License.
@@ -23,12 +24,7 @@ set errorCode=0
set ANDROID_BUILD_DIR=%~dp0
set BUILD_DIR=%ANDROID_BUILD_DIR%
set BASE_DIR=%BUILD_DIR%\third_party
-set GLSLANG_DIR=%BASE_DIR%\shaderc\third_party\glslang
-set SPIRV_TOOLS_DIR=%BASE_DIR%\shaderc\third_party\spirv-tools
-set SPIRV_HEADERS_DIR=%BASE_DIR%\shaderc\third_party\spirv-tools\external\spirv-headers
set SHADERC_DIR=%BASE_DIR%\shaderc
-set VULKAN_TOOLS_DIR=%BASE_DIR%\Vulkan-Tools
-set VULKAN_HEADERS_DIR=%BASE_DIR%\Vulkan-Headers
for %%X in (where.exe) do (set FOUND=%%~$PATH:X)
if not defined FOUND (
@@ -56,140 +52,18 @@ if %ERRORLEVEL% equ 1 (
set errorCode=1
)
-REM ensure where is working with below false test
-REM where /q foo
-REM if %ERRORLEVEL% equ 1 (
-REM echo foo
-REM )
-
:main
if %errorCode% neq 0 (goto:error)
-REM Read the target versions from external file, which is shared with Linux script
-
-if not exist %ANDROID_BUILD_DIR%\glslang_revision_android (
- echo.
- echo Missing glslang_revision_android file. Place it in %ANDROID_BUILD_DIR%
- goto:error
-)
-
-if not exist %ANDROID_BUILD_DIR%\spirv-tools_revision_android (
- echo.
- echo Missing spirv-tools_revision_android file. Place it in %ANDROID_BUILD_DIR%
- set errorCode=1
- goto:error
-)
-
-if not exist %ANDROID_BUILD_DIR%\spirv-headers_revision_android (
- echo.
- echo Missing spirv-headers_revision_android file. Place it in %ANDROID_BUILD_DIR%
- set errorCode=1
- goto:error
-)
-
-if not exist %ANDROID_BUILD_DIR%\shaderc_revision_android (
- echo.
- echo Missing shaderc_revision_android file. Place it in %ANDROID_BUILD_DIR%
- set errorCode=1
- goto:error
-)
-
-if not exist %ANDROID_BUILD_DIR%\vulkan-headers_revision_android (
- echo.
- echo Missing vulkan-headers_revision_android file. Place it in %ANDROID_BUILD_DIR%
- set errorCode=1
- goto:error
-)
-
-if not exist %ANDROID_BUILD_DIR%\vulkan-tools_revision_android (
- echo.
- echo Missing vulkan-tools_revision_android file. Place it in %ANDROID_BUILD_DIR%
- set errorCode=1
- goto:error
-)
-
-set /p GLSLANG_REVISION= < glslang_revision_android
-set /p SPIRV_TOOLS_REVISION= < spirv-tools_revision_android
-set /p SPIRV_HEADERS_REVISION= < spirv-headers_revision_android
-set /p SHADERC_REVISION= < shaderc_revision_android
-set /p VULKAN_HEADERS_REVISION= < vulkan-headers_revision_android
-set /p VULKAN_TOOLS_REVISION= < vulkan-tools_revision_android
-echo GLSLANG_REVISION=%GLSLANG_REVISION%
-echo SPIRV_TOOLS_REVISION=%SPIRV_TOOLS_REVISION%
-echo SPIRV_HEADERS_REVISION=%SPIRV_HEADERS_REVISION%
-echo SHADERC_REVISION=%SHADERC_REVISION%
-echo VULKAN_HEADERS_REVISION=%VULKAN_HEADERS_REVISION%
-echo VULKAN_TOOLS_REVISION=%VULKAN_TOOLS_REVISION%
-
-
echo Creating and/or updating glslang, spirv-tools, spirv-headers, shaderc, vulkan-headers, vulkan-tools in %BASE_DIR%
-set sync-glslang=1
-set sync-spirv-tools=1
-set sync-spirv-headers=1
-set sync-shaderc=1
-set sync-vulkan-headers=1
-set sync-vulkan-tools=1
set build-shaderc=1
-if %sync-shaderc% equ 1 (
- if not exist %SHADERC_DIR% (
- call:create_shaderc
- )
- if %errorCode% neq 0 (goto:error)
- call:update_shaderc
- if %errorCode% neq 0 (goto:error)
-)
-
-if %sync-glslang% equ 1 (
- if not exist %GLSLANG_DIR% (
- call:create_glslang
- )
- if %errorCode% neq 0 (goto:error)
- call:update_glslang
- if %errorCode% neq 0 (goto:error)
-)
+REM Pull down or update external dependencies
+echo Update external dependencies based on the %ANDROID_BUILD_DIR%/known_good.json file
+py -3 ../scripts/update_deps.py --no-build --dir %BASE_DIR% --known_good_dir %BUILD_DIR%
-if %sync-spirv-tools% equ 1 (
- if %ERRORLEVEL% neq 0 (goto:error)
- if not exist %SPIRV_TOOLS_DIR% (
- call:create_spirv-tools
- )
- if %errorCode% neq 0 (goto:error)
- call:update_spirv-tools
- if %errorCode% neq 0 (goto:error)
-)
-
-if %sync-spirv-headers% equ 1 (
- if %ERRORLEVEL% neq 0 (goto:error)
- if not exist %SPIRV_HEADERS_DIR% (
- call:create_spirv-headers
- )
- if %errorCode% neq 0 (goto:error)
- call:update_spirv-headers
- if %errorCode% neq 0 (goto:error)
-)
-
-if %sync-vulkan-headers% equ 1 (
- if %ERRORLEVEL% neq 0 (goto:error)
- if not exist %VULKAN_HEADERS_DIR% (
- call:create_vulkan-headers
- )
- if %errorCode% neq 0 (goto:error)
- call:update_vulkan-headers
- if %errorCode% neq 0 (goto:error)
-)
-
-if %sync-vulkan-tools% equ 1 (
- if %ERRORLEVEL% neq 0 (goto:error)
- if not exist %VULKAN_TOOLS_DIR% (
- call:create_vulkan-tools
- )
- if %errorCode% neq 0 (goto:error)
- call:update_vulkan-tools
- if %errorCode% neq 0 (goto:error)
-)
if %build-shaderc% equ 1 (
call:build_shaderc
@@ -216,106 +90,6 @@ goto:eof
REM // ======== Functions ======== //
-:create_glslang
- echo.
- echo Creating local glslang repository %GLSLANG_DIR%
- if not exist "%GLSLANG_DIR%\" mkdir %GLSLANG_DIR%
- cd %GLSLANG_DIR%
- git clone https://github.com/KhronosGroup/glslang.git .
- git checkout %GLSLANG_REVISION%
- if not exist %GLSLANG_DIR%\SPIRV (
- echo glslang source download failed!
- set errorCode=1
- )
-goto:eof
-
-:update_glslang
- echo.
- echo Updating %GLSLANG_DIR%
- cd %GLSLANG_DIR%
- git fetch --all
- git checkout %GLSLANG_REVISION%
- if not exist %GLSLANG_DIR%\SPIRV (
- echo glslang source update failed!
- set errorCode=1
- )
-goto:eof
-
-:create_spirv-tools
- echo.
- echo Creating local spirv-tools repository %SPIRV_TOOLS_DIR%
- if not exist "%SPIRV_TOOLS_DIR%\" mkdir %SPIRV_TOOLS_DIR%
- cd %SPIRV_TOOLS_DIR%
- git clone https://github.com/KhronosGroup/SPIRV-Tools.git .
- git checkout %SPIRV_TOOLS_REVISION%
- if not exist %SPIRV_TOOLS_DIR%\source (
- echo spirv-tools source download failed!
- set errorCode=1
- )
-goto:eof
-
-:update_spirv-tools
- echo.
- echo Updating %SPIRV_TOOLS_DIR%
- cd %SPIRV_TOOLS_DIR%
- git fetch --all
- git checkout %SPIRV_TOOLS_REVISION%
- if not exist %SPIRV_TOOLS_DIR%\source (
- echo spirv-tools source update failed!
- set errorCode=1
- )
-goto:eof
-
-:create_spirv-headers
- echo.
- echo Creating local spirv-headers repository %SPIRV_HEADERS_DIR%
- if not exist "%SPIRV_HEADERS_DIR%\" mkdir %SPIRV_HEADERS_DIR%
- cd %SPIRV_HEADERS_DIR%
- git clone https://github.com/KhronosGroup/SPIRV-Headers.git .
- git checkout %SPIRV_HEADERS_REVISION%
- if not exist %SPIRV_HEADERS_DIR%\include (
- echo spirv-headers source download failed!
- set errorCode=1
- )
-goto:eof
-
-:update_spirv-headers
- echo.
- echo Updating %SPIRV_HEADERS_DIR%
- cd %SPIRV_HEADERS_DIR%
- git fetch --all
- git checkout %SPIRV_HEADERS_REVISION%
- if not exist %SPIRV_HEADERS_DIR%\include (
- echo spirv-headers source update failed!
- set errorCode=1
- )
-goto:eof
-
-:create_shaderc
- echo.
- echo Creating local shaderc repository %SHADERC_DIR%
- if not exist "%SHADERC_DIR%\" mkdir %SHADERC_DIR%
- cd %SHADERC_DIR%
- git clone https://github.com/google/shaderc.git .
- git checkout %SHADERC_REVISION%
- if not exist %SHADERC_DIR%\libshaderc (
- echo shaderc source download failed!
- set errorCode=1
- )
-goto:eof
-
-:update_shaderc
- echo.
- echo Updating %SHADERC_DIR%
- cd %SHADERC_DIR%
- git fetch --all
- git checkout %SHADERC_REVISION%
- if not exist %SHADERC_DIR%\libshaderc (
- echo shaderc source update failed!
- set errorCode=1
- )
-goto:eof
-
:build_shaderc
echo.
echo Building %SHADERC_DIR%
@@ -329,53 +103,3 @@ goto:eof
set errorCode=1
)
goto:eof
-
-:create_vulkan-headers
- echo.
- echo Creating local vulkan-headers repository %VULKAN_HEADERS_DIR%
- if not exist "%VULKAN_HEADERS_DIR%\" mkdir %VULKAN_HEADERS_DIR%
- cd %VULKAN_HEADERS_DIR%
- git clone https://github.com/KhronosGroup/Vulkan-Headers.git .
- git checkout %VULKAN_HEADERS_REVISION%
- if not exist %VULKAN_HEADERS_DIR%\registry (
- echo vulkan-headers source download failed!
- set errorCode=1
- )
-goto:eof
-
-:update_vulkan-headers
- echo.
- echo Updating %VULKAN_HEADERS_DIR%
- cd %VULKAN_HEADERS_DIR%
- git fetch --all
- git checkout %VULKAN_HEADERS_REVISION%
- if not exist %VULKAN_HEADERS_DIR%\registry (
- echo vulkan-headers source update failed!
- set errorCode=1
- )
-goto:eof
-
-:create_vulkan-tools
- echo.
- echo Creating local vulkan-tools repository %VULKAN_TOOLS_DIR%
- if not exist "%VULKAN_TOOLS_DIR%\" mkdir %VULKAN_TOOLS_DIR%
- cd %VULKAN_TOOLS_DIR%
- git clone https://github.com/KhronosGroup/Vulkan-Tools.git .
- git checkout %VULKAN_TOOLS_REVISION%
- if not exist %VULKAN_TOOLS_DIR%\common (
- echo vulkan-tools source download failed!
- set errorCode=1
- )
-goto:eof
-
-:update_vulkan-tools
- echo.
- echo Updating %VULKAN_TOOLS_DIR%
- cd %VULKAN_TOOLS_DIR%
- git fetch --all
- git checkout %VULKAN_TOOLS_REVISION%
- if not exist %VULKAN_TOOLS_DIR%\common (
- echo vulkan-tools source update failed!
- set errorCode=1
- )
-goto:eof
diff --git a/build-android/update_external_sources_android.sh b/build-android/update_external_sources_android.sh
index b29f83508..fe39a9988 100755
--- a/build-android/update_external_sources_android.sh
+++ b/build-android/update_external_sources_android.sh
@@ -22,34 +22,6 @@ ANDROIDBUILDDIR=$PWD
BUILDDIR=$ANDROIDBUILDDIR
BASEDIR=$BUILDDIR/third_party
-GLSLANG_REVISION=$(cat $ANDROIDBUILDDIR/glslang_revision_android)
-SPIRV_TOOLS_REVISION=$(cat $ANDROIDBUILDDIR/spirv-tools_revision_android)
-SPIRV_HEADERS_REVISION=$(cat $ANDROIDBUILDDIR/spirv-headers_revision_android)
-SHADERC_REVISION=$(cat $ANDROIDBUILDDIR/shaderc_revision_android)
-VULKAN_TOOLS_REVISION=$(cat $ANDROIDBUILDDIR/vulkan-tools_revision_android)
-VULKAN_HEADERS_REVISION=$(cat $ANDROIDBUILDDIR/vulkan-headers_revision_android)
-
-echo "GLSLANG_REVISION=$GLSLANG_REVISION"
-echo "SPIRV_TOOLS_REVISION=$SPIRV_TOOLS_REVISION"
-echo "SPIRV_HEADERS_REVISION=$SPIRV_HEADERS_REVISION"
-echo "SHADERC_REVISION=$SHADERC_REVISION"
-echo "VULKAN_TOOLS_REVISION=$VULKAN_TOOLS_REVISION"
-echo "VULKAN_HEADERS_REVISION=$VULKAN_HEADERS_REVISION"
-
-GLSLANG_URL=$(cat $ANDROIDBUILDDIR/glslang_url_android)
-SPIRV_TOOLS_URL=$(cat $ANDROIDBUILDDIR/spirv-tools_url_android)
-SPIRV_HEADERS_URL=$(cat $ANDROIDBUILDDIR/spirv-headers_url_android)
-SHADERC_URL=$(cat $ANDROIDBUILDDIR/shaderc_url_android)
-VULKAN_TOOLS_URL=$(cat $ANDROIDBUILDDIR/vulkan-tools_url_android)
-VULKAN_HEADERS_URL=$(cat $ANDROIDBUILDDIR/vulkan-headers_url_android)
-
-echo "GLSLANG_URL=$GLSLANG_URL"
-echo "SPIRV_TOOL_URLS_=$SPIRV_TOOLS_URL"
-echo "SPIRV_HEADERS_URL=$SPIRV_HEADERS_URL"
-echo "SHADERC_URL=$SHADERC_URL"
-echo "VULKAN_TOOLS_URL=$VULKAN_TOOLS_URL"
-echo "VULKAN_HEADERS_URL=$VULKAN_HEADERS_URL"
-
if [[ $(uname) == "Linux" ]]; then
cores="$(nproc || echo 4)"
elif [[ $(uname) == "Darwin" ]]; then
@@ -96,96 +68,15 @@ then
echo No abi provided, so building for all supported abis.
fi
+
+
+
echo no-build=$nobuild
if [[ $nobuild ]]
then
echo Skipping build.
fi
-function create_glslang () {
- rm -rf $BASEDIR/shaderc/third_party/glslang
- echo "Creating local glslang repository ($BASEDIR/glslang)."
- mkdir -p $BASEDIR/shaderc/third_party/glslang
- cd $BASEDIR/shaderc/third_party/glslang
- git clone $GLSLANG_URL .
- git checkout $GLSLANG_REVISION
-}
-
-function update_glslang () {
- echo "Updating $BASEDIR/shaderc/third_party/glslang"
- cd $BASEDIR/shaderc/third_party/glslang
- if [[ $(git config --get remote.origin.url) != $GLSLANG_URL ]]; then
- echo "glslang URL mismatch, recreating local repo"
- create_glslang
- return
- fi
- git fetch --all
- git checkout $GLSLANG_REVISION
-}
-
-function create_spirv-tools () {
- rm -rf $BASEDIR/shaderc/third_party/spirv-tools
- echo "Creating local spirv-tools repository ($BASEDIR/shaderc/third_party/spirv-tools)."
- mkdir -p $BASEDIR/shaderc/third_party/spirv-tools
- cd $BASEDIR/shaderc/third_party/spirv-tools
- git clone $SPIRV_TOOLS_URL .
- git checkout $SPIRV_TOOLS_REVISION
-}
-
-function update_spirv-tools () {
- echo "Updating $BASEDIR/shaderc/third_party/spirv-tools"
- cd $BASEDIR/shaderc/third_party/spirv-tools
- if [[ $(git config --get remote.origin.url) != $SPIRV_TOOLS_URL ]]; then
- echo "spirv-tools URL mismatch, recreating local repo"
- create_spirv-tools
- return
- fi
- git fetch --all
- git checkout $SPIRV_TOOLS_REVISION
-}
-
-function create_spirv-headers () {
- rm -rf $BASEDIR/shaderc/third_party/spirv-tools/external/spirv-headers
- echo "Creating local spirv-headers repository ($BASEDIR/shaderc/third_party/spirv-tools/external/spirv-headers)."
- mkdir -p $BASEDIR/shaderc/third_party/spirv-tools/external/spirv-headers
- cd $BASEDIR/shaderc/third_party/spirv-tools/external/spirv-headers
- git clone $SPIRV_HEADERS_URL .
- git checkout $SPIRV_HEADERS_REVISION
-}
-
-function update_spirv-headers () {
- echo "Updating $BASEDIR/shaderc/third_party/spirv-tools/external/spirv-headers"
- cd $BASEDIR/shaderc/third_party/spirv-tools/external/spirv-headers
- if [[ $(git config --get remote.origin.url) != $SPIRV_HEADERS_URL ]]; then
- echo "spirv-headers URL mismatch, recreating local repo"
- create_spirv-headers
- return
- fi
- git fetch --all
- git checkout $SPIRV_HEADERS_REVISION
-}
-
-function create_shaderc () {
- rm -rf $BASEDIR/shaderc
- echo "Creating local shaderc repository ($BASEDIR/shaderc)."
- mkdir -p $BASEDIR/shaderc
- cd $BASEDIR/shaderc
- git clone $SHADERC_URL .
- git checkout $SHADERC_REVISION
-}
-
-function update_shaderc () {
- echo "Updating $BASEDIR/shaderc"
- cd $BASEDIR/shaderc
- if [[ $(git config --get remote.origin.url) != $SHADERC_URL ]]; then
- echo "shaderc URL mismatch, recreating local repo"
- create_shaderc
- return
- fi
- git fetch --all
- git checkout $SHADERC_REVISION
-}
-
function build_shaderc () {
echo "Building $BASEDIR/shaderc"
cd $BASEDIR/shaderc/android_test
@@ -196,77 +87,9 @@ function build_shaderc () {
fi
}
-function create_vulkan-headers () {
- rm -rf $BASEDIR/Vulkan-Headers
- echo "Creating local Vulkan-Headers repository ($BASEDIR/Vulkan-Headers)."
- mkdir -p $BASEDIR/Vulkan-Headers
- cd $BASEDIR/Vulkan-Headers
- git clone $VULKAN_HEADERS_URL .
- git checkout $VULKAN_HEADERS_REVISION
-}
-
-function update_vulkan-headers () {
- echo "Updating $BASEDIR/Vulkan-Headers"
- cd $BASEDIR/Vulkan-Headers
- if [[ $(git config --get remote.origin.url) != $VULKAN_HEADERS_URL ]]; then
- echo "Vulkan-Headers URL mismatch, recreating local repo"
- create_vulkan-headers
- return
- fi
- git fetch --all
- git checkout $VULKAN_HEADERS_REVISION
-}
-
-function create_vulkan-tools () {
- rm -rf $BASEDIR/Vulkan-Tools
- echo "Creating local Vulkan-Tools repository ($BASEDIR/Vulkan-Tools)."
- mkdir -p $BASEDIR/Vulkan-Tools
- cd $BASEDIR/Vulkan-Tools
- git clone $VULKAN_TOOLS_URL .
- git checkout $VULKAN_TOOLS_REVISION
-}
-
-function update_vulkan-tools () {
- echo "Updating $BASEDIR/Vulkan-Tools"
- cd $BASEDIR/Vulkan-Tools
- if [[ $(git config --get remote.origin.url) != $VULKAN_TOOLS_URL ]]; then
- echo "Vulkan-Tools URL mismatch, recreating local repo"
- create_vulkan-tools
- return
- fi
- git fetch --all
- git checkout $VULKAN_TOOLS_REVISION
-}
-
-if [ ! -d "$BASEDIR/shaderc" -o ! -d "$BASEDIR/shaderc/.git" ]; then
- create_shaderc
-fi
-update_shaderc
-
-if [ ! -d "$BASEDIR/shaderc/third_party/glslang" -o ! -d "$BASEDIR/shaderc/third_party/glslang/.git" -o -d "$BASEDIR/shaderc/third_party/glslang/.svn" ]; then
- create_glslang
-fi
-update_glslang
-
-if [ ! -d "$BASEDIR/shaderc/third_party/spirv-tools" -o ! -d "$BASEDIR/shaderc/third_party/spirv-tools/.git" ]; then
- create_spirv-tools
-fi
-update_spirv-tools
-
-if [ ! -d "$BASEDIR/shaderc/third_party/spirv-tools/external/spirv-headers" -o ! -d "$BASEDIR/shaderc/third_party/spirv-tools/external/spirv-headers/.git" ]; then
- create_spirv-headers
-fi
-update_spirv-headers
-
-if [ ! -d "$BASEDIR/Vulkan-Headers" -o ! -d "$BASEDIR/Vulkan-Headers/.git" ]; then
- create_vulkan-headers
-fi
-update_vulkan-headers
-
-if [ ! -d "$BASEDIR/Vulkan-Tools" -o ! -d "$BASEDIR/Vulkan-Tools/.git" ]; then
- create_vulkan-tools
-fi
-update_vulkan-tools
+# Pull down or update external dependencies
+echo "Update external dependencies based on the $ANDROIDBUILDDIR/known_good.json file"
+python3 ../scripts/update_deps.py --no-build --dir $BASEDIR --known_good_dir $BUILDDIR
if [[ -z $nobuild ]]
then