@echo off 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. 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 SHADERC_DIR=%BASE_DIR%\shaderc 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 ) :main if %errorCode% neq 0 (goto:error) echo Creating and/or updating glslang, spirv-tools, spirv-headers, shaderc, vulkan-headers, vulkan-tools in %BASE_DIR% set build-shaderc=1 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 %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 ======== // :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