Fix pointer wrap around undefined behavior #219
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
# Should run only on branches and PR, as "on_tag.yml" will handle tags | |
on: | |
push: | |
branches: master test | |
pull_request: | |
branches: master | |
jobs: | |
# | |
# Linux | |
# | |
Ubuntu: | |
name: Ubuntu debuild | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v2 | |
- name: prepare | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y autoconf automake autopoint autotools-dev \ | |
gettext libdbus-1-dev pkg-config xmlto \ | |
devscripts build-essential lintian \ | |
debhelper-compat \ | |
dh-exec libdbus-1-dev \ | |
libmagick++-dev libv4l-dev python3-dev \ | |
libgtk-3-dev lftp \ | |
dh-sequence-python3 libgtk2.0-dev \ | |
libqt5x11extras5-dev qtbase5-dev | |
- name: build | |
run: | | |
.github/workflows/debuilder.sh | |
Ubuntu_Gtk2: | |
name: Ubuntu with Gtk2 | |
runs-on: ubuntu-18.04 | |
steps: | |
- uses: actions/checkout@v2 | |
- name: prepare | |
run: | | |
sudo apt update | |
sudo apt-get install -y autoconf automake autopoint autotools-dev \ | |
gettext libdbus-1-dev libgtk2.0-dev libmagick++-dev \ | |
libqt5x11extras5-dev libv4l-dev libx11-dev openjdk-8-jdk-headless \ | |
perl pkg-config python-all-dev python-all-dbg python-gtk2-dev \ | |
qt5-default xmlto | |
- name: configure | |
run: | | |
autoreconf -vfi | |
export QT_SELECT=5 | |
./configure | |
- name: build | |
run: | |
make | |
- name: check | |
run: | |
make check-local | |
- name: install | |
run: | |
sudo make install | |
Ubuntu_Gtk3: | |
name: Ubuntu with Gtk3 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: prepare | |
run: | | |
sudo apt update | |
sudo apt-get install -y autoconf automake autopoint autotools-dev \ | |
gettext libdbus-1-dev gir1.2-gtk-3.0 libgtk-3-dev \ | |
libgirepository1.0-dev libmagick++-dev libqt5x11extras5-dev \ | |
libv4l-dev libx11-dev openjdk-8-jdk-headless perl \ | |
pkg-config python3-minimal python3-dev python3 python3-gi \ | |
qt5-default xmlto | |
- name: configure | |
run: | | |
autoreconf -vfi | |
# Let configure get this | |
unset PYTHON_CFLAGS PYTHON | |
export QT_SELECT=5 | |
./configure --with-gtk=gtk3 --with-python=python3 | |
- name: build | |
run: | |
make | |
- name: check | |
run: | |
make check-local | |
- name: install | |
run: | |
sudo make install | |
Mingw_w64_VfW: | |
name: Mingw-w64 VfW | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: prepare | |
run: | | |
sudo apt update | |
sudo apt-get install -y autoconf automake autopoint autotools-dev \ | |
gettext libdbus-1-dev pkg-config win-iconv-mingw-w64-dev \ | |
binutils-mingw-w64-i686 gcc-mingw-w64 mingw-w64-i686-dev \ | |
mingw-w64-common xmlto | |
- name: configure | |
run: | | |
export PKG_CONFIG_PATH=/usr/x86_64-w64-mingw32/lib/pkgconfig | |
autoreconf -vfi | |
CC=i686-w64-mingw32-gcc ./configure \ | |
--host=i686-w64-mingw32 --prefix=/usr/local/win32 \ | |
--without-gtk --without-python --without-qt --without-java \ | |
--without-imagemagick --enable-pthread | |
- name: build | |
run: | |
make | |
- name: install | |
run: | |
sudo make install | |
Mingw_w64_DShow: | |
name: Mingw-w64 DShow | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: prepare | |
run: | | |
sudo apt update | |
sudo apt-get install -y autoconf automake autopoint autotools-dev \ | |
gettext libdbus-1-dev pkg-config win-iconv-mingw-w64-dev \ | |
binutils-mingw-w64-i686 gcc-mingw-w64 mingw-w64-i686-dev \ | |
mingw-w64-common xmlto | |
- name: configure | |
run: | | |
export PKG_CONFIG_PATH=/usr/x86_64-w64-mingw32/lib/pkgconfig | |
autoreconf -vfi | |
CC=i686-w64-mingw32-gcc ./configure \ | |
--host=i686-w64-mingw32 --prefix=/usr/local/win32 \ | |
--without-gtk --without-python --without-qt --without-java \ | |
--without-imagemagick --enable-pthread \ | |
--with-directshow | |
- name: build | |
run: | |
make | |
- name: install | |
run: | |
sudo make install | |
# | |
# Mac OS | |
# | |
Mac_OS: | |
name: Mac OS | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: prepare | |
run: | | |
brew install gettext autoconf automake libiconv libtool \ | |
gs graphicsmagick python xmlto pkg-config ccache | |
brew unlink libtool && brew link libtool | |
brew unlink gettext && brew link gettext | |
- name: configure | |
run: | |
autoreconf -vfi | |
./configure --disable-video --disable-nls --with-python=python3 | |
- name: build | |
run: | | |
make | |
sudo make install | |
# | |
# Windows | |
# | |
Windows: | |
name: Windows | |
runs-on: windows-latest | |
strategy: | |
matrix: | |
arch: [x86_64, i686] | |
video: [VfW, DShow] | |
include: | |
- arch: x86_64 | |
msystem: MINGW64 | |
grep: x86-64 | |
- arch: i686 | |
msystem: MINGW32 | |
grep: 386 | |
- video: DShow | |
extra: --with-directshow | |
- video: VfW | |
extra: | |
defaults: | |
run: | |
shell: msys2 {0} | |
env: | |
CPPFLAGS: -D__USE_MINGW_ANSI_STDIO=1 | |
steps: | |
- uses: msys2/setup-msys2@v2 | |
with: | |
msystem: ${{ matrix.msystem }} | |
update: false | |
install: >- | |
mingw-w64-${{ matrix.arch }}-gcc | |
mingw-w64-${{ matrix.arch }}-iconv | |
mingw-w64-${{ matrix.arch }}-imagemagick | |
mingw-w64-${{ matrix.arch }}-python | |
base-devel git xmlto | |
autoconf libtool automake gettext make autoconf-archive pkg-config | |
- uses: actions/checkout@v2 | |
- name: configure | |
shell: msys2 {0} | |
run: | | |
autoreconf -vfi | |
./configure LDFLAGS="-static" \ | |
--enable-pthread --disable-dependency-tracking \ | |
${{ matrix.extra }} | |
- name: build | |
shell: msys2 {0} | |
run: | |
make | |
- name: install | |
shell: msys2 {0} | |
run: | |
make install |