Skip to content

building & testing on MinGW #58

building & testing on MinGW

building & testing on MinGW #58

Workflow file for this run

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 }}."