]> PatchyGit - patchyircd.git/commitdiff
configure.ac: check for a bunch of warning flags
authorEgor <egor@patchysicp.xyz>
Sun, 15 Jun 2025 07:35:53 +0000 (10:35 +0300)
committerEgor <egor@patchysicp.xyz>
Sun, 15 Jun 2025 07:35:53 +0000 (10:35 +0300)
Makefile.am
configure.ac

index cb68af8..d3d9ccc 100644 (file)
@@ -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
index ca3e2fd..e87fd75 100644 (file)
@@ -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],