-
Notifications
You must be signed in to change notification settings - Fork 1
150 lines (144 loc) · 11.3 KB
/
build-and-install.yaml
File metadata and controls
150 lines (144 loc) · 11.3 KB
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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
name: gollvm
on:
create:
branches: [ main ]
pull_request:
branches: [ main ]
jobs:
gcc_compat_build_release: #in sense of CMake's identification - gollvm is indeed Clang oriented
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v2
- name: Get GCC's version
run: gcc --version
- name: Check our path
run: pwd
- name: Trying to check if we could install Ninja
run: sudo apt install ninja-build -y
- name: Checking the version of make, automake, autoconf, m4 and Ninja
run: make --version && m4 --version && autoconf --version && automake --version && echo "Ninja's version is" && ninja --version
- name: Clonning LLVM master branch && gollvm related repos.
run: cd $GITHUB_WORKSPACE/gollvm_build_process && git clone -b llvm-for-gollvm https://github.com/plctlab/llvm-project.git && cd llvm-project/llvm/tools && git clone https://go.googlesource.com/gollvm && cd gollvm && git clone https://go.googlesource.com/gofrontend && cd libgo && git clone https://github.com/libffi/libffi.git && git clone https://github.com/ianlancetaylor/libbacktrace.git
- name: Compiling & linking gollvm
run: cd $GITHUB_WORKSPACE/gollvm_build_process && mkdir build_release && cd build_release && cmake -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=X86 -G Ninja ../llvm-project/llvm && ninja -j16 gollvm && ninja GoBackendCoreTests && ./tools/gollvm/unittests/BackendCore/GoBackendCoreTests
clang10_build_relwithdebuginfo: #we had some issues, with this configuration (llvm-goc related) - so adding this build, to ensure
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- name: Install Clang 10, using dpkg
run: wget https://apt.llvm.org/llvm.sh && chmod +x llvm.sh && sudo ./llvm.sh 10
- name: Check if Clang 10 is on board
run: which clang-10
- name: Check our path
run: pwd
- name: Extracting llc's host target
run: llc-10 --version | grep CPU
- name: Compile test tool, for retrieveing CPU features
run: clang-10 -I/usr/lib/llvm-10/include/ -I/usr/lib/llvm-10/include/llvm-c -L/usr/lib/llvm-10/lib -lLLVM-10 -lstdc++ $GITHUB_WORKSPACE/gollvm_build_process/llvm_cpu_features_investigation.cpp
- name: Run the CPU feature extractor
run: ./a.out
- name: Trying to check if we could install Ninja
run: sudo apt install ninja-build -y
- name: Checking the version of make, automake, autoconf, m4 and Ninja
run: make --version && m4 --version && autoconf --version && automake --version && echo "Ninja's version is" && ninja --version
- name: Clonning LLVM master branch && gollvm related repos.
run: cd $GITHUB_WORKSPACE/gollvm_build_process && git clone -b llvm-for-gollvm https://github.com/plctlab/llvm-project.git && cd llvm-project/llvm/tools && git clone https://go.googlesource.com/gollvm && cd gollvm && git clone https://go.googlesource.com/gofrontend && cd libgo && git clone https://github.com/libffi/libffi.git && git clone https://github.com/ianlancetaylor/libbacktrace.git
- name: Compiling & linking gollvm
run: cd $GITHUB_WORKSPACE/gollvm_build_process && mkdir build_debuggable_release && cd build_debuggable_release && cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DLLVM_TARGETS_TO_BUILD=X86 -DCMAKE_C_COMPILER=clang-10 -DCMAKE_CXX_COMPILER=clang++-10 -G Ninja ../llvm-project/llvm && ninja -j16 gollvm && ninja GoBackendCoreTests && ./tools/gollvm/unittests/BackendCore/GoBackendCoreTests
clang10_build_default: #we had some issues, with this configuration (llvm-goc related) - so adding this build, to ensure
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- name: Install Clang 10, using dpkg
run: wget https://apt.llvm.org/llvm.sh && chmod +x llvm.sh && sudo ./llvm.sh 10
- name: Check if Clang 10 is on board
run: which clang-10
- name: Check our path
run: pwd
- name: Extracting llc's host target
run: llc-10 --version | grep CPU
- name: Compile test tool, for retrieveing CPU features
run: clang-10 -I/usr/lib/llvm-10/include/ -I/usr/lib/llvm-10/include/llvm-c -L/usr/lib/llvm-10/lib -lLLVM-10 -lstdc++ $GITHUB_WORKSPACE/gollvm_build_process/llvm_cpu_features_investigation.cpp
- name: Run the CPU feature extractor
run: ./a.out
- name: Trying to check if we could install Ninja
run: sudo apt install ninja-build -y
- name: Checking the version of make, automake, autoconf, m4 and Ninja
run: make --version && m4 --version && autoconf --version && automake --version && echo "Ninja's version is" && ninja --version
- name: Clonning LLVM master branch && gollvm related repos.
run: cd $GITHUB_WORKSPACE/gollvm_build_process && git clone https://github.com/llvm/llvm-project.git && cd llvm-project/llvm/tools && git clone https://go.googlesource.com/gollvm && cd gollvm && git clone https://go.googlesource.com/gofrontend && cd libgo && git clone https://github.com/libffi/libffi.git && git clone https://github.com/ianlancetaylor/libbacktrace.git
- name: Compiling & linking gollvm
run: cd $GITHUB_WORKSPACE/gollvm_build_process && mkdir build_debuggable_release && cd build_debuggable_release && cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DLLVM_TARGETS_TO_BUILD=X86 -DCMAKE_C_COMPILER=clang-10 -DCMAKE_CXX_COMPILER=clang++-10 -G Ninja ../llvm-project/llvm && ninja -j16 gollvm && ninja GoBackendCoreTests && ./tools/gollvm/unittests/BackendCore/GoBackendCoreTests
clang10_build_minsizerel:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- name: Install Clang 10, using dpkg
run: wget https://apt.llvm.org/llvm.sh && chmod +x llvm.sh && sudo ./llvm.sh 10
- name: Check if Clang 10 is on board
run: which clang-10
- name: Check our path
run: pwd
- name: Extracting llc's host target
run: llc-10 --version | grep CPU
- name: Compile test tool, for retrieveing CPU features
run: clang-10 -I/usr/lib/llvm-10/include/ -I/usr/lib/llvm-10/include/llvm-c -L/usr/lib/llvm-10/lib -lLLVM-10 -lstdc++ $GITHUB_WORKSPACE/gollvm_build_process/llvm_cpu_features_investigation.cpp
- name: Run the CPU feature extractor
run: ./a.out
- name: Trying to check if we could install Ninja
run: sudo apt install ninja-build -y
- name: Checking the version of make, automake, autoconf, m4 and Ninja
run: make --version && m4 --version && autoconf --version && automake --version && echo "Ninja's version is" && ninja --version
- name: Clonning LLVM master branch && gollvm related repos.
run: cd $GITHUB_WORKSPACE/gollvm_build_process && git clone -b llvm-for-gollvm https://github.com/plctlab/llvm-project.git && cd llvm-project/llvm/tools && git clone https://go.googlesource.com/gollvm && cd gollvm && git clone https://go.googlesource.com/gofrontend && cd libgo && git clone https://github.com/libffi/libffi.git && git clone https://github.com/ianlancetaylor/libbacktrace.git
- name: Compiling & linking gollvm
run: cd $GITHUB_WORKSPACE/gollvm_build_process && mkdir build_min && cd build_min && cmake -DCMAKE_BUILD_TYPE=MinSizeRel -DLLVM_TARGETS_TO_BUILD=X86 -DCMAKE_C_COMPILER=clang-10 -DCMAKE_CXX_COMPILER=clang++-10 -G Ninja ../llvm-project/llvm && ninja -j16 gollvm && ninja GoBackendCoreTests && ./tools/gollvm/unittests/BackendCore/GoBackendCoreTests
clang13_build_release: #in sense of CMake's identification - gollvm is indeed Clang oriented
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- name: Install Clang 13, using dpkg
run: wget https://apt.llvm.org/llvm.sh && chmod +x llvm.sh && sudo ./llvm.sh 13
- name: Check if Clang 13 is on board
run: which clang-13
- name: Check our path
run: pwd
- name: Extracting llc's host target
run: llc-13 --version | grep CPU
- name: Compile test tool, for retrieveing CPU features
run: clang-13 -I/usr/lib/llvm-11/include/ -I/usr/lib/llvm-11/include/llvm-c -L/usr/lib/llvm-11/lib -lLLVM-11 -lstdc++ $GITHUB_WORKSPACE/gollvm_build_process/llvm_cpu_features_investigation.cpp
- name: Run the CPU feature extractor
run: ./a.out
- name: Trying to check if we could install Ninja
run: sudo apt install ninja-build -y
- name: Checking the version of make, automake, autoconf, m4 and Ninja
run: make --version && m4 --version && autoconf --version && automake --version && echo "Ninja's version is" && ninja --version
- name: Clonning LLVM master branch && gollvm related repos.
run: cd $GITHUB_WORKSPACE/gollvm_build_process && git clone -b llvm-for-gollvm https://github.com/plctlab/llvm-project.git && cd llvm-project/llvm/tools && git clone https://go.googlesource.com/gollvm && cd gollvm && git clone https://go.googlesource.com/gofrontend && cd libgo && git clone https://github.com/libffi/libffi.git && git clone https://github.com/ianlancetaylor/libbacktrace.git
- name: Compiling & linking gollvm
run: cd $GITHUB_WORKSPACE/gollvm_build_process && mkdir build_release && cd build_release && cmake -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=X86 -DCMAKE_C_COMPILER=clang-13 -DCMAKE_CXX_COMPILER=clang++-13 -G Ninja ../llvm-project/llvm && ninja -j16 gollvm && ninja GoBackendCoreTests && ./tools/gollvm/unittests/BackendCore/GoBackendCoreTests
clang12_build_minsizerel: #The build with a minimal footprint?
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- name: Install Clang 12, using dpkg
run: wget https://apt.llvm.org/llvm.sh && chmod +x llvm.sh && sudo ./llvm.sh 12
#- name: Check if Clang 12 is on board
# run: which clang-12
- name: Check our path
run: pwd
#- name: Extracting llc's host target
# run: llc-12 --version | grep CPU
#- name: Compile test tool, for retrieveing CPU features
# run: clang-12 -I/usr/lib/llvm-12/include/ -I/usr/lib/llvm-12/include/llvm-c -L/usr/lib/llvm-12/lib -lLLVM-12 -lstdc++ $GITHUB_WORKSPACE/gollvm_build_process/llvm_cpu_features_investigation.cpp
#- name: Run the CPU feature extractor
# run: ./a.out
- name: Trying to check if we could install Ninja
run: sudo apt install ninja-build -y
- name: Checking the version of make, automake, autoconf, m4 and Ninja
run: make --version && m4 --version && autoconf --version && automake --version && echo "Ninja's version is" && ninja --version
- name: Clonning LLVM master branch && gollvm related repos.
run: cd $GITHUB_WORKSPACE/gollvm_build_process && git clone -b llvm-for-gollvm https://github.com/plctlab/llvm-project.git && cd llvm-project/llvm/tools && git clone https://go.googlesource.com/gollvm && cd gollvm && git clone https://go.googlesource.com/gofrontend && cd libgo && git clone https://github.com/libffi/libffi.git && git clone https://github.com/ianlancetaylor/libbacktrace.git
- name: Compiling & linking gollvm
run: cd $GITHUB_WORKSPACE/gollvm_build_process && mkdir build_min && cd build_min && cmake -DCMAKE_BUILD_TYPE=MinSizeRel -DLLVM_TARGETS_TO_BUILD=X86 -DCMAKE_C_COMPILER=clang-12 -DCMAKE_CXX_COMPILER=clang++-12 -G Ninja ../llvm-project/llvm && ninja -j16 gollvm && ninja GoBackendCoreTests && ./tools/gollvm/unittests/BackendCore/GoBackendCoreTests
#Getting back to LLVM project