forked from llvm-mirror/llvm
-
Notifications
You must be signed in to change notification settings - Fork 5
/
azure-pipelines.yml
131 lines (117 loc) · 5.17 KB
/
azure-pipelines.yml
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# Starter pipeline
# Start with a minimal pipeline that you can customize to build and deploy your code.
# Add steps that build, run tests, deploy, and more:
# https://aka.ms/yaml
trigger:
- master
jobs:
- job: build_ubuntu
displayName: Linux Build
timeoutInMinutes: 0
pool:
vmImage: 'ubuntu-16.04'
steps:
- script: |
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
sudo apt-add-repository -s "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-9 main"
sudo apt-get update
sudo apt-get -y install cmake ccache ninja-build clang-9 lld-9 libllvm-9-ocaml-dev libllvm9 llvm-9 llvm-9-dev llvm-9-tools llvm-9-runtime
displayName: Install clang-9 and other dependencies
- script: |
mkdir build
cd build
CC=clang-9 CXX=clang++-9 CXXFLAGS="-msse -msse2" cmake .. -G Ninja -DCMAKE_INSTALL_PREFIX="" -DLLVM_CCACHE_DIR=$HOME/.ccache -DLLVM_CCACHE_BUILD=ON -DLLVM_ENABLE_CXX1Y=ON -DLLVM_TARGETS_TO_BUILD="X86" -DCMAKE_BUILD_TYPE=Release -DLLVM_BUILD_RUNTIME=OFF -DLLVM_BUILD_TOOLS=OFF -DLLVM_INCLUDE_DOCS=OFF -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INCLUDE_TOOLS=OFF -DLLVM_INCLUDE_UTILS=OFF -DWITH_POLLY=OFF -DLLVM_ENABLE_Z3_SOLVER=OFF -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON
displayName: Configure LLVM
- script: |
cd build
ninja
displayName: Build LLVM
- script: |
cd build
DESTDIR=./dest ninja install
cd dest
tar -czf llvmlibs-linux.tar.gz lib include bin
sha256sum ./llvmlibs-linux.tar.gz | awk '{ print $1}' >> llvmlibs-linux.tar.gz.sha256
displayName: Package LLVM Libraries
- task: GitHubRelease@0
inputs:
gitHubConnection: RPCS3-Token
repositoryName: RPCS3/llvm
action: edit # Options: create, edit, delete
target: '$(Build.SourceVersion)' # Required when action == Create || Action == Edit
tagSource: auto # Required when action == Create# Options: auto, manual
#tagPattern: # Optional
tag: 'continuous-linux-master' # Required when action == Edit || Action == Delete || TagSource == Manual
title: 'Linux build' # Optional
#releaseNotesSource: 'file' # Optional. Options: file, input
#releaseNotesFile: # Optional
#releaseNotes: # Optional
assets: 'build/dest/llvmlibs-linux*' # Optional
assetUploadMode: delete # Optional. Options: delete, replace
#isDraft: false # Optional
#isPreRelease: true # Optional
#addChangeLog: true # Optional
#compareWith: 'lastFullRelease' # Required when addChangeLog == True. Options: lastFullRelease, lastRelease, lastReleaseByTag
#releaseTag: # Required when compareWith == LastReleaseByTag
- job: build_win32
displayName: Win32 Build
timeoutInMinutes: 0
pool:
vmImage: 'windows-2019'
steps:
- script: |
mkdir llvm_build
cd llvm_build
cmake -G "Visual Studio 16 2019" .. -DLLVM_TARGETS_TO_BUILD="X86" -DLLVM_DEFAULT_TARGET_TRIPLE:STRING=x86_64-pc-windows-msvc -DLLVM_HOST_TRIPLE:STRING=x86_64-pc-windows-msvc -DCMAKE_BUILD_TYPE=Release -Thost=x64 -DLLVM_BUILD_RUNTIME=OFF -DLLVM_BUILD_TOOLS=OFF -DLLVM_INCLUDE_DOCS=OFF -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INCLUDE_BENCHMARKS=OFF -DLLVM_INCLUDE_UTILS=OFF -DWITH_POLLY=ON -DCMAKE_SYSTEM_VERSION=6.1 -DCMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION=10.0
displayName: Configure LLVM
- script: |
cd llvm_build
cmake --build . --config Release -- /maxcpucount
displayName: Build LLVM
- script: |
mkdir llvm_out
cd llvm_out
mkdir build
cd build
mkdir llvm
cd llvm
mkdir cmake
mkdir include
mkdir tools
xcopy "..\..\..\cmake" ".\cmake" /E
xcopy "..\..\..\include" ".\include" /E
cd ..\
mkdir llvm_build
cd llvm_build
mkdir Release
mkdir include
mkdir lib
cd lib
mkdir cmake
cd ..\
xcopy "..\..\..\llvm_build\Release" ".\Release" /E
xcopy "..\..\..\llvm_build\include" ".\include" /E
xcopy "..\..\..\llvm_build\lib\cmake" ".\lib\cmake" /E
cd ..\
7z a -t7z -m0=lzma2 -mx=9 -aoa -r "llvmlibs.7z" *
displayName: Package LLVM Libraries
- task: GitHubRelease@0
inputs:
gitHubConnection: RPCS3-Token
repositoryName: RPCS3/llvm
action: edit # Options: create, edit, delete
target: '$(Build.SourceVersion)' # Required when action == Create || Action == Edit
tagSource: auto # Required when action == Create# Options: auto, manual
#tagPattern: # Optional
tag: 'continuous-master' # Required when action == Edit || Action == Delete || TagSource == Manual
title: 'Windows build' # Optional
#releaseNotesSource: 'file' # Optional. Options: file, input
#releaseNotesFile: # Optional
#releaseNotes: # Optional
assets: 'llvm_out/build/llvmlibs.7z' # Optional
assetUploadMode: delete # Optional. Options: delete, replace
#isDraft: false # Optional
#isPreRelease: true # Optional
#addChangeLog: true # Optional
#compareWith: 'lastFullRelease' # Required when addChangeLog == True. Options: lastFullRelease, lastRelease, lastReleaseByTag
#releaseTag: # Required when compareWith == LastReleaseByTag