diff options
author | Mark Lobodzinski <mark@lunarg.com> | 2018-07-19 11:47:03 -0600 |
---|---|---|
committer | Mark Lobodzinski <mark@lunarg.com> | 2018-07-20 14:05:23 -0600 |
commit | 666dfcc5891500bb01dc6da37d91119d27ada52f (patch) | |
tree | cc083102657fbea51bcccf930f80ce09b838637f | |
parent | 4041d8f843d4764144e02390ec9d57079a998108 (diff) | |
download | vulkan-validation-layers-666dfcc5891500bb01dc6da37d91119d27ada52f.tar.gz |
android: Use known_good.json for ext dependencies
Updated shell script and batch file.
-rwxr-xr-x | build-android/update_external_sources_android.bat | 284 | ||||
-rwxr-xr-x | build-android/update_external_sources_android.sh | 189 |
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 |