building & testing on MinGW #58
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: Build on MinGW | |
run-name: building & testing on MinGW | |
on: | |
push: | |
branches: | |
- 'build-mingw/**' | |
- 'build/**' | |
jobs: | |
Build-on-mingw: | |
runs-on: windows-latest | |
timeout-minutes: 90 | |
steps: | |
- run: echo "The job was automatically triggered by a ${{ github.event_name }} event." | |
- run: echo "This job is now running on a ${{ runner.os }} server hosted by GitHub." | |
- run: echo "Branch [ ${{ github.ref }} ] Repository [ ${{ github.repository }} ]" | |
- name: Check out repository code | |
uses: actions/checkout@v4 | |
- name: install tools | |
uses: msys2/setup-msys2@v2 | |
with: | |
msystem: mingw64 | |
install: >- | |
mingw-w64-x86_64-autotools | |
mingw-w64-x86_64-gcc | |
mingw-w64-x86_64-icu | |
mingw-w64-x86_64-pkg-config | |
bison | |
texinfo | |
- name: make libs | |
shell: msys2 {0} | |
run: | | |
mkdir -p ./source/Work/libs | |
mkdir -p ./source/Work/libs/zlib | |
cd ./source/Work/libs/zlib | |
../../../libs/zlib/configure | |
make | |
make check | |
cd ../../../.. | |
mkdir -p ./source/Work/libs/libpng | |
cd ./source/Work/libs/libpng | |
../../../libs/libpng/configure | |
make | |
make check | |
cd ../../../.. | |
mkdir -p ./source/Work/libs/libpaper | |
cd ./source/Work/libs/libpaper | |
../../../libs/libpaper/configure | |
make | |
make check | |
cd ../../../.. | |
mkdir -p ./source/Work/libs/pixman | |
cd ./source/Work/libs/pixman | |
../../../libs/pixman/configure | |
make | |
make check | |
cd ../../../.. | |
mkdir -p ./source/Work/libs/cairo | |
cd ./source/Work/libs/cairo | |
../../../libs/cairo/configure | |
make | |
make check | |
cd ../../../.. | |
mkdir -p ./source/Work/libs/gmp | |
cd ./source/Work/libs/gmp | |
../../../libs/gmp/configure | |
make | |
make check | |
cd ../../../.. | |
mkdir -p ./source/Work/libs/mpfr | |
cd ./source/Work/libs/mpfr | |
../../../libs/mpfr/configure | |
make | |
make check | |
cd ../../../.. | |
mkdir -p ./source/Work/libs/mpfi | |
cd ./source/Work/libs/mpfi | |
../../../libs/mpfi/configure | |
make | |
make check | |
- name: make kpathsea, ptexenc | |
shell: msys2 {0} | |
run: | | |
mkdir -p ./source/Work/texk | |
mkdir -p ./source/Work/texk/kpathsea | |
cd ./source/Work/texk/kpathsea | |
../../../texk/kpathsea/configure | |
make | |
## link without libtool | |
echo -e "###\n### link without libtool kpsewhich.exe\n###" | |
gcc -Wimplicit -Wreturn-type -g -O2 -o kpsewhich.exe kpsewhich.o .libs/libkpathsea.a || \ | |
echo -e "**\n** fail to link kpsewhich.exe" | |
make check || cat tests/kpsesafe.log | |
cd ../../../.. | |
mkdir -p ./source/Work/texk/ptexenc | |
cd ./source/Work/texk/ptexenc | |
../../../texk/ptexenc/configure | |
make | |
- name: upmendex | |
shell: msys2 {0} | |
run: | | |
mkdir -p ./source/Work/texk/upmendex | |
cd ./source/Work/texk/upmendex | |
../../../texk/upmendex/configure \ | |
--with-system-icu | |
make | |
./upmendex --help | |
make check | |
- name: dvipdfm-x | |
shell: msys2 {0} | |
run: | | |
mkdir -p ./source/Work/texk/dvipdfm-x | |
cd ./source/Work/texk/dvipdfm-x | |
../../../texk/dvipdfm-x/configure | |
make | |
make check | |
- name: dvipsk | |
shell: msys2 {0} | |
run: | | |
mkdir -p ./source/Work/texk/dvipsk | |
cd ./source/Work/texk/dvipsk | |
../../../texk/dvipsk/configure | |
make | |
make check | |
- name: makejvf | |
shell: msys2 {0} | |
run: | | |
mkdir -p ./source/Work/texk/makejvf | |
cd ./source/Work/texk/makejvf | |
../../../texk/makejvf/configure | |
make | |
make check | |
- name: mendex | |
shell: msys2 {0} | |
run: | | |
mkdir -p ./source/Work/texk/mendexk | |
cd ./source/Work/texk/mendexk | |
../../../texk/mendexk/configure | |
make | |
make check | |
- name: dviout-util | |
shell: msys2 {0} | |
run: | | |
mkdir -p ./source/Work/texk/dviout-util | |
cd ./source/Work/texk/dviout-util | |
../../../texk/dviout-util/configure | |
make | |
make check | |
- name: dvi2tty | |
shell: msys2 {0} | |
run: | | |
mkdir -p ./source/Work/texk/dvi2tty | |
cd ./source/Work/texk/dvi2tty | |
../../../texk/dvi2tty/configure | |
make | |
make check | |
- name: seetex | |
shell: msys2 {0} | |
run: | | |
mkdir -p ./source/Work/texk/seetexk | |
cd ./source/Work/texk/seetexk | |
../../../texk/seetexk/configure | |
make | |
make check | |
env: | |
run_stdio_test: "0" | |
TEXMFCNF: "../../../texk/kpathsea" | |
- name: dvidvi | |
shell: msys2 {0} | |
run: | | |
mkdir -p ./source/Work/texk/dvidvi | |
cd ./source/Work/texk/dvidvi | |
../../../texk/dvidvi/configure | |
make | |
make check | |
env: | |
TEXMFCNF: "../../../texk/kpathsea" | |
- name: bibtex-x | |
shell: msys2 {0} | |
run: | | |
mkdir -p ./source/Work/texk/bibtex-x | |
cd ./source/Work/texk/bibtex-x | |
../../../texk/bibtex-x/configure \ | |
--with-system-icu | |
make | |
## link without libtool | |
echo -e "###\n### link without libtool\n###" | |
gcc -Wimplicit -Wreturn-type -g -O2 -o bibtex8.exe bibtex8-bibtex-1.o bibtex8-bibtex-2.o bibtex8-bibtex-3.o bibtex8-bibtex-4.o bibtex8-bibtex.o bibtex8-utils.o ../../texk/kpathsea/.libs/libkpathsea.a || \ | |
echo -e "**\n** fail to link bibtex8.exe" | |
g++ -g -O2 -o bibtexu.exe bibtexu-bibtex-1.o bibtexu-bibtex-2.o bibtexu-bibtex-3.o bibtexu-bibtex-4.o bibtexu-bibtex.o bibtexu-utils.o ../../texk/kpathsea/.libs/libkpathsea.a -L/mingw64/lib -licuio -licuin -licuuc -licudt -lpthread -lm || \ | |
echo -e "**\n** fail to link bibtexu.exe" | |
./bibtex8.exe --version | |
./bibtexu.exe --version | |
make check | |
env: | |
run_stdio_test: "0" | |
TEXMFCNF: "../../../texk/kpathsea" | |
- name: web2c | |
shell: msys2 {0} | |
run: | | |
mkdir -p ./source/Work/texk/web2c | |
cd ./source/Work/texk/web2c | |
../../../texk/web2c/configure \ | |
--srcdir=../../../texk/web2c \ | |
--disable-all-pkgs \ | |
--enable-debug \ | |
--enable-tex --disable-tex-synctex \ | |
--enable-etex --enable-etex-synctex \ | |
--enable-ptex --enable-ptex-synctex \ | |
--enable-uptex --enable-uptex-synctex \ | |
--enable-euptex --enable-euptex-synctex \ | |
--enable-mp --enable-pmp --enable-upmp \ | |
--disable-pdftex --disable-pdftex-synctex \ | |
--enable-web-progs \ | |
--enable-synctex \ | |
--disable-mf --disable-mf-nowin \ | |
--disable-aleph \ | |
--disable-luatex --disable-luajittex --disable-luahbtex --disable-luajithbtex \ | |
--disable-xetex --disable-xetex-synctex \ | |
--disable-mflua --disable-mflua-nowin --disable-mfluajit --disable-mfluajit-nowin \ | |
--disable-epsfwin --disable-hp2627win --disable-mftalkwin --disable-nextwin \ | |
--disable-regiswin --disable-suntoolswin --disable-tektronixwin --disable-unitermwin \ | |
--disable-missing \ | |
--with-gnu-ld \ | |
--without-x \ | |
--without-mf-x-toolkit \ | |
--without-system-kpathsea \ | |
--without-system-ptexenc \ | |
--without-system-zlib \ | |
--without-system-libpng \ | |
--without-system-freetype2 \ | |
--without-system-pixman \ | |
--without-system-cairo \ | |
--without-system-gmp \ | |
--without-system-mpfr \ | |
--without-system-mpfi \ | |
--without-system-poppler \ | |
--without-system-xpdf \ | |
--without-system-zziplib \ | |
--without-system-teckit \ | |
--without-system-icu \ | |
--without-system-graphite2 \ | |
--without-system-harfbuzz | |
make || echo "fail to make" | |
echo "!!! make complete !!!" | |
make check || echo "fail to make check" | |
echo "!!! make check complete !!!" | |
- name: web2c link without libtool | |
shell: msys2 {0} | |
run: | | |
cd ./source/Work/texk/web2c | |
## link without libtool | |
echo -e "###\n### link without libtool ptex.exe\n###" | |
gcc -Wimplicit -Wreturn-type -g -O2 -o ptex.exe ptexdir/ptex-ptexextra.o ptex-ptexini.o ptex-ptex0.o ptex-ptex-pool.o libkanji.a lib/libp.a ../../texk/ptexenc/.libs/libptexenc.a lib/lib.a ../../texk/kpathsea/.libs/libkpathsea.a ../../libs/zlib/libz.a -lwsock32 || \ | |
echo -e "**\n** fail to link ptex.exe" | |
echo -e "###\n### link without libtool uptex.exe\n###" | |
gcc -Wimplicit -Wreturn-type -g -O2 -o uptex.exe uptexdir/uptex-uptexextra.o uptex-uptexini.o uptex-uptex0.o uptex-uptex-pool.o libukanji.a lib/libp.a ../../texk/ptexenc/.libs/libptexenc.a lib/lib.a ../../texk/kpathsea/.libs/libkpathsea.a ../../libs/zlib/libz.a -lwsock32 || \ | |
echo -e "**\n** fail to link uptex.exe" | |
echo -e "###\n### link without libtool euptex.exe\n###" | |
gcc -Wimplicit -Wreturn-type -g -O2 -o euptex.exe euptexdir/euptex-euptexextra.o synctexdir/euptex-synctex.o euptex-euptexini.o euptex-euptex0.o euptex-euptex-pool.o libukanji.a lib/libp.a ../../texk/ptexenc/.libs/libptexenc.a lib/lib.a ../../texk/kpathsea/.libs/libkpathsea.a -lwsock32 libmd5.a ../../libs/zlib/libz.a || \ | |
echo -e "**\n** fail to link euptex.exe" | |
- name: web2c version check | |
shell: msys2 {0} | |
run: | | |
cd ./source/Work/texk/web2c | |
./ctie.exe --version || echo "ctie" | |
echo "" | |
./ctwill.exe --version || echo "ctwill" | |
echo "" | |
./cweave.exe --version || echo "cwaeve" | |
echo "" | |
./tie.exe --version || echo "tie" | |
echo "" | |
./twill.exe --version || echo "twill" | |
echo "" | |
./tex.exe --version || echo "tex" | |
echo "" | |
./etex.exe --version || echo "etex" | |
echo "" | |
./ptex.exe --version || echo "ptex" | |
echo "" | |
./uptex.exe --version || echo "uptex" | |
echo "" | |
./euptex.exe --version || echo "euptex" | |
echo "" | |
./updvitype.exe --version || echo "updvitype" | |
echo "" | |
./uppltotf.exe --version || echo "uppltotf" | |
echo "" | |
./uptftopl.exe --version || echo "uptftopl" | |
echo "" | |
./upbibtex.exe --version || echo "upbibtex" | |
echo "" | |
./dvitype.exe --version || echo "dvitype" | |
echo "" | |
./dvicopy.exe --version || echo "dvicopy" | |
echo "" | |
./pltotf.exe --version || echo "pltotf" | |
echo "" | |
./tftopl.exe --version || echo "tftopl" | |
echo "" | |
./bibtex.exe --version || echo "bibtex" | |
echo "" | |
./gftodvi.exe --version || echo "gftodvi" | |
echo "" | |
./gftopk.exe --version || echo "gftopk" | |
echo "" | |
./gftype.exe --version || echo "gftype" | |
echo "" | |
./mft.exe --version || echo "mft" | |
echo "" | |
./patgen.exe --version || echo "patgen" | |
echo "" | |
./pktogf.exe --version || echo "pktogf" | |
echo "" | |
./pktype.exe --version || echo "pktype" | |
echo "" | |
./pooltype.exe --version || echo "pooltype" | |
echo "" | |
./vftovp.exe --version || echo "vftovp" | |
echo "" | |
./vptovf.exe --version || echo "vptovf" | |
echo "" | |
./weave.exe --version || echo "weave" | |
echo "" | |
./mpost.exe --version || echo "mpost" | |
echo "" | |
./pmpost.exe --version || echo "pmpost" | |
echo "" | |
./upmpost.exe --version || echo "upmpost" | |
echo "" | |
./synctex.exe help || echo "synctex" | |
env: | |
TEXMFCNF: "../../../texk/kpathsea" | |
- name: web2c check | |
shell: msys2 {0} | |
run: | | |
cd ./source/Work/texk/web2c | |
export KPSEWHICH="../kpathsea/kpsewhich.exe" | |
export LN_S=cp | |
$srcdir/ptexdir/pver.test || echo -e "**\n** failed: p/pver.test\n**" | |
echo "" | |
$srcdir/ptexdir/wcfname.test || echo -e "**\n** failed: p/wcfname.test\n**" | |
echo "" | |
$srcdir/uptexdir/upver.test || echo -e "**\n** failed: up/upver.test\n**" | |
echo "" | |
$srcdir/uptexdir/upkcat.test || echo -e "**\n** failed: up/upkcat.test\n**" | |
echo "" | |
$srcdir/uptexdir/wcfname.test || echo -e "**\n** failed: up/wcfname.test\n**" | |
echo "" | |
$srcdir/uptexdir/wcfname0.test || echo -e "**\n** failed: up/wcfname0.test\n**" | |
echo "" | |
$srcdir/euptexdir/pdfprimitive.test || echo -e "**\n** failed: eup/pdfprimitive.test\n**" | |
echo "" | |
$srcdir/euptexdir/eupver.test || echo -e "**\n** failed: eup/eupver.test\n**" | |
echo "" | |
$srcdir/euptexdir/wcfname.test || echo -e "**\n** failed: eup/wcfname.test\n**" | |
echo "" | |
$srcdir/euptexdir/wcfname0.test || echo -e "**\n** failed: eup/wcfname0.test\n**" | |
echo "" | |
export abs_srcdir=../$srcdir | |
export DIFF=diff | |
export DIFFFLAGS="--strip-trailing-cr --ignore-matching-lines 'DVItype'" | |
$srcdir/ptexdir/ptriptest.test || cat ptripdir/ptrip.log | |
echo "" | |
$srcdir/uptexdir/ptriptest.test || cat upptripdir/ptrip.log | |
echo "" | |
$srcdir/uptexdir/uptriptest.test || cat uptripdir/uptrip.log | |
echo "" | |
$srcdir/euptexdir/eptriptest.test || cat eupptripdir/eptrip.log | |
echo "" | |
$srcdir/euptexdir/euptriptest.test || cat euptripdir/euptrip.log | |
echo "" | |
env: | |
srcdir: "../../../texk/web2c" | |
TEXMFCNF: "../../../texk/kpathsea" | |
- run: echo "⛄ This job's status is ${{ job.status }}." |