]> git.ipfire.org Git - thirdparty/bacula.git/commitdiff
Add --enable-check-dmsg option to ./configure
authorEric Bollengier <eric@baculasystems.com>
Thu, 6 Oct 2022 12:59:47 +0000 (14:59 +0200)
committerEric Bollengier <eric@baculasystems.com>
Thu, 14 Sep 2023 11:56:59 +0000 (13:56 +0200)
13 files changed:
bacula/autoconf/Make.common.in
bacula/autoconf/configure.in
bacula/scripts/check_dmsg [new file with mode: 0755]
bacula/src/cats/Makefile.in
bacula/src/console/Makefile.in
bacula/src/dird/Makefile.in
bacula/src/filed/Makefile.in
bacula/src/findlib/Makefile.in
bacula/src/lib/Makefile.in
bacula/src/stored/Makefile.in
bacula/src/win32/Makefile
bacula/src/win32/Makefile.inc.in
bacula/src/win32/Makefile.rules

index 2dc68f6d879bc43de6e84d97f84cd72089e5315f..c681f639d43eb577af65b530faa0ff0900c28c13 100644 (file)
@@ -59,6 +59,8 @@ GMAKE = @GMAKE@
 RANLIB = @RANLIB@
 MKDIR = @BUILD_DIR@/autoconf/mkinstalldirs
 INSTALL = @INSTALL@
+CHECK_DMSG = @CHECK_DMSG@
+DO_CHECK_DMSG = @DO_CHECK_DMSG@
 # add the -s to the following in PRODUCTION mode
 INSTALL_PROGRAM = $(INSTALL) -m @SBINPERM@
 INSTALL_PROGRAM_ALL = $(INSTALL) -m 755
index bb7530608c4cc2547ab19d348984830dcb0df72b..1952e3198bbfbb582b1bd88ece50f45210ced2cc 100644 (file)
@@ -190,6 +190,27 @@ AC_SUBST(LOCAL_CFLAGS)
 AC_SUBST(LOCAL_LDFLAGS)
 AC_SUBST(LOCAL_DEFS)
 
+dnl --------------------------------------------------
+do_check_dmsg=no
+AC_ARG_ENABLE(check-dmsg,
+   AC_HELP_STRING([--enable-check-dmsg], [enable check for Dmsg(0) @<:@default=no@:>@]),
+   [
+       if test x$enableval = xyes; then
+         do_check_dmsg=yes
+       fi
+   ]
+)
+
+if test x$do_check_dmsg = xyes; then
+   DO_CHECK_DMSG=
+   CHECK_DMSG=$PWD/scripts/check_dmsg
+else
+   DO_CHECK_DMSG=true
+   CHECK_DMSG=true
+fi
+AC_SUBST(DO_CHECK_DMSG)
+AC_SUBST(CHECK_DMSG)
+
 dnl --------------------------------------------------
 dnl Libtool config
 dnl --------------------------------------------------
diff --git a/bacula/scripts/check_dmsg b/bacula/scripts/check_dmsg
new file mode 100755 (executable)
index 0000000..0ff3e24
--- /dev/null
@@ -0,0 +1,22 @@
+#!/usr/bin/perl -w
+use strict;
+
+# Copyright (C) 2000-2022 Kern Sibbald
+# License: BSD 2-Clause; see file LICENSE-FOSS
+
+# Written by Eric Bollengier
+# Code analysis tool to detect incorrect debug levels
+
+# Usage:
+# g++ -E  -c  -fno-strict-aliasing -fno-exceptions -fno-rtti  -I. -I..  -g -O2 -Wall -fno-strict-aliasing -fno-exceptions -fno-rtti  file.c | check_dmsg
+
+my $found=0;
+while (my $line = <>) {
+    if ($line =~ /d_msg\("(.+?)\", (\d+), 0, "(.+?)",/) {
+        print "$1:$2\t[$3]\n";
+        $found++;
+    }
+}
+
+print "Found $found Dmsg(0) problems\n" if ($found);
+exit ($found>0);
index d9145cdceaffb8262468a8e830edb7198d5c1b6e..44bec65ef75ed7da33eeb14230281fa5cd1def26 100644 (file)
@@ -72,6 +72,7 @@ LIBBACCATS_LT_RELEASE = @LIBBACCATS_LT_RELEASE@
 # inference rules
 .c.o:
        @echo "Compiling $<"
+       $(NO_ECHO)$(DO_CHECK_DMSG) $(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) -E $< | $(CHECK_DMSG)
        $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $<
 
 .c.lo:
index 2c64320680097179925f5417bf86a0b1cb71aa93..67f1b5ad6aa190969695fe435faeb969925e48a0 100644 (file)
@@ -41,6 +41,7 @@ CONS_LDFLAGS=@CONS_LDFLAGS@
 # inference rules
 .c.o:
        @echo "Compiling $<"
+       $(NO_ECHO)$(DO_CHECK_DMSG) $(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) -E $< | $(CHECK_DMSG)
        $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c $(CPPFLAGS) $(CONS_INC) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $<
 #-------------------------------------------------------------------------
 all: Makefile bconsole @STATIC_CONS@ bbconsjson
index dac30cd7fa68c15c0805add94f88aeee8b6655bd..5367962d396450f71a080d58d5f54f1af2c94706 100644 (file)
@@ -61,6 +61,7 @@ EXTRAOBJS = @OBJLIST@
 # inference rules
 .c.o:
        @echo "Compiling $<"
+       $(NO_ECHO)$(DO_CHECK_DMSG) $(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) -E $< | $(CHECK_DMSG)
        $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $<
 #-------------------------------------------------------------------------
 all: Makefile bacula-dir @STATIC_DIR@ bdirjson
index 74dc29fe09948ef3dd12c7b6d6460c776605f3ae..b2b0ed757f434218271d178b9fa04497e02e3f94 100644 (file)
@@ -71,6 +71,7 @@ WIN32LIBS = $(@WIN32@)
 # inference rules
 .c.o:
        @echo "Compiling $<"
+       $(NO_ECHO)$(DO_CHECK_DMSG) $(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) -E $< | $(CHECK_DMSG)
        $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) $(LZO_INC) $(ZSTD_INC) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $<
 #-------------------------------------------------------------------------
 all: Makefile @WIN32@ bacula-fd @STATIC_FD@ bfdjson
