[3.6] Add --with-assertions configure flag to enable C assertions(GH-1731) (#1739)
Defaults to 'no', but as before assertions are implied by --with-pydebug..
(cherry picked from commit ddbfa2c35b298a56f0b813656745bca9cb7334f1)
diff --git a/configure.ac b/configure.ac
index 8abf2f9..146ae22 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1258,6 +1258,27 @@
fi],
[AC_MSG_RESULT(no)])
+# Check for --with-assertions. Py_DEBUG implies assertions, but also changes
+# the ABI. This allows enabling assertions without changing the ABI.
+assertions='false'
+AC_MSG_CHECKING(for --with-assertions)
+AC_ARG_WITH(assertions,
+ AC_HELP_STRING([--with-assertions], [build with C assertions enabled]),
+[
+if test "$withval" != no
+then
+ assertions='true'
+fi],
+[])
+if test "$assertions" = 'true'; then
+ AC_MSG_RESULT(yes)
+elif test "$Py_DEBUG" = 'true'; then
+ assertions='true'
+ AC_MSG_RESULT(implied by --with-pydebug)
+else
+ AC_MSG_RESULT(no)
+fi
+
# Enable optimization flags
AC_SUBST(DEF_MAKE_ALL_RULE)
AC_SUBST(DEF_MAKE_RULE)
@@ -1855,7 +1876,7 @@
;;
esac
-if test "$Py_DEBUG" = 'true'; then
+if test "$assertions" = 'true'; then
:
else
OPT="-DNDEBUG $OPT"