Skip to content

WIP: Add qjs as a subproject ##build #19246

WIP: Add qjs as a subproject ##build

WIP: Add qjs as a subproject ##build #19246

Workflow file for this run

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