diff --git a/configure.ac b/configure.ac index a672a9354010ae60dd5c45c085d81cbd89f9489e..8d244e24b827d0631a4a52b08ad1851b689bcc3b 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 ae30e978e4224001251e6c43f13d29585a9bf617..090385552252a9cad0dd8dd3407e911a6c9e0b7b 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 2cc639a464379b35608ef3db3bf01d783b94c6cc..f07180eaef186642b51e0cc411da123fe90f3f4e 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 3710fb2b1ab1e970c7ad4ba4b3212c5c51b248d7..285a081dfa369fda5ea1eb6fd365b2c41b312731 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