diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 156b404..fb5557a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,8 +9,6 @@ jobs: name: Windows Build runs-on: windows-latest env: - BUILD_PROJECT: rt - BUILD_MASTER: false LLVM_VERSION: 18.1.8 strategy: diff --git a/build.bat b/build.bat index 7f5e0f5..bf6d77a 100644 --- a/build.bat +++ b/build.bat @@ -7,16 +7,6 @@ cd %WORKING_DIR% set THIS_DIR=%CD% -if /i "%BUILD_PROJECT%" == "llvm" goto :llvm -if /i "%BUILD_PROJECT%" == "rt" goto :compilerrt - -echo Invalid argument: '%1' -exit -1 - -:: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . - -:llvm - cd llvm-project mkdir llvm\build @@ -27,22 +17,4 @@ cmake --build . --target install %CMAKE_BUILD_FLAGS% cd %THIS_DIR% -7z a -t7z %GITHUB_WORKSPACE%\%LLVM_RELEASE_FILE% %LLVM_RELEASE_NAME% - -goto :eof - -:: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . - -:compilerrt - -mkdir clang\build -cd clang\build -cmake .. %CLANG_CMAKE_CONFIGURE_FLAGS% -cmake --build . %CMAKE_BUILD_FLAGS% -cmake --build . --target install %CMAKE_BUILD_FLAGS% - -cd %THIS_DIR% - -7z a -t7z %GITHUB_WORKSPACE%\%CLANG_RELEASE_FILE% %CLANG_RELEASE_NAME% - -goto :eof +7z a -t7z %GITHUB_WORKSPACE%\%LLVM_RELEASE_FILE% %LLVM_RELEASE_NAME% \ No newline at end of file diff --git a/install.bat b/install.bat index c23f11f..20f3afe 100644 --- a/install.bat +++ b/install.bat @@ -2,30 +2,13 @@ if not exist %WORKING_DIR% mkdir %WORKING_DIR% -::.............................................................................. - -if /i "%BUILD_PROJECT%" == "llvm" goto :llvm -if /i "%BUILD_PROJECT%" == "rt" goto :compilerrt - -echo Invalid argument: '%1' -exit -1 - -::.............................................................................. - -:llvm - :: download LLVM sources -if /i "%BUILD_MASTER%" == "true" ( - git clone --depth=1 %LLVM_MASTER_URL% %WORKING_DIR%\llvm-git - move %WORKING_DIR%\llvm-git\llvm %WORKING_DIR% -) else ( - powershell "Invoke-WebRequest -Uri %LLVM_DOWNLOAD_URL% -OutFile %WORKING_DIR%\%LLVM_DOWNLOAD_FILE%" - 7z x -y %WORKING_DIR%\%LLVM_DOWNLOAD_FILE% -o%WORKING_DIR% - 7z x -y %WORKING_DIR%\llvm-project-%LLVM_VERSION%.src.tar -o%WORKING_DIR% - move %WORKING_DIR%\llvm-project-%LLVM_VERSION%.src %WORKING_DIR%\llvm-project - dir %WORKING_DIR% -) +powershell "Invoke-WebRequest -Uri %LLVM_DOWNLOAD_URL% -OutFile %WORKING_DIR%\%LLVM_DOWNLOAD_FILE%" +7z x -y %WORKING_DIR%\%LLVM_DOWNLOAD_FILE% -o%WORKING_DIR% +7z x -y %WORKING_DIR%\llvm-project-%LLVM_VERSION%.src.tar -o%WORKING_DIR% +move %WORKING_DIR%\llvm-project-%LLVM_VERSION%.src %WORKING_DIR%\llvm-project +dir %WORKING_DIR% if "%CONFIGURATION%" == "Debug" goto dbg goto :eof @@ -46,37 +29,3 @@ perl pdb-patch.pl %WORKING_DIR%\llvm-project\llvm\cmake\modules\AddLLVM.cmake goto :eof ::.............................................................................. - -:compilerrt - -:: download Clang sources - -if /i "%BUILD_MASTER%" == "true" ( - git clone --depth=1 %LLVM_MASTER_URL% %WORKING_DIR%\llvm-git - move %WORKING_DIR%\llvm-git\clang %WORKING_DIR% - if exist %WORKING_DIR%\llvm-git\cmake move %WORKING_DIR%\llvm-git\cmake %WORKING_DIR% -) else ( - powershell "Invoke-WebRequest -Uri %CLANG_DOWNLOAD_URL% -OutFile %WORKING_DIR%\%CLANG_DOWNLOAD_FILE%" - 7z x -y %WORKING_DIR%\%CLANG_DOWNLOAD_FILE% -o%WORKING_DIR% - 7z x -y %WORKING_DIR%\%CLANG_DOWNLOAD_FILE_PREFIX%%LLVM_VERSION%.src.tar -o%WORKING_DIR% - ren %WORKING_DIR%\%CLANG_DOWNLOAD_FILE_PREFIX%%LLVM_VERSION%.src clang - - if not "%LLVM_CMAKE_DOWNLOAD_URL%" == "" ( - powershell "Invoke-WebRequest -Uri %LLVM_CMAKE_DOWNLOAD_URL% -OutFile %WORKING_DIR%\%LLVM_CMAKE_DOWNLOAD_FILE%" - 7z x -y %WORKING_DIR%\%LLVM_CMAKE_DOWNLOAD_FILE% -o%WORKING_DIR% - 7z x -y %WORKING_DIR%\cmake-%LLVM_VERSION%.src.tar -o%WORKING_DIR% - ren %WORKING_DIR%\cmake-%LLVM_VERSION%.src cmake - ) -) - -:nobigobj - -:: download and unpack LLVM release package from llvm-package-windows - -powershell "Invoke-WebRequest -Uri %LLVM_RELEASE_URL% -OutFile %WORKING_DIR%\%LLVM_RELEASE_FILE%" -7z x -y %WORKING_DIR%\%LLVM_RELEASE_FILE% -o%WORKING_DIR% -;; - -goto :eof - -::.............................................................................. diff --git a/set-env.bat b/set-env.bat index 17f849f..5e9584f 100644 --- a/set-env.bat +++ b/set-env.bat @@ -139,27 +139,18 @@ set WORKING_DRIVE=%HOMEDRIVE% set WORKING_DIR=%HOMEDRIVE%%HOMEPATH% set LLVM_RELEASE_TAG=llvm-%LLVM_VERSION% -set LLVM_CMAKELISTS_URL=https://raw.githubusercontent.com/llvm/llvm-project/main/llvm/CMakeLists.txt - -if /i "%BUILD_MASTER%" == "true" ( - powershell "Invoke-WebRequest -Uri %LLVM_CMAKELISTS_URL% -OutFile CMakeLists.txt" - for /f %%i in ('perl print-llvm-version.pl CMakeLists.txt') do set LLVM_VERSION=%%i - set LLVM_RELEASE_TAG=llvm-master -) if "%TARGET_CPU%" == "" goto :amd64 if "%TOOLCHAIN%" == "" goto :msvc17 if "%CRT%" == "" goto :libcmt if "%CONFIGURATION%" == "" goto :release -set TAR_SUFFIX=.tar.xz -perl compare-versions.pl %LLVM_VERSION% 3.5.0 -if %errorlevel% == -1 set TAR_SUFFIX=.tar.gz +set TAR_SUFFIX= set BASE_DOWNLOAD_URL=https://github.com/llvm/llvm-project/releases/download/llvmorg-%LLVM_VERSION% set LLVM_MASTER_URL=https://github.com/llvm/llvm-project -set LLVM_DOWNLOAD_FILE=llvm-project-%LLVM_VERSION%.src%TAR_SUFFIX% +set LLVM_DOWNLOAD_FILE=llvm-project-%LLVM_VERSION%.src.tar.xz set LLVM_DOWNLOAD_URL=%BASE_DOWNLOAD_URL%/%LLVM_DOWNLOAD_FILE% set LLVM_RELEASE_NAME=llvm-%LLVM_VERSION%-windows-%TARGET_CPU%-%TOOLCHAIN%-%CRT%%DEBUG_SUFFIX% set LLVM_RELEASE_FILE=%LLVM_RELEASE_NAME%.7z @@ -181,37 +172,12 @@ set LLVM_CMAKE_CONFIGURE_FLAGS= ^ -DLLVM_ENABLE_PROJECTS=lld ^ -DLLVM_INCLUDE_EXAMPLES=OFF ^ -DLLVM_INCLUDE_GO_TESTS=OFF ^ - -DLLVM_INCLUDE_RUNTIMES=OFF ^ + -DLLVM_INCLUDE_RUNTIMES=ON ^ + -DLLVM_ENABLE_RUNTIMES=compiler-rt ^ -DLLVM_INCLUDE_TESTS=OFF ^ -DLLVM_INCLUDE_UTILS=OFF ^ -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=OFF ^ %LLVM_CMAKE_CONFIGURE_EXTRA_FLAGS% - -:: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . - -set CLANG_MASTER_URL=https://github.com/llvm-mirror/clang -set CLANG_DOWNLOAD_FILE=%CLANG_DOWNLOAD_FILE_PREFIX%%LLVM_VERSION%.src%TAR_SUFFIX% -set CLANG_DOWNLOAD_URL=%BASE_DOWNLOAD_URL%/%CLANG_DOWNLOAD_FILE% -set CLANG_RELEASE_NAME=clang-%LLVM_VERSION%-windows-%TARGET_CPU%-%TOOLCHAIN%-%CRT%%DEBUG_SUFFIX% -set CLANG_RELEASE_FILE=%CLANG_RELEASE_NAME%.7z -set CLANG_RELEASE_DIR=%WORKING_DIR%\%CLANG_RELEASE_NAME% -set CLANG_RELEASE_DIR=%CLANG_RELEASE_DIR:\=/% - -set CLANG_CMAKE_CONFIGURE_FLAGS= ^ - -G "%CMAKE_GENERATOR%" ^ - %CMAKE_OPTIONS% ^ - -DCMAKE_INSTALL_PREFIX=%CLANG_RELEASE_DIR% ^ - -DCMAKE_DISABLE_FIND_PACKAGE_LibXml2=TRUE ^ - -DLLVM_INCLUDE_TESTS=OFF ^ - -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON ^ - -DCLANG_INCLUDE_DOCS=OFF ^ - -DCLANG_INCLUDE_TESTS=OFF ^ - -DLLVM_DIR=%LLVM_RELEASE_DIR%/lib/cmake/llvm ^ - %LLVM_CMAKE_CRT_FLAGS% ^ - %CLANG_CMAKE_CONFIGURE_EXTRA_FLAGS% - -:: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . - set CMAKE_BUILD_FLAGS= ^ --config %CONFIGURATION% ^ -- ^ @@ -220,8 +186,7 @@ set CMAKE_BUILD_FLAGS= ^ /maxcpucount ^ /consoleloggerparameters:Summary -if /i "%BUILD_PROJECT%" == "llvm" set DEPLOY_FILE=%LLVM_RELEASE_FILE% -if /i "%BUILD_PROJECT%" == "rt" set DEPLOY_FILE=%CLANG_RELEASE_FILE% +set DEPLOY_FILE=%LLVM_RELEASE_FILE% echo --------------------------------------------------------------------------- echo LLVM_VERSION: %LLVM_VERSION%