From: Patrick Steinhardt Date: Sat, 7 Mar 2020 16:29:08 +0000 (+0100) Subject: build: Fix option to explicitly disable memory debugging X-Git-Tag: grub-2.06-rc1~290 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2c43ab4ef792ca910cf905677bf3ffc2b3b431ba;p=thirdparty%2Fgrub.git build: Fix option to explicitly disable memory debugging The memory management system supports a debug mode that can be enabled at build time by passing "--enable-mm-debug" to the configure script. Passing the option will cause us define MM_DEBUG as expected, but in fact the reverse option "--disable-mm-debug" will do the exact same thing and also set up the define. This currently causes the build of "lib/gnulib/base64.c" to fail as it tries to use `grub_debug_malloc()` and `grub_debug_free()` even though both symbols aren't defined. Seemingly, `AC_ARG_ENABLE()` will always execute the third argument if either the positive or negative option was passed. Let's thus fix the issue by moving the call to`AC_DEFINE()` into an explicit `if test $xenable_mm_debug` block, similar to how other defines work. Signed-off-by: Patrick Steinhardt Reviewed-by: Daniel Kiper Reviewed-by: Paul Menzel --- diff --git a/configure.ac b/configure.ac index 4766f4190..88c0adbae 100644 --- a/configure.ac +++ b/configure.ac @@ -1453,9 +1453,11 @@ LIBS="$tmp_LIBS" # Memory manager debugging. AC_ARG_ENABLE([mm-debug], AS_HELP_STRING([--enable-mm-debug], - [include memory manager debugging]), - [AC_DEFINE([MM_DEBUG], [1], - [Define to 1 if you enable memory manager debugging.])]) + [include memory manager debugging])) +if test x$enable_mm_debug = xyes; then + AC_DEFINE([MM_DEBUG], [1], + [Define to 1 if you enable memory manager debugging.]) +fi AC_ARG_ENABLE([cache-stats], AS_HELP_STRING([--enable-cache-stats],