1
0
Fork 0

Use ccache in the CI workflows

This commit is contained in:
krcroft 2020-03-22 09:22:27 -07:00 committed by Patryk Obara
parent 7957396d32
commit 2c8db8fbe4
17 changed files with 169 additions and 34 deletions

View file

View file

View file

@ -1,6 +1,6 @@
# Steps in-common to all OSes, plus some helper variables and functions.
STEPS=(pre_build clean autogen configure make_binary strip_binary dependencies post_build)
STEPS=(pre_build clean autogen configure make_binary strip_binary dependencies ccache_stats post_build)
executable="src/dosbox"
dependencies=(ldd "${executable}")
@ -35,6 +35,13 @@ function configure() {
fi
}
function ccache_stats() {
if [[ -n "${ccache}" ]]; then
underline "Cache statistics" "-"
ccache -s | grep --color=never 'hit\|size'
fi
}
function strip_binary() {
if [[ "${selected_type}" == "release" ]]; then
strip "${executable}"

View file

@ -1,2 +1,2 @@
# Package repo: https://packages.ubuntu.com/
packages+=(xvfb libtool build-essential libsdl2-dev libsdl2-net-dev libncurses-dev libopusfile-dev)
packages+=(ccache xvfb libtool build-essential libsdl2-dev libsdl2-net-dev libncurses-dev libopusfile-dev)

View file

@ -1,3 +1,3 @@
# Package repo: https://formulae.brew.sh/
delim="@"
packages+=(coreutils autogen autoconf automake make pkg-config libpng ncurses sdl2 sdl2_net opusfile)
packages+=(ccache coreutils autogen autoconf automake make pkg-config libpng ncurses sdl2 sdl2_net opusfile)

View file

@ -1,2 +1,2 @@
# Package repo: https://apps.fedoraproject.org/packages/
packages+=(xvfb libtool ncurses-devel SDL2-devel SDL2_net-devel opusfile-devel)
packages+=(ccache xvfb libtool ncurses-devel SDL2-devel SDL2_net-devel opusfile-devel)

View file

@ -1,3 +1,3 @@
# Package repo: https://www.macports.org/ports.php?by=name
delim=""
packages+=(coreutils autogen autoconf automake pkgconfig libpng ncurses libsdl2 libsdl2_net opusfile)
packages+=(ccache coreutils autogen autoconf automake pkgconfig libpng ncurses libsdl2 libsdl2_net opusfile)

View file

@ -2,6 +2,6 @@
# MSYS2 only supports the current latest releases of Clang and GCC, so we disable version customization
packages+=(autogen autoconf base-devel automake-wrapper binutils)
pkg_type=$([[ "${bits}" == "64" ]] && echo "x86_64" || echo "i686")
for pkg in pkg-config libtool libpng zlib ncurses pdcurses SDL2 SDL2_net opusfile; do
for pkg in ccache pkg-config libtool libpng zlib ncurses pdcurses SDL2 SDL2_net opusfile; do
packages+=("mingw-w64-${pkg_type}-${pkg}")
done

View file

@ -1,4 +1,4 @@
# Package repo: https://www.archlinux.org/packages/
# Arch offers 32-bit versions of SDL (but not others)
packages+=(xvfb libtool ncurses sdl2_net opusfile)
packages+=(ccache xvfb libtool ncurses sdl2_net opusfile)
[[ "${bits}" == "32" ]] && packages+=(lib32-sdl2) || packages+=(sdl2)

View file

@ -1,6 +1,6 @@
# Package repo: https://pkgs.org/
# openSUSE offers 32-bit versions of SDL and SDL_net (but not others)
packages+=(devel_basis xvfb libtool opusfile)
packages+=(ccache devel_basis xvfb libtool opusfile)
if [[ "${bits}" == "32" ]]; then
packages+=(ncurses-devel-32bit libSDL2-devel-32bit libSDL2_net-devel-32bit)