blob: 5c03fbe15fdf255adc041d92f8d53efea728494c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
@echo off
rem file : etc/environments/default-clang.bat
rem copyright : Copyright (c) 2014-2019 Code Synthesis Ltd
rem license : TBC; see accompanying LICENSE file
rem
rem Environment setup script for C/C++ compilation with Clang targeting
rem MSVC.
rem
rem NOTE: don't forget to adjust the target mode selection below.
rem
set "C=clang"
set "CXX=clang++"
rem If the MSVC and VCVARS variables are set, then set up the environment
rem via the MSVC command prompt rather than letting Clang find some default
rem (note that in the latter case, clang++ should be in PATH).
rem
rem Note also that MSVC_VER must always be set.
rem set "MSVC=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community"
rem set "MSVC_VER=14.1"
set "MSVC=C:\Program Files (x86)\Microsoft Visual Studio\2019\Community"
set "MSVC_VER=14.2"
rem set "MSVC="
set "VCVARS32=VC\Auxiliary\Build\vcvarsamd64_x86.bat"
set "VCVARS64=VC\Auxiliary\Build\vcvars64.bat"
rem %1 - target
rem %2 - bbot executable
rem %3+ - bbot options
setlocal EnableExtensions EnableDelayedExpansion
rem Based on target determine what we are building.
rem
set "VCVARS="
set "MODE="
if "_%1_" == "_x86_64-microsoft-win32-msvc%MSVC_VER%_" (
set "VCVARS=%VCVARS64%"
rem set "MODE=config.cc.coptions+=-m64"
) else (
if "_%1_" == "_i686-microsoft-win32-msvc%MSVC_VER%_" (
set "VCVARS=%VCVARS32%"
set "MODE=config.cc.coptions+=-m32"
) else (
if "_%1_" == "_i386-microsoft-win32-msvc%MSVC_VER%_" (
set "VCVARS=%VCVARS32%"
set "MODE=config.cc.coptions+=-m32"
) else (
echo error: unknown target %1
goto error
)
)
)
if not "_%MSVC%_" == "__" (
if not "_%VCVARS%_" == "__" (
call "%MSVC%\%VCVARS%"
if errorlevel 1 goto error
)
)
%2 %3 %4 %5 %6 %7 %8 %9 cc config.c=%C% config.cxx=%CXX% %MODE%
if errorlevel 1 goto error
goto end
:error
@echo off
endlocal
exit /b 1
:end
endlocal
|