compiler: bootstrap with MSVC
Add make_msvc.bat to bootstrap with msvc and test it with travispull/1606/head
parent
a0c8fa5bbc
commit
f52c68a510
|
@ -39,6 +39,8 @@ script:
|
||||||
- |
|
- |
|
||||||
if [[ "${TRAVIS_OS_NAME}" == "windows" ]]; then
|
if [[ "${TRAVIS_OS_NAME}" == "windows" ]]; then
|
||||||
choco install openssl.light
|
choco install openssl.light
|
||||||
|
echo "Testing msvc bootstrapping"
|
||||||
|
./make_msvc.bat
|
||||||
echo "Running make_tests.bat..."
|
echo "Running make_tests.bat..."
|
||||||
./make_tests.bat
|
./make_tests.bat
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -0,0 +1,48 @@
|
||||||
|
@echo off
|
||||||
|
|
||||||
|
set exiterror=0
|
||||||
|
|
||||||
|
echo finding an MSVC installation
|
||||||
|
|
||||||
|
for /f "usebackq tokens=*" %%i in (`"%ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe" -latest -products * -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property installationPath`) do (
|
||||||
|
set InstallDir=%%i
|
||||||
|
)
|
||||||
|
|
||||||
|
REM set up a devcmd
|
||||||
|
|
||||||
|
if exist "%InstallDir%\Common7\Tools\vsdevcmd.bat" (
|
||||||
|
call "%InstallDir%\Common7\Tools\vsdevcmd.bat" -arch=x64 -host_arch=x64
|
||||||
|
) else (
|
||||||
|
goto :nomsvc
|
||||||
|
)
|
||||||
|
|
||||||
|
echo fetch v.c
|
||||||
|
curl -O https://raw.githubusercontent.com/vlang/vc/master/v.c
|
||||||
|
|
||||||
|
echo build v.c with msvc
|
||||||
|
cl.exe /w /volatile:ms /D_UNICODE /DUNICODE /Fo.v.c.obj /O2 /MD v.c user32.lib kernel32.lib advapi32.lib shell32.lib /link /NOLOGO /OUT:v2.exe /INCREMENTAL:NO
|
||||||
|
|
||||||
|
if %ERRORLEVEL% GEQ 1 (
|
||||||
|
goto :compileerror
|
||||||
|
)
|
||||||
|
|
||||||
|
echo rebuild from source
|
||||||
|
v2.exe -o v.exe compiler
|
||||||
|
|
||||||
|
del .v.c.obj
|
||||||
|
del v.c
|
||||||
|
del v2.exe
|
||||||
|
|
||||||
|
exit
|
||||||
|
|
||||||
|
:nomsvc
|
||||||
|
echo Cannot find an msvc installation
|
||||||
|
goto :error
|
||||||
|
|
||||||
|
:compileerror
|
||||||
|
echo Failed to compile - Create an issue at 'https://github.com/vlang' and tag '@emily33901'!
|
||||||
|
goto :error
|
||||||
|
|
||||||
|
:error
|
||||||
|
echo Exiting from error
|
||||||
|
exit /b 1
|
|
@ -1,5 +1,10 @@
|
||||||
@echo off
|
@echo off
|
||||||
|
|
||||||
|
echo Cleanup
|
||||||
|
del v.exe
|
||||||
|
del v.c
|
||||||
|
del v2.exe
|
||||||
|
|
||||||
echo fetch v.c
|
echo fetch v.c
|
||||||
curl -O https://raw.githubusercontent.com/vlang/vc/master/v.c
|
curl -O https://raw.githubusercontent.com/vlang/vc/master/v.c
|
||||||
if %ERRORLEVEL% NEQ 0 goto :fail
|
if %ERRORLEVEL% NEQ 0 goto :fail
|
||||||
|
@ -13,12 +18,16 @@ echo build v using vc
|
||||||
vc.exe -o v.exe compiler
|
vc.exe -o v.exe compiler
|
||||||
if %ERRORLEVEL% NEQ 0 goto :fail
|
if %ERRORLEVEL% NEQ 0 goto :fail
|
||||||
|
|
||||||
echo build v.msvc using v
|
echo build vc.msvc using vc
|
||||||
v.exe -os msvc -o v.msvc.exe compiler
|
vc.exe -os msvc -o v.msvc.exe compiler
|
||||||
if %ERRORLEVEL% NEQ 0 goto :fail
|
if %ERRORLEVEL% NEQ 0 goto :fail
|
||||||
|
|
||||||
echo build v.msvc.2 using v.msvc
|
echo build v.msvc.3 using v
|
||||||
v.msvc.exe -os msvc -o v.msvc.2.exe compiler
|
v.exe -os msvc -o v.msvc.2.exe compiler
|
||||||
|
if %ERRORLEVEL% NEQ 0 goto :fail
|
||||||
|
|
||||||
|
echo build v.msvc.3 using v.msvc
|
||||||
|
v.msvc.exe -os msvc -o v.msvc.3.exe compiler
|
||||||
if %ERRORLEVEL% NEQ 0 goto :fail
|
if %ERRORLEVEL% NEQ 0 goto :fail
|
||||||
|
|
||||||
echo build v.gcc using v.msvc
|
echo build v.gcc using v.msvc
|
||||||
|
|
Loading…
Reference in New Issue