index dea0e1020246deda6e570a8dc6d6280fbc846c57..49327555c1835fa32ab2aea65892288e3531e0fe 100644 (file)
@@ -44,6 +44,7 @@ LIBBACFIND_LT_RELEASE = @LIBBACFIND_LT_RELEASE@
 # inference rules
 .c.o:
        @echo "Compiling $<"
+       $(NO_ECHO)$(DO_CHECK_DMSG) $(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) -E $< | $(CHECK_DMSG)
        $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $<
 
 .c.lo:
index 9c282b0490de96347b3c96b919d7b2aaab7b428e..b9b832d7d2434dbd96e07863f07d99704a0669d5 100644 (file)
@@ -86,18 +86,22 @@ LIBBACFINDTARGET = ../findlib/libbacfind.la
 # inference rules
 .c.o:
        @echo "Compiling $<"
+       $(NO_ECHO)$(DO_CHECK_DMSG) $(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) -E $< | $(CHECK_DMSG)
        $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $<
 
 .c.lo:
        @echo "Compiling $<"
+       $(NO_ECHO)$(DO_CHECK_DMSG) $(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) -E $< | $(CHECK_DMSG)
        $(NO_ECHO)$(LIBTOOL_COMPILE) $(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $<
 
 .cc.o:
        @echo "Compiling $<"
+       $(NO_ECHO)$(DO_CHECK_DMSG) $(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) -E $< | $(CHECK_DMSG)
        $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $<
 
 .cc.lo:
        @echo "Compiling $<"
+       $(NO_ECHO)$(DO_CHECK_DMSG) $(CXX) $(DEFS) $(DEBUG) -E -c $(WCFLAGS) $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $< | $(CHECK_DMSG)
        $(NO_ECHO)$(LIBTOOL_COMPILE) $(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $<
 
 # specific build rules
index e0a5acc36d5b895de4eacb970cbd65fbadebc8f5..1a6ce2341afebd461eee924e69ac2b76d57d6848 100644 (file)
@@ -159,7 +159,8 @@ SD_LIBS = -lbacsd -lbaccfg -lbac -lbacfind
 # inference rules
 .c.o:
        @echo "Compiling $<"
-       $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $<
+       $(NO_ECHO)$(DO_CHECK_DMSG) $(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) -E $< | $(CHECK_DMSG)
+       $(NO_ECHO)$(CXX) $(DEFS) $(DEBUG) -c $(WCFLAGS) $(CPPFLAGS) $(TOKYOCABINET_INC) -I$(srcdir) -I$(basedir) $(DINCLUDE) $(CFLAGS) $<
 
 .c.lo:
        @echo "LT Compiling $<"
index 65aa42a5d1a3ae50ad496dd09d9cbeb37656c9d9..0b6181ba6e779c5d10ec671b7931fde6412b2acb 100644 (file)
@@ -187,6 +187,7 @@ Makefile.inc:
                -e "s^@WIN32INCDIR@^$${INCDIR}^" \
                -e "s^@WIN32DLLDIR@^$${DLLDIR}^" < Makefile.inc.in > $@
        @grep EXTRA ../../autoconf/Make.common >> $@
+       @grep DMSG ../../autoconf/Make.common >> $@
 
 # Used to build windows dependency in a docker container for example
 depkgs-win.tar.gz: External-mingw-w64 External-mingw32 build-depkgs-mingw32 build-depkgs-mingw-w64
index c754edc4381cc1b6749ced2fb372e85b1050ae67..d89bc0f8a4f756ebf4b0869cee480b425ae60681 100644 (file)
@@ -40,6 +40,9 @@ MINGW_BIN := @WIN32BINDIR@
 MINGW_INCLUDE := @WIN32INCDIR@
 MINGW_DLLDIR := @WIN32DLLDIR@
 
+DO_CHECK_DMSG = @DO_CHECK_DMSG@
+CHECK_DMSG = @CHECK_DMSG@
+
 # Point only to GCC (CC is already used for g++...)
 # Used to compile libobk for windows (just need simple gcc)
 GCC = $(MINGW_BIN)$(MINGW_BASE)-gcc
index a81fb82faf8e5ef949a231eef0c2990a8f807a0a..6099e0dda67e236eabd7560544d854be60067c15 100644 (file)
@@ -55,11 +55,13 @@ endef
 $(OBJDIR)/%.o: %.c
        @echo "Compiling $<"
        $(call checkdir, $@)
+       $(ECHO_CMD)$(DO_CHECK_DMSG) $(CXX) $(CFLAGS) -E $< | $(CHECK_DMSG)
        $(ECHO_CMD)$(CXX) $(CFLAGS) -c $< -o $@
 
 $(OBJDIR)/%.o: %.cpp
        @echo "Compiling $<"
        $(call checkdir, $@)
+       $(ECHO_CMD)$(DO_CHECK_DMSG) $(CXX) $(CFLAGS) -E $< | $(CHECK_DMSG)
        $(ECHO_CMD)$(CXX) $(CFLAGS) -c $< -o $@
 
 $(OBJDIR)/%.res: %.rc