|
1 | | -set MY_DIR=%~dp0 |
2 | | -set HOST=windows |
3 | | -set BUILD_DIR=%MY_DIR%\xa-build |
4 | | -set ARTIFACTS_DIR=%MY_DIR%\artifacts |
| 1 | +call build-common.cmd |
| 2 | + |
5 | 3 | set SOURCE_DIR=%MY_DIR%external\llvm\llvm |
6 | 4 |
|
7 | 5 | set PROJECTS=lld |
8 | 6 | set TARGETS=X86;ARM;AArch64 |
9 | 7 | set BINARIES=llvm-mc.exe llvm-strip.exe lld.exe llc.exe |
10 | 8 | set PDBS=llvm-mc.pdb llvm-strip.pdb lld.pdb llc.pdb |
11 | 9 |
|
12 | | -set HOST_BUILD_DIR=%BUILD_DIR%\%HOST% |
| 10 | +set HOST_BUILD_DIR=%BUILD_DIR%\%HOST%\llvm |
13 | 11 | set HOST_BIN_DIR=%HOST_BUILD_DIR%\Release\bin |
14 | | -set HOST_ARTIFACTS_DIR=%ARTIFACTS_DIR%\%HOST% |
| 12 | + |
15 | 13 | set LLVM_VERSION_FILE=%HOST_ARTIFACTS_DIR%\llvm-version.txt |
16 | 14 | set CXXFLAGS="/Qspectre /sdl /guard:cf" |
17 | 15 |
|
18 | 16 | if exist %HOST_BUILD_DIR% (rmdir /S /Q %HOST_BUILD_DIR%) |
19 | 17 | mkdir %HOST_BUILD_DIR% |
20 | 18 |
|
21 | | -if exist %HOST_ARTIFACTS_DIR% (rmdir /S /Q %HOST_ARTIFACTS_DIR%) |
22 | | -mkdir %HOST_ARTIFACTS_DIR%\bin |
23 | | - |
24 | 19 | cd %HOST_BUILD_DIR% |
25 | 20 |
|
26 | 21 | cmake --version |
27 | 22 | cmake --help |
28 | 23 |
|
29 | | -cmake -G "Visual Studio 17 2022" -A x64 ^ |
| 24 | +cmake -G "%CMAKE_VS_GENERATOR%" -A x64 ^ |
30 | 25 | -DCMAKE_EXE_LINKER_FLAGS_INIT="/PROFILE /DYNAMICBASE /CETCOMPAT /guard:cf" ^ |
31 | 26 | -DBUILD_SHARED_LIBS=OFF ^ |
32 | 27 | -DCMAKE_BUILD_TYPE=Release ^ |
33 | | - -DCMAKE_MSVC_RUNTIME_LIBRARY="MultiThreaded" ^ |
| 28 | + -DCMAKE_MSVC_RUNTIME_LIBRARY="%MSVC_RUNTIME_LIBRARY%" ^ |
34 | 29 | -DLLVM_BUILD_BENCHMARKS=OFF ^ |
35 | 30 | -DLLVM_BUILD_DOCS=OFF ^ |
36 | 31 | -DLLVM_BUILD_EXAMPLES=OFF ^ |
@@ -59,19 +54,33 @@ cmake -G "Visual Studio 17 2022" -A x64 ^ |
59 | 54 | -DLLVM_USE_CRT_MINSIZEREL=MT ^ |
60 | 55 | -DLLVM_USE_CRT_RELEASE=MT ^ |
61 | 56 | %SOURCE_DIR% |
| 57 | +IF %ERRORLEVEL% GEQ 1 EXIT /B 1 |
62 | 58 |
|
63 | 59 | msbuild /p:Configuration=Release /m tools\llvm-mc\llvm-mc.vcxproj |
| 60 | +IF %ERRORLEVEL% GEQ 1 EXIT /B 2 |
| 61 | + |
64 | 62 | msbuild /p:Configuration=Release /m tools\llvm-objcopy\llvm-objcopy.vcxproj |
| 63 | +IF %ERRORLEVEL% GEQ 1 EXIT /B 3 |
| 64 | + |
65 | 65 | msbuild /p:Configuration=Release /m tools\lld\tools\lld\lld.vcxproj |
| 66 | +IF %ERRORLEVEL% GEQ 1 EXIT /B 4 |
| 67 | + |
66 | 68 | msbuild /p:Configuration=Release /m tools\llc\llc.vcxproj |
| 69 | +IF %ERRORLEVEL% GEQ 1 EXIT /B 5 |
67 | 70 |
|
68 | 71 | move %HOST_BIN_DIR%\llvm-objcopy.exe %HOST_BIN_DIR%\llvm-strip.exe |
| 72 | +IF %ERRORLEVEL% GEQ 1 EXIT /B 6 |
| 73 | + |
69 | 74 | move %HOST_BIN_DIR%\llvm-objcopy.pdb %HOST_BIN_DIR%\llvm-strip.pdb |
| 75 | +IF %ERRORLEVEL% GEQ 1 EXIT /B 7 |
| 76 | + |
70 | 77 | for %%b in (%BINARIES%) DO ( |
71 | | - copy %HOST_BIN_DIR%\%%b %HOST_ARTIFACTS_DIR%\bin\%%b |
| 78 | + copy %HOST_BIN_DIR%\%%b %HOST_ARTIFACTS_BIN_DIR%\%%b |
| 79 | + IF %ERRORLEVEL% GEQ 1 EXIT /B 8 |
72 | 80 | ) |
73 | 81 | for %%p in (%PDBS%) DO ( |
74 | | - copy %HOST_BIN_DIR%\%%p %HOST_ARTIFACTS_DIR%\bin\%%p |
| 82 | + copy %HOST_BIN_DIR%\%%p %HOST_ARTIFACTS_BIN_DIR%\%%p |
| 83 | + IF %ERRORLEVEL% GEQ 1 EXIT /B 9 |
75 | 84 | ) |
76 | 85 |
|
77 | 86 | cd %MY_DIR% |
0 commit comments