Tools and libraries to glue C/C++ APIs to high-level languages
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

65 lines
1.8 KiB

name: LLVM
on:
workflow_dispatch:
jobs:
build:
strategy:
fail-fast: false
matrix:
config:
- { os: ubuntu-20.04, platform: x64, cxx: g++-9, cc: gcc-9 }
- { os: ubuntu-20.04, platform: x64, cxx: g++-10, cc: gcc-10 }
- { os: macos-10.15, platform: x64, cxx: clang++, cc: clang }
- { os: windows-2019, platform: x86, vs: 2019 }
- { os: windows-2019, platform: x64, vs: 2019 }
runs-on: ${{ matrix.config.os }}
env:
CC: ${{ matrix.config.cc }}
CXX: ${{ matrix.config.cxx }}
VS_VERSION: ${{ matrix.config.vs }}
PLATFORM: ${{ matrix.config.platform }}
ACTIONS_ALLOW_UNSECURE_COMMANDS: true
steps:
- uses: actions/checkout@v2
- uses: lukka/get-cmake@latest
- name: Environment
if: matrix.config.vs > 0
shell: cmd
run: |
call "C:\Program Files (x86)\Microsoft Visual Studio\%VS_VERSION%\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" %PLATFORM%
:: Loop over all environment variables and make them global using set-env.
:: See: https://stackoverflow.com/a/39184941
setlocal
for /f "delims== tokens=1,2" %%a in ('set') do (
echo ::set-env name=%%a::%%b
)
endlocal
- name: Fix intrin.h file
if: matrix.config.vs > 0
shell: powershell
run: build/intrin.ps1
- name: Clone LLVM
shell: bash
run: build/build.sh clone_llvm
- name: Build LLVM
shell: bash
run: build/build.sh build_llvm -platform $PLATFORM
- name: Package LLVM
shell: bash
run: build/build.sh package_llvm -platform $PLATFORM
- name: 'Upload Artifact'
uses: actions/upload-artifact@v2
with:
name: llvm
path: build/scripts/llvm-*-*.*