1@echo off
2rem Setup MCL and echo the environment
3rem Usage: eval `cmd.exe /c SetupWSLcross.bat x64`
4
5IF "%~1"=="x86" GOTO search
6IF "%~1"=="x64" GOTO search
7
8GOTO badarg
9
10:search
11IF EXIST "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvarsall.bat". (
12   call "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvarsall.bat" %~1 > nul
13   goto continue
14)
15
16IF EXIST "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvarsall.bat". (
17   call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvarsall.bat" %~1 > nul
18   goto continue
19)
20
21IF EXIST "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat". (
22   call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" %~1 > nul
23   goto continue
24)
25
26IF EXIST "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\vcvarsall.bat". (
27   call "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\VC\Auxiliary\Build\vcvarsall.bat" %~1 > nul
28   goto continue
29)
30
31IF EXIST "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat". (
32   call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" %~1 > nul
33   goto continue
34)
35
36IF EXIST "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat". (
37   call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" %~1 > nul
38   goto continue
39)
40
41GOTO no_vcvars
42
43:continue
44
45FOR /F "delims==" %%F IN ('where cl.exe') DO SET _cl_exec_=%%F
46FOR %%F IN ("%_cl_exec_%") DO SET CL_PATH=%%~dpF
47
48FOR /F "delims==" %%F IN ('where rc.exe') DO SET _rc_exec_=%%F
49FOR %%F IN ("%_rc_exec_%") DO SET RC_PATH=%%~dpF
50
51rem Order is important for some unknown reason
52set WSLENV=VCToolsRedistDir/up:CL_PATH/up:RC_PATH/up:LIBPATH/ul:LIB/ul:INCLUDE/ul
53wsl.exe echo INCLUDE=\"$INCLUDE\";
54wsl.exe echo LIB=\"$LIB\";
55wsl.exe echo LIBPATH=\"$LIBPATH\";
56wsl.exe echo VCToolsRedistDir=\"$VCToolsRedistDir\";
57wsl.exe echo PATH=\"$CL_PATH\":\"$RC_PATH\":'$PATH';
58wsl.exe echo WSLENV='$WSLENV:LIBPATH/l:LIB/l:INCLUDE/l';
59rem wsl.exe echo export 'INCLUDE LIB LIBPATH VCToolsRedistDir WSLENV PATH';
60wsl.exe echo "# Eval this file eval \`cmd.exe /c SetupWSLcross.bat\`"
61
62exit
63
64:badarg
65echo "Bad TARGET or not specified: %~1 expected x86 or x64"
66exit
67
68:no_vcvars
69echo "Error: SetupWSLcross.bat: Could not find vcvarsall.bat"
70echo "   edit erts/etc/win32/wsl_tools/SetupWSLcross.bat"
71exit
72