Lines Matching +full:python +full:- +full:version

8 echo used for the releases at https://github.com/llvm/llvm-project/releases

10 echo Usage: build_llvm_release.bat --version ^<version^> [--x86,--x64, --arm64] [--skip-checkout] [--local-python]
13 echo --version: [required] version to build
14 echo --help: display this help
15 echo --x86: build and test x86 variant
16 echo --x64: build and test x64 variant
17 echo --arm64: build and test arm64 variant
18 echo --skip-checkout: use local git checkout instead of downloading src.zip
19 echo --local-python: use installed Python and does not try to use a specific version (3.10)
23 echo Example: build_llvm_release.bat --version 15.0.0 --x86 --x64
30 set version=
35 set skip-checkout=
36 set local-python=
41 if "%version%" == "" (
42 echo --version option is required
49 echo choose one or several variants from: --x86 --x64 --arm64
59 REM Check 7-zip version and/or administrator permissions.
60 for /f "delims=" %%i in ('7z.exe ^| findstr /r "2[1-9].[0-9][0-9]"') do set version_7z=%%i
70 echo Script requires administrator permissions, or a 7-zip version 20.x or older.
71 echo Current version is "%version_7z%"
81 REM Visual Studio 2019, CMake, Ninja, GNUWin32, SWIG, Python 3,
83 REM Perl (for the OpenMP run-time).
86 REM For LLDB, SWIG version 4.1.1 should be used.
98 FOR /F "delims=" %%r IN ('^""%vswhere%" -nologo -latest -products "*" -all -property installationPath^"') DO set vsinstall=%%r
112 set python32_dir=C:\Users\%USERNAME%\AppData\Local\Programs\Python\Python310-32
113 set python64_dir=C:\Users\%USERNAME%\AppData\Local\Programs\Python\Python310
114 set pythonarm64_dir=C:\Users\%USERNAME%\AppData\Local\Programs\Python\Python311-arm64
116 set revision=llvmorg-%version%
117 set package_version=%version%
121 echo Package version: %package_version%
132 if "%skip-checkout%" == "true" (
137 curl -L https://github.com/llvm/llvm-project/archive/%revision%.zip -o src.zip || exit /b 1
139 mv llvm-project-* llvm-project || exit /b 1
140 set llvm_src=%build_dir%\llvm-project
143 curl -O https://gitlab.gnome.org/GNOME/libxml2/-/archive/v2.9.12/libxml2-v2.9.12.tar.gz || exit /b 1
144 tar zxf libxml2-v2.9.12.tar.gz
148 set common_compiler_flags=-DLIBXML_STATIC
150 -DCMAKE_BUILD_TYPE=Release ^
151 -DLLVM_ENABLE_ASSERTIONS=OFF ^
152 -DLLVM_INSTALL_TOOLCHAIN_ONLY=ON ^
153 -DLLVM_TARGETS_TO_BUILD="AArch64;ARM;X86" ^
154 -DLLVM_BUILD_LLVM_C_DYLIB=ON ^
155 -DCMAKE_INSTALL_UCRT_LIBRARIES=ON ^
156 -DPython3_FIND_REGISTRY=NEVER ^
157 -DPACKAGE_VERSION=%package_version% ^
158 -DLLDB_RELOCATABLE_PYTHON=1 ^
159 -DLLDB_EMBED_PYTHON_HOME=OFF ^
160 -DCMAKE_CL_SHOWINCLUDES_PREFIX="Note: including file: " ^
161 -DLLVM_ENABLE_LIBXML2=FORCE_ON ^
162 -DLLDB_ENABLE_LIBXML2=OFF ^
163 -DCLANG_ENABLE_LIBXML2=OFF ^
164 -DCMAKE_C_FLAGS="%common_compiler_flags%" ^
165 -DCMAKE_CXX_FLAGS="%common_compiler_flags%" ^
166 -DLLVM_ENABLE_RPMALLOC=ON ^
167 -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;lld;compiler-rt;lldb;openmp"
174 REM Build the 32-bits and/or 64-bits binaries.
181 :: Build 32-bits binaries.
185 call "%vsdevcmd%" -arch=x86 || exit /b 1
195 -DLLVM_ENABLE_RPMALLOC=OFF ^
196 -DLLDB_TEST_COMPILER=%stage0_bin_dir%/clang.exe ^
197 -DPYTHON_HOME=%PYTHONHOME% ^
198 -DPython3_ROOT_DIR=%PYTHONHOME% ^
199 -DLIBXML2_INCLUDE_DIR=%libxmldir%/include/libxml2 ^
200 -DLIBXML2_LIBRARIES=%libxmldir%/lib/libxml2s.lib
202 cmake -GNinja %cmake_flags% %llvm_src%\llvm || exit /b 1
204 REM ninja check-llvm || ninja check-llvm || ninja check-llvm || exit /b 1
205 REM ninja check-clang || ninja check-clang || ninja check-clang || exit /b 1
206 ninja check-lld || ninja check-lld || ninja check-lld || exit /b 1
207 ninja check-sanitizer || ninja check-sanitizer || ninja check-sanitizer || exit /b 1
208 REM ninja check-clang-tools || ninja check-clang-tools || ninja check-clang-tools || exit /b 1
215 -DCMAKE_C_COMPILER=%stage0_bin_dir%/clang-cl.exe ^
216 -DCMAKE_CXX_COMPILER=%stage0_bin_dir%/clang-cl.exe ^
217 -DCMAKE_LINKER=%stage0_bin_dir%/lld-link.exe ^
218 -DCMAKE_AR=%stage0_bin_dir%/llvm-lib.exe ^
219 -DCMAKE_RC=%stage0_bin_dir%/llvm-windres.exe
224 cmake -GNinja %cmake_flags% %llvm_src%\llvm || exit /b 1
226 REM ninja check-llvm || ninja check-llvm || ninja check-llvm || exit /b 1
227 REM ninja check-clang || ninja check-clang || ninja check-clang || exit /b 1
228 ninja check-lld || ninja check-lld || ninja check-lld || exit /b 1
229 ninja check-sanitizer || ninja check-sanitizer || ninja check-sanitizer || exit /b 1
230 REM ninja check-clang-tools || ninja check-clang-tools || ninja check-clang-tools || exit /b 1
238 :: Build 64-bits binaries.
242 call "%vsdevcmd%" -arch=amd64 || exit /b 1
252 -DLLDB_TEST_COMPILER=%stage0_bin_dir%/clang.exe ^
253 -DPYTHON_HOME=%PYTHONHOME% ^
254 -DPython3_ROOT_DIR=%PYTHONHOME% ^
255 -DLIBXML2_INCLUDE_DIR=%libxmldir%/include/libxml2 ^
256 -DLIBXML2_LIBRARIES=%libxmldir%/lib/libxml2s.lib
258 cmake -GNinja %cmake_flags% %llvm_src%\llvm || exit /b 1
260 ninja check-llvm || ninja check-llvm || ninja check-llvm || exit /b 1
261 ninja check-clang || ninja check-clang || ninja check-clang || exit /b 1
262 ninja check-lld || ninja check-lld || ninja check-lld || exit /b 1
263 ninja check-sanitizer || ninja check-sanitizer || ninja check-sanitizer || exit /b 1
264 ninja check-clang-tools || ninja check-clang-tools || ninja check-clang-tools || exit /b 1
265 ninja check-clangd || ninja check-clangd || ninja check-clangd || exit /b 1
272 -DCMAKE_C_COMPILER=%stage0_bin_dir%/clang-cl.exe ^
273 -DCMAKE_CXX_COMPILER=%stage0_bin_dir%/clang-cl.exe ^
274 -DCMAKE_LINKER=%stage0_bin_dir%/lld-link.exe ^
275 -DCMAKE_AR=%stage0_bin_dir%/llvm-lib.exe ^
276 -DCMAKE_RC=%stage0_bin_dir%/llvm-windres.exe
283 cmake -GNinja %cmake_flags% %cmake_profile_flags% %llvm_src%\llvm || exit /b 1
285 ninja check-llvm || ninja check-llvm || ninja check-llvm || exit /b 1
286 ninja check-clang || ninja check-clang || ninja check-clang || exit /b 1
287 ninja check-lld || ninja check-lld || ninja check-lld || exit /b 1
288 ninja check-sanitizer || ninja check-sanitizer || ninja check-sanitizer || exit /b 1
289 ninja check-clang-tools || ninja check-clang-tools || ninja check-clang-tools || exit /b 1
290 ninja check-clangd || ninja check-clangd || ninja check-clangd || exit /b 1
294 set filename=clang+llvm-%version%-x86_64-pc-windows-msvc
295 cmake -GNinja %cmake_flags% %cmake_profile_flags% -DLLVM_INSTALL_TOOLCHAIN_ONLY=OFF ^
296 -DCMAKE_INSTALL_PREFIX=%build_dir%/%filename% ..\llvm-project\llvm || exit /b 1
299 %build_dir%/%filename%/bin/llvm-config.exe --bindir || exit /b 1
301 7z a -ttar -so %filename%.tar %filename% | 7z a -txz -si %filename%.tar.xz
311 call "%vsdevcmd%" -host_arch=x64 -arch=arm64 || exit /b 1
321 -DCLANG_DEFAULT_LINKER=lld ^
322 -DLIBXML2_INCLUDE_DIR=%libxmldir%/include/libxml2 ^
323 -DLIBXML2_LIBRARIES=%libxmldir%/lib/libxml2s.lib ^
324 -DPython3_ROOT_DIR=%PYTHONHOME% ^
325 -DCOMPILER_RT_BUILD_PROFILE=OFF ^
326 -DCOMPILER_RT_BUILD_SANITIZERS=OFF
328 REM We need to build stage0 compiler-rt with clang-cl (msvc lacks some builtins).
329 cmake -GNinja %cmake_flags% ^
330 -DCMAKE_C_COMPILER=clang-cl.exe ^
331 -DCMAKE_CXX_COMPILER=clang-cl.exe ^
334 ::ninja check-llvm || exit /b 1
335 ::ninja check-clang || exit /b 1
336 ::ninja check-lld || exit /b 1
337 ::ninja check-sanitizer || exit /b 1
338 ::ninja check-clang-tools || exit /b 1
339 ::ninja check-clangd || exit /b 1
347 -DCMAKE_C_COMPILER=%stage0_bin_dir%/clang-cl.exe ^
348 -DCMAKE_CXX_COMPILER=%stage0_bin_dir%/clang-cl.exe ^
349 -DCMAKE_LINKER=%stage0_bin_dir%/lld-link.exe ^
350 -DCMAKE_AR=%stage0_bin_dir%/llvm-lib.exe ^
351 -DCMAKE_RC=%stage0_bin_dir%/llvm-windres.exe ^
352 -DCPACK_SYSTEM_NAME=woa64
357 cmake -GNinja %cmake_flags% %llvm_src%\llvm || exit /b 1
360 ninja check-lldb
361 ::ninja check-llvm || exit /b 1
362 ::ninja check-clang || exit /b 1
363 ::ninja check-lld || exit /b 1
364 ::ninja check-sanitizer || exit /b 1
365 ::ninja check-clang-tools || exit /b 1
366 ::ninja check-clangd || exit /b 1
382 REM Set Python environment
383 if "%local-python%" == "true" (
384 FOR /F "delims=" %%i IN ('where python.exe ^| head -1') DO set python_exe=%%i
385 set PYTHONHOME=!python_exe:~0,-11!
387 %python_dir%/python.exe --version || exit /b 1
404 cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=install ^
405 -DBUILD_SHARED_LIBS=OFF -DLIBXML2_WITH_C14N=OFF -DLIBXML2_WITH_CATALOG=OFF ^
406 -DLIBXML2_WITH_DEBUG=OFF -DLIBXML2_WITH_DOCB=OFF -DLIBXML2_WITH_FTP=OFF ^
407 -DLIBXML2_WITH_HTML=OFF -DLIBXML2_WITH_HTTP=OFF -DLIBXML2_WITH_ICONV=OFF ^
408 -DLIBXML2_WITH_ICU=OFF -DLIBXML2_WITH_ISO8859X=OFF -DLIBXML2_WITH_LEGACY=OFF ^
409 -DLIBXML2_WITH_LZMA=OFF -DLIBXML2_WITH_MEM_DEBUG=OFF -DLIBXML2_WITH_MODULES=OFF ^
410 -DLIBXML2_WITH_OUTPUT=ON -DLIBXML2_WITH_PATTERN=OFF -DLIBXML2_WITH_PROGRAMS=OFF ^
411 -DLIBXML2_WITH_PUSH=OFF -DLIBXML2_WITH_PYTHON=OFF -DLIBXML2_WITH_READER=OFF ^
412 -DLIBXML2_WITH_REGEXPS=OFF -DLIBXML2_WITH_RUN_DEBUG=OFF -DLIBXML2_WITH_SAX1=OFF ^
413 -DLIBXML2_WITH_SCHEMAS=OFF -DLIBXML2_WITH_SCHEMATRON=OFF -DLIBXML2_WITH_TESTS=OFF ^
414 -DLIBXML2_WITH_THREADS=ON -DLIBXML2_WITH_THREAD_ALLOC=OFF -DLIBXML2_WITH_TREE=ON ^
415 -DLIBXML2_WITH_VALID=OFF -DLIBXML2_WITH_WRITER=OFF -DLIBXML2_WITH_XINCLUDE=OFF ^
416 -DLIBXML2_WITH_XPATH=OFF -DLIBXML2_WITH_XPTR=OFF -DLIBXML2_WITH_ZLIB=OFF ^
417 -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreaded ^
418 ../../libxml2-v2.9.12 || exit /b 1
432 cmake -GNinja %cmake_flags% -DLLVM_TARGETS_TO_BUILD=Native ^
433 -DLLVM_BUILD_INSTRUMENTED=IR %llvm_src%\llvm || exit /b 1
435 set instrumented_clang=%cd:\=/%/bin/clang-cl.exe
440 cmake -GNinja %cmake_flags% ^
441 -DCMAKE_C_COMPILER=%instrumented_clang% ^
442 -DCMAKE_CXX_COMPILER=%instrumented_clang% ^
443 -DLLVM_ENABLE_PROJECTS=clang ^
444 -DLLVM_TARGETS_TO_BUILD=Native ^
451 %stage0_bin_dir%\llvm-profdata merge -output=%profile% instrument\profiles\*.profraw || exit /b 1
452 set common_compiler_flags=%common_compiler_flags% -Wno-backend-plugin
453 set cmake_profile_flags=-DLLVM_PROFDATA_FILE=%profile% ^
454 -DCMAKE_C_FLAGS="%common_compiler_flags%" ^
455 -DCMAKE_CXX_FLAGS="%common_compiler_flags%"
461 :: Boolean: --option
462 :: Value: --option<separator>value
466 :: my-batch-file.bat --build --type=release --version 123
470 :: 'version' with the value '123'
475 :: set "version="
486 :: if %version%=='123' (
501 if "%aux:~0,2%" == "--" (