-
-
Notifications
You must be signed in to change notification settings - Fork 3k
225 lines (220 loc) · 6.61 KB
/
tcc.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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
name: tcc
on:
push:
branches:
- master
pull_request:
jobs:
newabi:
name: ubuntu-tcc-newabi
runs-on: ubuntu-24.04
steps:
- name: Checkout TinyCC repository
run: |
git clone https://github.com/mirror/tinycc.git
cd tinycc
git checkout mob
git reset --hard 560526a49dfffef118bcb7fba83c727639ec0a1d
- name: Compiling and installing TinyCC
working-directory: tinycc
run: |
sh ./configure --prefix=/usr
make -j
sudo make install
- uses: actions/checkout@v4
- name: Checkout our Testsuite Binaries
uses: actions/checkout@v4
with:
repository: radareorg/radare2-testbins
path: test/bins
- name: Install dependencies
run: |
sudo apt update --assume-yes
sudo apt-get --assume-yes install gperf wheel setuptools || true
sudo pip install r2pipe --break-system-packages
- name: Configure, build and install (Using the new ABI)
env:
CC: tcc
run: |
./configure --prefix=/usr --with-compiler=tcc --with-new-abi
make -j
sudo make install
- name: Run tests
env:
PKG_CONFIG_PATH: /usr/lib/x86_64-linux-gnu/pkgconfig
run: |
r2 -v
r2r -v
export R2R_SKIP_ASM=1
export R2R_SKIP_ARCHOS=1
make -j -C test
build:
name: ubuntu-tcc-test
runs-on: ubuntu-24.04
steps:
- name: Checkout TinyCC repository
run: |
git clone https://github.com/mirror/tinycc.git
cd tinycc
git checkout mob
git reset --hard 560526a49dfffef118bcb7fba83c727639ec0a1d
- name: Compiling and installing TinyCC
working-directory: tinycc
run: |
sh ./configure --prefix=/usr
make -j
sudo make install
- uses: actions/checkout@v4
- name: Checkout our Testsuite Binaries
uses: actions/checkout@v4
with:
repository: radareorg/radare2-testbins
path: test/bins
- name: Install dependencies
run: |
sudo apt update --assume-yes
sudo apt-get --assume-yes install gperf wheel setuptools || true
sudo pip install r2pipe --break-system-packages
- name: Configure, build and install
env:
CC: tcc
run: |
./configure --prefix=/usr --with-compiler=tcc
make -j
sudo make install
- name: Run tests
env:
PKG_CONFIG_PATH: /usr/lib/x86_64-linux-gnu/pkgconfig
run: |
r2 -v
r2r -v
export R2R_SKIP_ASM=1
export R2R_SKIP_ARCHOS=1
make -j -C test
nodbg:
name: ubuntu-tcc-nodbg
runs-on: ubuntu-24.04
steps:
- name: Checkout TinyCC repository
run: |
git clone https://github.com/mirror/tinycc.git
cd tinycc && git checkout mob
git reset --hard 560526a49dfffef118bcb7fba83c727639ec0a1d
sudo apt update --assume-yes
sudo apt-get --assume-yes install gperf wheel setuptools || true
sudo pip install r2pipe --break-system-packages
- name: Compiling and installing TinyCC
working-directory: tinycc
run: |
sh ./configure --prefix=/usr --without-debugger
make -j && sudo make install
- uses: actions/checkout@v4
- name: Checkout our Testsuite Binaries
uses: actions/checkout@v4
with:
repository: radareorg/radare2-testbins
path: test/bins
- name: Configure, build and install
env:
CC: tcc
run: |
./configure --prefix=/usr --with-compiler=tcc
make -j
sudo make install
- name: Run tests
env:
PKG_CONFIG_PATH: /usr/lib/x86_64-linux-gnu/pkgconfig
run: |
r2 -v
r2r -v
export R2R_SKIP_ASM=1
export R2R_SKIP_ARCHOS=1
make -j -C test
r2pm:
name: r2pm-tcc
runs-on: ubuntu-24.04
steps:
- name: Checkout TinyCC repository
run: |
git clone https://github.com/mirror/tinycc.git
cd tinycc
git checkout mob
git reset --hard 560526a49dfffef118bcb7fba83c727639ec0a1d
- name: Compiling and installing TinyCC
working-directory: tinycc
run: |
sh ./configure --prefix=/usr
make -j
sudo make install
- uses: actions/checkout@v4
- name: Configure, build and install
env:
CC: tcc
CFLAGS: -O0
run: |
./configure --prefix=/usr --with-compiler=tcc
make -j
sudo make install
- name: Initialize and update the r2pm package database
run: r2pm -U
- name: Install samurai
run: r2pm -i samurai
- name: Install samurai (clean)
run: r2pm -ci samurai
- name: Install samurai (native)
run: r2pm -i samurai
- name: Install muon
run: r2pm -i muon
# - name: Install muon (native)
# run: r2pm -i muon
- name: Building r2 with muon+samu
run: |
r2pm -r muon setup b
r2pm -r samu -j4 -C b >/dev/null
syslibs:
name: ubuntu-tcc-syslibs
runs-on: ubuntu-24.04
steps:
- name: Checkout TinyCC repository
run: |
git clone https://github.com/mirror/tinycc.git
cd tinycc && git checkout mob
git reset --hard 560526a49dfffef118bcb7fba83c727639ec0a1d
sudo apt-get update --assume-yes
sudo apt-get --assume-yes install gperf wheel setuptools || true
sudo pip install r2pipe --break-system-packages
- name: Compiling and installing TinyCC
working-directory: tinycc
run: |
sh ./configure --prefix=/usr --without-debugger
make -j && sudo make install
- uses: actions/checkout@v4
- name: Checkout our Testsuite Binaries
uses: actions/checkout@v4
with:
repository: radareorg/radare2-testbins
path: test/bins
- name: Configure, build and install
env:
CC: tcc
run: |
sudo apt-get update --assume-yes
sudo apt-get --assume-yes install libxxhash-dev liblz4-dev libzip-dev libmagic-dev libcapstone-dev
cp -f dist/plugins-cfg/plugins.cs4.cfg plugins.cfg
./configure --prefix=/usr --with-compiler=tcc \
--with-syscapstone \
--with-sysxxhash \
--with-sysmagic \
--with-syszip \
--with-syslz4
make -j
sudo make install
- name: Run tests
env:
PKG_CONFIG_PATH: /usr/lib/x86_64-linux-gnu/pkgconfig
run: |
r2 -v
r2r -v
export R2R_SKIP_ASM=1
export R2R_SKIP_ARCHOS=1
make -j -C test/unit