diff options
author | Evgeny Grin (Karlson2k) <k2k@narod.ru> | 2017-06-12 23:24:15 +0300 |
---|---|---|
committer | Evgeny Grin (Karlson2k) <k2k@narod.ru> | 2017-06-12 23:24:15 +0300 |
commit | 279a9ad2ab9f504264f3e1a671fc427a18079205 (patch) | |
tree | 416912756d18a33dc4f27a4a0d857e7677d87c6c /configure.ac | |
parent | 5c988da5164458e15eeae4f6bae930a500795dbf (diff) | |
download | libmicrohttpd-279a9ad2ab9f504264f3e1a671fc427a18079205.tar.gz libmicrohttpd-279a9ad2ab9f504264f3e1a671fc427a18079205.zip |
Added support for detection of 'assert()' and replacement if 'assert()' is not available
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 51 |
1 files changed, 49 insertions, 2 deletions
diff --git a/configure.ac b/configure.ac index 0fd671aa..b6d5cbc0 100644 --- a/configure.ac +++ b/configure.ac | |||
@@ -1417,8 +1417,6 @@ AC_LINK_IFELSE( | |||
1417 | 1417 | ||
1418 | AM_CONDITIONAL([HAVE_FORK_WAITPID], [test "x$mhd_have_fork_waitpid" = "xyes"]) | 1418 | AM_CONDITIONAL([HAVE_FORK_WAITPID], [test "x$mhd_have_fork_waitpid" = "xyes"]) |
1419 | 1419 | ||
1420 | MHD_LIB_LDFLAGS="$MHD_LIB_LDFLAGS -export-dynamic -no-undefined" | ||
1421 | |||
1422 | # gcov compilation | 1420 | # gcov compilation |
1423 | AC_MSG_CHECKING(whether to compile with support for code coverage analysis) | 1421 | AC_MSG_CHECKING(whether to compile with support for code coverage analysis) |
1424 | AC_ARG_ENABLE([coverage], | 1422 | AC_ARG_ENABLE([coverage], |
@@ -1432,6 +1430,54 @@ AM_CONDITIONAL([USE_COVERAGE], [test "x$use_gcov" = "xyes"]) | |||
1432 | AX_COUNT_CPUS | 1430 | AX_COUNT_CPUS |
1433 | AC_SUBST([CPU_COUNT]) | 1431 | AC_SUBST([CPU_COUNT]) |
1434 | 1432 | ||
1433 | AC_MSG_CHECKING([[whether to enable debug asserts]]) | ||
1434 | AC_ARG_ENABLE([[asserts]], | ||
1435 | AS_HELP_STRING([[--enable-asserts]], | ||
1436 | [enable test build with debug asserts]), | ||
1437 | [], [[enable_asserts='no']]) | ||
1438 | AS_CASE([[$enable_asserts]], [[yes]], [[:]], [[no]], [[:]], [[enable_asserts='no']]) | ||
1439 | AC_MSG_RESULT([[$enable_asserts]]) | ||
1440 | |||
1441 | AS_VAR_IF([[enable_asserts]], [["yes"]], | ||
1442 | [ | ||
1443 | AC_DEFINE([[_DEBUG]], [[1]], [Define to use debug asserts.]) | ||
1444 | [mhd_assert_test_prg="#include <assert.h> | ||
1445 | int pos_val(void) {return 5;} | ||
1446 | int neg_val(void) {return -5;} | ||
1447 | int main(void) | ||
1448 | { int pos_var = pos_val(), neg_var = neg_val(); | ||
1449 | assert(neg_var > pos_var); /* Must trigger assert. */ | ||
1450 | (void)pos_var; (void)neg_var; | ||
1451 | return 0; } | ||
1452 | "] | ||
1453 | AC_CACHE_CHECK([[whether system assert() is available]], [mhd_cv_sys_assert_avail], | ||
1454 | [ | ||
1455 | AC_LINK_IFELSE([AC_LANG_SOURCE([[$mhd_assert_test_prg]])], | ||
1456 | [[mhd_cv_sys_assert_avail='yes']], | ||
1457 | [[mhd_cv_sys_assert_avail='no']]) | ||
1458 | ] | ||
1459 | ) | ||
1460 | AS_VAR_IF([[mhd_cv_sys_assert_avail]], [["yes"]], | ||
1461 | [ | ||
1462 | AC_CACHE_CHECK([[whether system assert() is usable]], [mhd_cv_sys_assert_use], | ||
1463 | [ | ||
1464 | AC_RUN_IFELSE([AC_LANG_SOURCE([[$mhd_assert_test_prg]])], | ||
1465 | [[mhd_cv_sys_assert_use='no']], | ||
1466 | [[mhd_cv_sys_assert_use='yes']], | ||
1467 | [[mhd_cv_sys_assert_use='assuming yes']]) | ||
1468 | ] | ||
1469 | ) | ||
1470 | AS_VAR_IF([[mhd_cv_sys_assert_use]], [["no"]], [], | ||
1471 | [AC_DEFINE([[HAVE_ASSERT]], [[1]], [Define if you have usable assert() and assert.h])]) | ||
1472 | ] | ||
1473 | ) | ||
1474 | AS_UNSET([mhd_assert_test_prg]) | ||
1475 | ], | ||
1476 | [AC_DEFINE([[NDEBUG]], [[1]], [Define to disable usage of debug asserts.])] | ||
1477 | ) | ||
1478 | |||
1479 | MHD_LIB_LDFLAGS="$MHD_LIB_LDFLAGS -export-dynamic -no-undefined" | ||
1480 | |||
1435 | AC_SUBST(MHD_LIB_CPPFLAGS) | 1481 | AC_SUBST(MHD_LIB_CPPFLAGS) |
1436 | AC_SUBST(MHD_LIB_CFLAGS) | 1482 | AC_SUBST(MHD_LIB_CFLAGS) |
1437 | AC_SUBST(MHD_LIB_LDFLAGS) | 1483 | AC_SUBST(MHD_LIB_LDFLAGS) |
@@ -1485,6 +1531,7 @@ AC_MSG_NOTICE([libmicrohttpd ${PACKAGE_VERSION} Configuration Summary: | |||
1485 | Target directory: ${prefix} | 1531 | Target directory: ${prefix} |
1486 | Shutdown of listening socket | 1532 | Shutdown of listening socket |
1487 | trigger select: ${mhd_cv_host_shtdwn_trgr_select} | 1533 | trigger select: ${mhd_cv_host_shtdwn_trgr_select} |
1534 | Use debug asserts: ${enable_asserts} | ||
1488 | Messages: ${enable_messages} | 1535 | Messages: ${enable_messages} |
1489 | Basic auth.: ${enable_bauth} | 1536 | Basic auth.: ${enable_bauth} |
1490 | Digest auth.: ${enable_dauth} | 1537 | Digest auth.: ${enable_dauth} |