summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2016-07-12 15:32:18 +0300
committerAndrei Karas <akaras@inbox.ru>2016-07-12 17:12:22 +0300
commitcccd6d9d04e755aa8194ef86d27405021d5a8f4e (patch)
tree2404c4df86177abf68ff43e301e147f7135242b4 /configure.ac
parent302aefbd150bd5c26bfd4a0c51f74bbec9c843a3 (diff)
downloadhercules-cccd6d9d04e755aa8194ef86d27405021d5a8f4e.tar.gz
hercules-cccd6d9d04e755aa8194ef86d27405021d5a8f4e.tar.bz2
hercules-cccd6d9d04e755aa8194ef86d27405021d5a8f4e.tar.xz
hercules-cccd6d9d04e755aa8194ef86d27405021d5a8f4e.zip
Add omit frame pointer flag if debug flag enabled.
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac28
1 files changed, 28 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index 0a86ffb58..e88834722 100644
--- a/configure.ac
+++ b/configure.ac
@@ -789,6 +789,32 @@ AC_DEFUN([AC_CHECK_SANITIZER_FLAG],
]
)
+AC_DEFUN([AC_CHECK_FLAG],
+ [
+ AC_MSG_CHECKING([whether $CC supports $1])
+ OLD_CFLAGS="$CFLAGS"
+ CFLAGS="$CFLAGS $1"
+ OLD_LDFLAGS="$LDFLAGS"
+ LDFLAGS="$LDFLAGS $1"
+ AC_COMPILE_IFELSE(
+ [AC_LANG_SOURCE([int foo;])],
+ [
+ AC_MSG_RESULT([yes])
+ ],
+ [
+ AC_MSG_RESULT([no])
+ CFLAGS="$OLD_CFLAGS"
+ LDFLAGS="$OLD_LDFLAGS"
+ ],
+ [
+ AC_MSG_RESULT([guessing no])
+ CFLAGS="$OLD_CFLAGS"
+ LDFLAGS="$OLD_LDFLAGS"
+ ]
+ )
+ ]
+)
+
#
# sanitize Support test
#
@@ -1198,10 +1224,12 @@ case $enable_debug in
"yes")
CFLAGS="$CFLAGS -g"
CPPFLAGS="$CPPFLAGS -DDEBUG"
+ AC_CHECK_FLAG(-fno-omit-frame-pointer)
;;
"gdb")
CFLAGS="$CFLAGS -ggdb"
CPPFLAGS="$CPPFLAGS -DDEBUG"
+ AC_CHECK_FLAG(-fno-omit-frame-pointer)
;;
esac