From 3a8bd522b84689438aadd31dcbdd97a4130ff5d8 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Tue, 17 May 2022 12:43:51 +0200 Subject: [PATCH] waf: Check for -Wno-error=array-bounds flags BUG: https://bugzilla.samba.org/show_bug.cgi?id=15073 Signed-off-by: Andreas Schneider Reviewed-by: Stefan Metzmacher (backported from commit f340b8847242a7d6ae81e37118c6a6d352fb2d66) --- buildtools/wafsamba/samba_autoconf.py | 3 +++ lib/util/wscript_build | 21 +++++++++++++++++++-- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/buildtools/wafsamba/samba_autoconf.py b/buildtools/wafsamba/samba_autoconf.py index 78927d85193..9db53e40724 100644 --- a/buildtools/wafsamba/samba_autoconf.py +++ b/buildtools/wafsamba/samba_autoconf.py @@ -806,6 +806,9 @@ int main(void) { conf.env['EXTRA_CFLAGS'] = [] conf.env['EXTRA_CFLAGS'].extend(TO_LIST("-Werror=format")) + if CHECK_CFLAGS(conf, ["-Wno-error=array-bounds"]): + conf.define('HAVE_WNO_ERROR_ARRAY_BOUNDS', 1) + if not Options.options.disable_warnings_as_errors: conf.ADD_NAMED_CFLAGS('PICKY_CFLAGS', '-Werror -Wno-error=deprecated-declarations', testflags=True) conf.ADD_NAMED_CFLAGS('PICKY_CFLAGS', '-Wno-error=tautological-compare', testflags=True) diff --git a/lib/util/wscript_build b/lib/util/wscript_build index 2f31e8fa5b1..8e1b101ab14 100644 --- a/lib/util/wscript_build +++ b/lib/util/wscript_build @@ -163,6 +163,16 @@ else: local_include=False, install=False) + # TODO: Rewrite ms_fnmatch_core() for a better API. + ms_fnmatch_cflags='' + if bld.CONFIG_SET('HAVE_WNO_ERROR_ARRAY_BOUNDS'): + ms_fnmatch_cflags='-Wno-error=array-bounds' + bld.SAMBA_SUBSYSTEM('SAMBA_UTIL_MS_FNMATCH', + source='ms_fnmatch.c', + deps='talloc', + cflags=ms_fnmatch_cflags, + local_include=False) + bld.SAMBA_LIBRARY('samba-util', source=''' base64.c @@ -172,7 +182,6 @@ else: getpass.c idtree_random.c memcache.c - ms_fnmatch.c params.c rbtree.c rfc1738.c @@ -192,7 +201,15 @@ else: util_str_common.c util_strlist_v3.c ''', - deps='samba-util-core DYNCONFIG close-low-fd tiniparser genrand util_str_hex', + deps=''' + samba-util-core + DYNCONFIG + close-low-fd + tiniparser + genrand + util_str_hex + SAMBA_UTIL_MS_FNMATCH + ''', public_deps='talloc tevent execinfo pthread LIBCRYPTO charset util_setid', public_headers=''' attr.h -- 2.37.1