Merge branch 'clang-ci' into 'master'

ci: build dbus with clang as well

See merge request dbus/dbus!358
This commit is contained in:
Simon McVittie 2022-10-14 14:40:46 +00:00
commit b30c2c293d
3 changed files with 32 additions and 1 deletions

View file

@ -196,6 +196,15 @@ debian meson:
variables:
ci_buildsys: "meson-dist"
debian meson clang debug:
extends:
- .meson-common
- .debian-build
variables:
ci_buildsys: "meson-dist"
ci_compiler: "clang"
ci_variant: "debug"
debian mingw32 autotools debug:
extends: .debian-build
variables:

View file

@ -77,6 +77,10 @@ init_wine() {
# Build system under test: autotools or cmake
: "${ci_buildsys:=autotools}"
# ci_compiler:
# Compiler used to build dbus: gcc or clang
: "${ci_compiler:=gcc}"
# ci_distro:
# OS distribution in which we are testing
# Typical values: auto (detect at runtime), ubuntu, debian; maybe fedora in future
@ -265,6 +269,8 @@ esac
export MAKE=${make}
make="${make} -j${ci_parallel} V=1 VERBOSE=1"
export UBSAN_OPTIONS=print_stacktrace=1:print_summary=1:halt_on_error=1
case "$ci_buildsys" in
(autotools)
case "$ci_variant" in
@ -522,6 +528,12 @@ case "$ci_buildsys" in
;;
(*)
set -- -Db_sanitize=address,undefined "$@"
# https://github.com/mesonbuild/meson/issues/764
if [ "$ci_compiler" = "clang" ]; then
set -- -Db_lundef=false "$@"
fi
set -- -Db_pie=true "$@"
set -- -Duser_session=true "$@"
;;
@ -531,6 +543,14 @@ case "$ci_buildsys" in
;;
esac
case "$ci_compiler" in
(clang)
export CC=clang
;;
(*)
;;
esac
# Debian doesn't have similar convenience wrappers, but we can use
# a cross-file
if [ -z "$meson_setup" ] || ! command -v "$meson_setup" >/dev/null; then
@ -548,7 +568,7 @@ case "$ci_buildsys" in
$meson_setup "$@" "$srcdir"
meson compile -v
[ "$ci_test" = no ] || meson test
[ "$ci_test" = no ] || meson test --print-errorlogs
DESTDIR=DESTDIR meson install
( cd DESTDIR && find . -ls)
;;

View file

@ -148,6 +148,7 @@ case "$ci_distro" in
autotools-dev
ca-certificates
ccache
clang
cmake
debhelper
dh-autoreconf
@ -169,6 +170,7 @@ case "$ci_distro" in
libselinux1-dev
libsystemd-dev
libx11-dev
llvm
meson
ninja-build
sudo