:: Copyright (c) 2011 The Native Client Authors. All rights reserved. | |
:: Use of this source code is governed by a BSD-style license that can be | |
:: found in the LICENSE file. | |
@echo off | |
setlocal | |
set CYGWIN_VERSION=cygwin_1_7_24-1_0 | |
set HERMETIC_CYGWIN=hermetic_%CYGWIN_VERSION% | |
if exist "%~dp0..\cygwin\%CYGWIN_VERSION%.installed" goto :skip_cygwin_install | |
if exist "%~dp0..\toolchain_build\src\binutils" rmdir /s /q "%~dp0..\toolchain_build\src\binutils" | |
if exist "%~dp0..\toolchain_build\src\clang" rmdir /s /q "%~dp0..\toolchain_build\src\clang" | |
if exist "%~dp0..\toolchain_build\src\compiler-rt" rmdir /s /q "%~dp0..\toolchain_build\src\compiler-rt" | |
if exist "%~dp0..\toolchain_build\src\dummydir" rmdir /s /q "%~dp0..\toolchain_build\src\dummydir" | |
if exist "%~dp0..\toolchain_build\src\pnacl-gcc" rmdir /s /q "%~dp0..\toolchain_build\src\pnacl-gcc" | |
if exist "%~dp0..\toolchain_build\src\llvm" rmdir /s /q "%~dp0..\toolchain_build\src\llvm" | |
if exist "%~dp0..\toolchain_build\src\llvm-test-suite" rmdir /s /q "%~dp0..\toolchain_build\src\llvm-test-suite" | |
if exist "%~dp0..\tools\BUILD\.gcc-extras-version" del "%~dp0..\tools\BUILD\.gcc-extras-version" | |
if exist "%~dp0..\tools\BACKPORTS\binutils" rmdir /s /q "%~dp0..\tools\BACKPORTS\binutils" | |
if exist "%~dp0..\tools\BACKPORTS\gcc" rmdir /s /q "%~dp0..\tools\BACKPORTS\gcc" | |
if exist "%~dp0..\tools\BACKPORTS\gdb" rmdir /s /q "%~dp0..\tools\BACKPORTS\gdb" | |
if exist "%~dp0..\tools\BACKPORTS\glibc" rmdir /s /q "%~dp0..\tools\BACKPORTS\glibc" | |
if exist "%~dp0..\tools\BACKPORTS\linux-headers-for-nacl" rmdir /s /q "%~dp0..\tools\BACKPORTS\linux-headers-for-nacl" | |
if exist "%~dp0..\tools\BACKPORTS\newlib" rmdir /s /q "%~dp0..\tools\BACKPORTS\newlib" | |
if not exist "%~dp0..\cygwin" goto :dont_remove_cygwin | |
rmdir /s /q "%~dp0..\cygwin" | |
if errorlevel 1 goto :rmdir_fail | |
mkdir "%~dp0..\cygwin" | |
:dont_remove_cygwin | |
cscript //nologo //e:jscript "%~dp0get_file.js" https://commondatastorage.googleapis.com/nativeclient-mirror/nacl/cygwin_mirror/%HERMETIC_CYGWIN%.exe "%~dp0%HERMETIC_CYGWIN%.exe" | |
if errorlevel 1 goto :download_fail | |
:download_success | |
start /WAIT %~dp0%HERMETIC_CYGWIN%.exe /DEVEL /S /D=%~dp0..\cygwin | |
if errorlevel 1 goto :install_fail | |
set CYGWIN=nodosfilewarning | |
"%~dp0..\cygwin\bin\touch" "%~dp0..\cygwin\%CYGWIN_VERSION%.installed" | |
if errorlevel 1 goto :install_fail | |
del /f /q "%~dp0%HERMETIC_CYGWIN%.exe" | |
:skip_cygwin_install | |
endlocal | |
set "PATH=%~dp0..\cygwin\bin;%PATH%" | |
goto :end | |
:rmdir_fail | |
endlocal | |
echo Failed to remove old version of cygwin | |
set ERRORLEVEL=1 | |
goto :end | |
:download_fail | |
:: TODO(bradnelson): Check certs when this issue is resolved. | |
:: http://code.google.com/p/nativeclient/issues/detail?id=2931 | |
c:\cygwin\bin\wget --no-check-certificate https://commondatastorage.googleapis.com/nativeclient-mirror/nacl/cygwin_mirror/%HERMETIC_CYGWIN%.exe -O "%~dp0%HERMETIC_CYGWIN%.exe" | |
if errorlevel 1 goto :wget_fail | |
goto download_success | |
:wget_fail | |
c:\cygwin\bin\wget --no-check-certificate https://commondatastorage.googleapis.com/nativeclient-mirror/nacl/cygwin_mirror/%HERMETIC_CYGWIN%.exe -O "%~dp0%HERMETIC_CYGWIN%.exe" | |
if errorlevel 1 goto :cygwin_wget_fail | |
goto download_success | |
:cygwin_wget_fail | |
endlocal | |
echo Failed to download cygwin | |
set ERRORLEVEL=1 | |
goto :end | |
:install_fail | |
endlocal | |
echo Failed to install cygwin | |
set ERRORLEVEL=1 | |
goto :end | |
:end |