From: Egor Date: Sun, 15 Jun 2025 07:35:53 +0000 (+0300) Subject: configure.ac: check for a bunch of warning flags X-Git-Url: https://git.patchysicp.xyz/?a=commitdiff_plain;h=3961eb8d4f183584aed66b55d613666f6f038a29;p=patchyircd.git configure.ac: check for a bunch of warning flags --- diff --git a/Makefile.am b/Makefile.am index cb68af8..d3d9ccc 100644 --- a/Makefile.am +++ b/Makefile.am @@ -20,9 +20,8 @@ setpass_SOURCES = \ src/crypt_blowfish.cpp src/crypt_blowfish.hpp \ src/passwd.cpp src/passwd.hpp \ src/setpass.cpp -AM_CXXFLAGS = $(LIBUV_CFLAGS) $(LIBTLS_CFLAGS) $(LUA_CFLAGS) +AM_CXXFLAGS = $(WARNINGCXXFLAGS) $(LIBUV_CFLAGS) $(LIBTLS_CFLAGS) $(LUA_CFLAGS) LDADD = $(LIBUV_LIBS) $(LIBTLS_LIBS) $(LUA_LIBS) -AM_CXXFLAGS += -Wall -Wextra $(WMISSINGVAR) dist_ircddata_DATA = \ data/help.example.txt diff --git a/configure.ac b/configure.ac index ca3e2fd..e87fd75 100644 --- a/configure.ac +++ b/configure.ac @@ -15,10 +15,19 @@ AM_SILENT_RULES([yes]) AC_LANG([C++]) AC_PROG_CXX AX_CXX_COMPILE_STDCXX([20], [noext]) -# TODO: -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes -# TODO: -Wshorten-64-to-32 -Wimplicit-int-conversion -Wextra-semi-stmt -Wcast-qual -AX_CHECK_COMPILE_FLAG([-Wmissing-variable-declarations], - [AC_SUBST([WMISSINGVAR], [-Wmissing-variable-declarations])]) +AC_SUBST([WARNINGCXXFLAGS]) +AC_DEFUN([CHECK_WARN], [ + AX_CHECK_COMPILE_FLAG([$1], [WARNINGCXXFLAGS="$WARNINGCXXFLAGS $1"], [], m4_if([$2], [], [-Werror]))]) +CHECK_WARN([-Wall]) +CHECK_WARN([-Wextra]) +CHECK_WARN([-Wstrict-prototypes]) +CHECK_WARN([-Wold-style-definition]) +CHECK_WARN([-Wmissing-prototypes]) +CHECK_WARN([-Wmissing-variable-declarations]) +CHECK_WARN([-Wshorten-64-to-32]) +CHECK_WARN([-Wimplicit-int-conversion]) +CHECK_WARN([-Wextra-semi-stmt], [yes]) +CHECK_WARN([-Wcast-qual]) AC_DEFINE([_GNU_SOURCE], [1]) AC_ARG_WITH([ircddatadir],