From 14f547501553c979a5430b59ff3ad1b9f360911a Mon Sep 17 00:00:00 2001 From: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com> Date: Mon, 5 Feb 2018 13:43:02 -0500 Subject: [PATCH] build in non-debug mode by default * declare NDEBUG for library and contrib * activate pjsip extra checks as all PJ_ASSERT's are deactivated Side effect: pjsip does not call abort() due to disabled assertions. If debug is required: * contrib: call bootstrap with --enable-debug * libring: call configure with --enable-debug Change-Id: I47b104c0f32352f0503457a9d419c4ed5db4e126 --- configure.ac | 3 ++- contrib/bootstrap | 5 +++++ contrib/src/main.mak | 6 ++++++ contrib/src/pjproject/rules.mak | 4 ++-- 4 files changed, 15 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac index a672a93540..8d244e24b8 100644 --- a/configure.ac +++ b/configure.ac @@ -668,7 +668,8 @@ dnl debug mode is default-disabled AC_ARG_ENABLE([debug], AS_HELP_STRING([--enable-debug], [Build in debug mode, adds stricter warnings, disables optimization])) AS_IF([test "x$enable_debug" = "xyes"], - [CXXFLAGS="${CXXFLAGS} -g -fno-omit-frame-pointer -Wall -Wextra -Wnon-virtual-dtor -Wno-unknown-pragmas -Wformat=2 -O0"]) + [CXXFLAGS="${CXXFLAGS} -g -fno-omit-frame-pointer -Wall -Wextra -Wnon-virtual-dtor -Wno-unknown-pragmas -Wformat=2 -O0"], + [CXXFLAGS="${CXXFLAGS} -DNDEGUG=1"]) dnl What Makefiles to generate diff --git a/contrib/bootstrap b/contrib/bootstrap index ae30e978e4..0903855522 100755 --- a/contrib/bootstrap +++ b/contrib/bootstrap @@ -26,6 +26,7 @@ usage() echo " --prefix=PREFIX install files in PREFIX" echo " --no-checksums don't verify checksums (allows to replace tarballs)" echo " --disable-downloads don't download packages from the internet" + echo " --enable-debug build with debug symbol and extra checks (disabled by default)" echo " --disable-FOO configure to not build package FOO" echo " --enable-FOO configure to build package FOO" } @@ -58,6 +59,9 @@ do --disable-downloads) DISABLE_CONTRIB_DOWNLOADS="TRUE" ;; + --enable-debug) + ENABLE_DEBUG=1 + ;; --host=*) HOST="${1#--host=}" ;; @@ -118,6 +122,7 @@ PKGS_DISABLE := $PKGS_DISABLE PKGS_ENABLE := $PKGS_ENABLE DISABLE_CONTRIB_DOWNLOADS := $DISABLE_CONTRIB_DOWNLOADS DISABLE_CONTRIB_CHECKSUMS := $DISABLE_CONTRIB_CHECKSUMS +ENABLE_DEBUG := $ENABLE_DEBUG EOF add_make() diff --git a/contrib/src/main.mak b/contrib/src/main.mak index 2cc639a464..f07180eaef 100644 --- a/contrib/src/main.mak +++ b/contrib/src/main.mak @@ -195,6 +195,12 @@ endif EXTRA_CXXFLAGS += -std=c++14 +ifdef ENABLE_DEBUG +EXTRA_CFLAGS += -g -fno-omit-frame-pointer +else +EXTRA_CFLAGS += -DNDEBUG=1 +endif + cppcheck = $(shell $(CC) $(CFLAGS) -E -dM - < /dev/null | grep -E $(1)) EXTRA_CPPFLAGS += -I$(PREFIX)/include diff --git a/contrib/src/pjproject/rules.mak b/contrib/src/pjproject/rules.mak index 3710fb2b1a..285a081dfa 100644 --- a/contrib/src/pjproject/rules.mak +++ b/contrib/src/pjproject/rules.mak @@ -34,8 +34,8 @@ ifdef HAVE_IOS PJPROJECT_OPTIONS += --with-ssl=$(PREFIX) endif -PJPROJECT_EXTRA_CFLAGS = -g -DPJ_ICE_MAX_CAND=256 -DPJ_ICE_MAX_CHECKS=150 -DPJ_ICE_COMP_BITS=2 -DPJ_ICE_MAX_STUN=3 -DPJSIP_MAX_PKT_LEN=8000 -DPJ_ICE_ST_MAX_CAND=32 -PJPROJECT_EXTRA_CXXFLAGS = -g -DPJ_ICE_MAX_CAND=256 -DPJ_ICE_MAX_CHECKS=150 -DPJ_ICE_COMP_BITS=2 -DPJ_ICE_MAX_STUN=3 -DPJSIP_MAX_PKT_LEN=8000 -DPJ_ICE_ST_MAX_CAND=32 -std=gnu++11 +PJPROJECT_EXTRA_CFLAGS = -g -DPJ_ENABLE_EXTRA_CHECK=1 -DPJ_ICE_MAX_CAND=256 -DPJ_ICE_MAX_CHECKS=150 -DPJ_ICE_COMP_BITS=2 -DPJ_ICE_MAX_STUN=3 -DPJSIP_MAX_PKT_LEN=8000 -DPJ_ICE_ST_MAX_CAND=32 +PJPROJECT_EXTRA_CXXFLAGS = -g -DPJ_ENABLE_EXTRA_CHECK=1 -DPJ_ICE_MAX_CAND=256 -DPJ_ICE_MAX_CHECKS=150 -DPJ_ICE_COMP_BITS=2 -DPJ_ICE_MAX_STUN=3 -DPJSIP_MAX_PKT_LEN=8000 -DPJ_ICE_ST_MAX_CAND=32 -std=gnu++11 ifdef HAVE_WIN64 PJPROJECT_EXTRA_CFLAGS += -DPJ_WIN64=1 -- GitLab