summaryrefslogtreecommitdiff
path: root/chromium/third_party/angle/third_party/vulkan-tools/src/build-android/update_external_sources_android.bat
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/angle/third_party/vulkan-tools/src/build-android/update_external_sources_android.bat')
-rwxr-xr-xchromium/third_party/angle/third_party/vulkan-tools/src/build-android/update_external_sources_android.bat335
1 files changed, 335 insertions, 0 deletions
diff --git a/chromium/third_party/angle/third_party/vulkan-tools/src/build-android/update_external_sources_android.bat b/chromium/third_party/angle/third_party/vulkan-tools/src/build-android/update_external_sources_android.bat
new file mode 100755
index 00000000000..96823a330f2
--- /dev/null
+++ b/chromium/third_party/angle/third_party/vulkan-tools/src/build-android/update_external_sources_android.bat
@@ -0,0 +1,335 @@
+@echo off
+REM Update source for glslang, spirv-tools, shaderc, vulkan-headers
+
+REM
+REM Copyright 2016 The Android Open Source Project
+REM Copyright (C) 2015 Valve Corporation
+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.
+REM You may obtain a copy of the License at
+REM
+REM http://www.apache.org/licenses/LICENSE-2.0
+REM
+REM Unless required by applicable law or agreed to in writing, software
+REM distributed under the License is distributed on an "AS IS" BASIS,
+REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+REM See the License for the specific language governing permissions and
+REM limitations under the License.
+REM
+
+setlocal EnableDelayedExpansion
+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_HEADERS_DIR=%BASE_DIR%\Vulkan-Headers
+
+for %%X in (where.exe) do (set FOUND=%%~$PATH:X)
+if not defined FOUND (
+ echo Dependency check failed:
+ echo where.exe not found
+ echo This script requires Windows Vista or later, which includes where.exe.
+ set errorCode=1
+)
+
+where /q git.exe
+if %ERRORLEVEL% equ 1 (
+ echo Dependency check failed:
+ echo git.exe not found
+ echo Git for Windows can be downloaded here: https://git-scm.com/download/win
+ echo Install and ensure git.exe makes it into your PATH
+ set errorCode=1
+)
+
+where /q ndk-build.cmd
+if %ERRORLEVEL% equ 1 (
+ echo Dependency check failed:
+ echo ndk-build.cmd not found
+ echo Android NDK can be downloaded here: http://developer.android.com/ndk/guides/setup.html
+ echo Install and ensure ndk-build.cmd makes it into your PATH
+ 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
+)
+
+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
+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 Creating and/or updating glslang, spirv-tools, spirv-headers, shaderc, vulkan-headers in %BASE_DIR%
+
+set sync-glslang=0
+set sync-spirv-tools=0
+set sync-spirv-headers=0
+set sync-shaderc=0
+set sync-vulkan-headers=1
+set build-shaderc=0
+
+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)
+)
+
+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 %build-shaderc% equ 1 (
+ call:build_shaderc
+ if %errorCode% neq 0 (goto:error)
+)
+
+echo.
+echo Exiting
+goto:finish
+
+:error
+echo.
+echo Halting due to error
+goto:finish
+
+:finish
+if not "%cd%\" == "%BUILD_DIR%" ( cd %BUILD_DIR% )
+endlocal
+REM This needs a fix to return error, something like exit %errorCode%
+REM Right now it is returning 0
+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%
+ cd %SHADERC_DIR%\android_test
+ echo Building shaderc with Android NDK
+ call ndk-build NDK_APPLICATION_MK=../../../jni/shaderc/Application.mk THIRD_PARTY_PATH=../third_party -j 4
+ REM Check for existence of one lib, even though we should check for all results
+ if not exist %SHADERC_DIR%\android_test\obj\local\x86\libshaderc.a (
+ echo.
+ echo shaderc build failed!
+ 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