Improve documentation, configure and CI(#31)

- update **scandoc** tool
- start manual framework in qe-manual.c
- build qe-manual.md as a default target
- add more targets: linux-32bits, linux-390x, NetBSD, OpenBSD
- fix FreeBSD target: define `host_cc` 
- test for `bwapxx` macros
- test for `clang` / `gcc` / `tcc` compiler presence
- handle non standard `which` utility
This commit is contained in:
Charlie Gordon 2024-05-20 19:43:01 +02:00 • committed by GitHub
commit ea6a70963e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 795 additions and 128 deletions

View file

@ -19,30 +19,128 @@ jobs:
fail-fast: false
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Build
- name: build
run: |
./configure
make -j$(getconf _NPROCESSORS_ONLN)
macos:
name: macOS
runs-on: macos-latest
strategy:
fail-fast: false
linux-32bits:
name: Linux 32-bits
runs-on: ubuntu-latest
defaults:
run:
shell: alpine.sh {0}
steps:
- uses: actions/checkout@v4
- name: Build
- uses: jirutka/setup-alpine@v1
with:
arch: x86
packages: "build-base make"
- name: build
run: |
./configure
make CONFIG_32BIT=y
linux-s390x:
runs-on: ubuntu-latest
defaults:
run:
shell: alpine.sh {0}
steps:
- uses: actions/checkout@v3
- uses: jirutka/setup-alpine@v1
with:
arch: s390x
packages: "build-base make"
- name: build
run: |
./configure
make
macos:
name: macOS
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-12, macos-14]
steps:
- uses: actions/checkout@v4
- name: build
run: |
./configure
make -j$(getconf _NPROCESSORS_ONLN)
# windows-mingw:
# runs-on: windows-latest
# strategy:
# fail-fast: false
# matrix:
# sys:
# - mingw32
# - mingw64
# - clang64
# - ucrt64
# defaults:
# run:
# shell: msys2 {0}
# steps:
# - uses: actions/checkout@v4
# - name: Setup MSYS2
# uses: msys2/setup-msys2@v2
# with:
# msystem: ${{matrix.sys}}
# install: >-
# git
# make
# pacboy: >-
# ninja:p
# toolchain:p
# - name: build
# run: |
# ./configure
# make
#
# cygwin:
# runs-on: windows-latest
# defaults:
# run:
# shell: C:\cygwin\bin\bash.exe --login --norc -eo pipefail -o igncr '{0}'
# env:
# CYGWIN_NOWINPATH: 1
# CHERE_INVOKING: 1
# steps:
# - name: Set up Cygwin
# uses: cygwin/cygwin-install-action@master
# with:
# packages: make gcc-g++ bash
#
# - uses: actions/checkout@v4
#
# - name: build
# run: |
# ./configure
# make
openbsd:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: build
uses: vmactions/openbsd-vm@v1
with:
usesh: true
prepare: |
pkg_add gmake
run: |
./configure
gmake MAKE=gmake
freebsd:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build + test
- name: build
uses: vmactions/freebsd-vm@v1
with:
usesh: true
@ -50,27 +148,18 @@ jobs:
pkg install -y gmake
run: |
./configure
gmake
gmake MAKE=gmake
qemu-alpine:
netbsd:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
platform:
- i386
- arm32v6
- arm32v7
- arm64v8
- s390x
steps:
- uses: actions/checkout@v4
- name: build
uses: vmactions/netbsd-vm@v1
with:
submodules: recursive
- name: Get qemu
run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
- name: Run tests on ${{ matrix.platform }}
run: docker run --rm --interactive --mount type=bind,source=$(pwd),target=/host ${{ matrix.platform }}/alpine sh -c "apk add git patch make gcc libc-dev && cd /host && ./configure && make"
usesh: true
prepare: |
/usr/sbin/pkg_add gmake
run: |
./configure
gmake MAKE=gmake