diff options
author | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2021-10-15 20:47:47 +0300 |
---|---|---|
committer | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2021-10-24 01:35:10 +0300 |
commit | 93c4d2d0563ee982f862a8acc17b52bc3280507d (patch) | |
tree | 514b3a5c4a94888b5627c557eefbe0bf77593e22 /.github | |
parent | 18a0543d0a5959c50c4b30f8aed5387465fbaa8a (diff) | |
download | sciteco-93c4d2d0563ee982f862a8acc17b52bc3280507d.tar.gz |
statically link Win32 Curses nightly builds and enable test suites
* There is little sense in linking the PDCurses builds statically as
we have to ship most DLLs anyway.
So we now link even the sciteco binary itself dynamically.
This could save a few megabytes in the resulting Zip.
* SciTECO is now fast enough to be able to run the test suites even on
Win32.
Diffstat (limited to '.github')
-rw-r--r-- | .github/workflows/nightly.yml | 37 |
1 files changed, 20 insertions, 17 deletions
diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml index 6e131fd..1f66fab 100644 --- a/.github/workflows/nightly.yml +++ b/.github/workflows/nightly.yml @@ -84,24 +84,30 @@ jobs: - name: Configure Build env: PDCURSES_CFLAGS: -I/mingw32/include/pdcurses/ + # FIXME: glib on MinGW supports static linking but the gspawn + # helper binaries are still linked dynamically, forcing us to ship + # all DLLs anyway. Therefore it makes little sense to link SciTECO + # itself statically - it only wastes a few MB. + # You will also have to add --enable-static-executables. # The additional Windows libraries are for PDCursesMod/WinGUI: - PDCURSES_LIBS: -lpdcurses -lgdi32 -lcomdlg32 - LIBGLIB_LIBS: -lglib-2.0 -lintl -liconv -lpcre -lole32 -lws2_32 -luuid +# PDCURSES_LIBS: -lpdcurses -lgdi32 -lcomdlg32 +# LIBGLIB_LIBS: -lglib-2.0 -lintl -liconv -lpcre -lole32 -lws2_32 -luuid # FIXME: Once there is an --enable-lto, we should use that. - CFLAGS: -g -O3 -flto -DGLIB_STATIC_COMPILATION - CXXFLAGS: -g -O3 -flto +# CFLAGS: -O3 -flto -DGLIB_STATIC_COMPILATION + CFLAGS: -O3 -flto + CXXFLAGS: -O3 -flto LDFLAGS: -flto run: | autoreconf -i - ./configure --with-interface=pdcurses-gui --enable-html-manual --enable-static-executables + ./configure --with-interface=pdcurses-gui --enable-html-manual - name: make run: make -j 2 - run: make install-strip # NOTE: The test suite must be run in verbose mode because if it fails # we won't be able to analyze testsuite.log. -# - name: Run Test Suite -# run: make check TESTSUITEFLAGS="--verbose" + - name: Run Test Suite + run: make check TESTSUITEFLAGS="--verbose" - name: Prepare Distribution Directory run: | @@ -112,13 +118,10 @@ jobs: cp -r /mingw32/share/doc/sciteco/* temp-bin/ cp COPYING ChangeLog temp-bin/ cp /mingw32/bin/gspawn-win32-helper*.exe temp-bin/ - # FIXME: Even though MSYS provides working statically-linked - # Glib libraries, the g_spawn() helpers still depend on the DLL. - # This could perhaps be avoided by downloading our own self-built - # executable from somewhere. - # Else, there is little sense in linking the Curses builds statically - # as only libstdc++-6.dll is missing. + # FIXME: See above. We currently link dynamically. cp /mingw32/bin/{libglib-2.0-0,libpcre-1,libintl-8,libiconv-2,libwinpthread-1,libgcc_s_dw2-1}.dll temp-bin/ + cp /mingw32/bin/libstdc++-6.dll temp-bin/ + cp /mingw32/bin/libpdcurses.dll temp-bin/ - name: Get Current Date id: date run: echo "::set-output name=date::$(date +'%Y-%m-%d')" @@ -166,8 +169,8 @@ jobs: - name: Configure Build env: # FIXME: Once there is an --enable-lto, we should use that. - CFLAGS: -g -O3 -flto - CXXFLAGS: -g -O3 -flto + CFLAGS: -O3 -flto + CXXFLAGS: -O3 -flto LDFLAGS: -flto run: | autoreconf -i @@ -178,8 +181,8 @@ jobs: - run: make install-strip # NOTE: The test suite must be run in verbose mode because if it fails # we won't be able to analyze testsuite.log. -# - name: Run Test Suite -# run: make check TESTSUITEFLAGS="--verbose" + - name: Run Test Suite + run: make check TESTSUITEFLAGS="--verbose" - name: Prepare Distribution Directory run: | |