Skip to content

Commit cb088b1

Browse files
committed
Merge #13005: Make --enable-debug to pick better options
9e49db2 Make --enable-debug to pick better options (Evan Klitzke) Pull request description: Cherry-picked (and rebased) 94189645e67f364c4445d62e2b00c282d885cbbf from the "up for grabs" PR: "[build] Make --enable-debug pick better options" (#12695). See previous review in #12695. Tree-SHA512: a93cdadcf13e2ef8519acb1ce4f41ce95057a388347bb0a86a5c164dc7d0b0d14d4bb2a466082d5a100b8d50de65c605c40abaed555e8ea77c99e28800a34439
2 parents 0dec5b5 + 9e49db2 commit cb088b1

File tree

2 files changed

+22
-12
lines changed

2 files changed

+22
-12
lines changed

configure.ac

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -243,14 +243,22 @@ AC_LANG_PUSH([C++])
243243
AX_CHECK_COMPILE_FLAG([-Werror],[CXXFLAG_WERROR="-Werror"],[CXXFLAG_WERROR=""])
244244

245245
if test "x$enable_debug" = xyes; then
246-
CPPFLAGS="$CPPFLAGS -DDEBUG -DDEBUG_LOCKORDER"
247-
if test "x$GCC" = xyes; then
248-
CFLAGS="$CFLAGS -g3 -O0"
249-
fi
246+
# Prefer -Og, fall back to -O0 if that is unavailable.
247+
AX_CHECK_COMPILE_FLAG(
248+
[-Og],
249+
[[DEBUG_CXXFLAGS="$DEBUG_CXXFLAGS -Og"]],
250+
[AX_CHECK_COMPILE_FLAG([-O0],[[DEBUG_CXXFLAGS="$DEBUG_CXXFLAGS -O0"]],,[[$CXXFLAG_WERROR]])],
251+
[[$CXXFLAG_WERROR]])
250252

251-
if test "x$GXX" = xyes; then
252-
CXXFLAGS="$CXXFLAGS -g3 -O0"
253-
fi
253+
# Prefer -g3, fall back to -g if that is unavailable.
254+
AX_CHECK_COMPILE_FLAG(
255+
[-g3],
256+
[[DEBUG_CXXFLAGS="$DEBUG_CXXFLAGS -g3"]],
257+
[AX_CHECK_COMPILE_FLAG([-g],[[DEBUG_CXXFLAGS="$DEBUG_CXXFLAGS -g"]],,[[$CXXFLAG_WERROR]])],
258+
[[$CXXFLAG_WERROR]])
259+
260+
AX_CHECK_PREPROC_FLAG([-DDEBUG],[[DEBUG_CPPFLAGS="$DEBUG_CPPFLAGS -DDEBUG"]],,[[$CXXFLAG_WERROR]])
261+
AX_CHECK_PREPROC_FLAG([-DDEBUG_LOCKORDER],[[DEBUG_CPPFLAGS="$DEBUG_CPPFLAGS -DDEBUG_LOCKORDER"]],,[[$CXXFLAG_WERROR]])
254262
fi
255263

256264
if test x$use_sanitizers != x; then
@@ -1272,6 +1280,8 @@ AC_SUBST(BITCOIN_CLI_NAME)
12721280
AC_SUBST(BITCOIN_TX_NAME)
12731281

12741282
AC_SUBST(RELDFLAGS)
1283+
AC_SUBST(DEBUG_CPPFLAGS)
1284+
AC_SUBST(DEBUG_CXXFLAGS)
12751285
AC_SUBST(ERROR_CXXFLAGS)
12761286
AC_SUBST(GPROF_CXXFLAGS)
12771287
AC_SUBST(GPROF_LDFLAGS)
@@ -1380,9 +1390,9 @@ echo " build os = $BUILD_OS"
13801390
echo
13811391
echo " CC = $CC"
13821392
echo " CFLAGS = $CFLAGS"
1383-
echo " CPPFLAGS = $CPPFLAGS"
1393+
echo " CPPFLAGS = $DEBUG_CPPFLAGS $HARDENED_CPPFLAGS $CPPFLAGS"
13841394
echo " CXX = $CXX"
1385-
echo " CXXFLAGS = $CXXFLAGS"
1386-
echo " LDFLAGS = $LDFLAGS"
1395+
echo " CXXFLAGS = $DEBUG_CXXFLAGS $HARDENED_CXXFLAGS $ERROR_CXXFLAGS $GPROF_CXXFLAGS $CXXFLAGS"
1396+
echo " LDFLAGS = $PTHREAD_CFLAGS $HARDENED_LDFLAGS $GPROF_LDFLAGS $LDFLAGS"
13871397
echo " ARFLAGS = $ARFLAGS"
13881398
echo

src/Makefile.am

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
DIST_SUBDIRS = secp256k1 univalue
66

77
AM_LDFLAGS = $(PTHREAD_CFLAGS) $(LIBTOOL_LDFLAGS) $(HARDENED_LDFLAGS) $(GPROF_LDFLAGS) $(SANITIZER_LDFLAGS)
8-
AM_CXXFLAGS = $(HARDENED_CXXFLAGS) $(ERROR_CXXFLAGS) $(GPROF_CXXFLAGS) $(SANITIZER_CXXFLAGS)
9-
AM_CPPFLAGS = $(HARDENED_CPPFLAGS)
8+
AM_CXXFLAGS = $(DEBUG_CXXFLAGS) $(HARDENED_CXXFLAGS) $(ERROR_CXXFLAGS) $(GPROF_CXXFLAGS) $(SANITIZER_CXXFLAGS)
9+
AM_CPPFLAGS = $(DEBUG_CPPFLAGS) $(HARDENED_CPPFLAGS)
1010
AM_LIBTOOLFLAGS = --preserve-dup-deps
1111
EXTRA_LIBRARIES =
1212

0 commit comments

Comments
 (0)