Add configure check for -Wframe-larger-than=<size>

It turns out the gcc option -Wframe-larger-than=<size> which I recently
added to the build system is not supported in older versions of gcc.
Since this is just a flag to ensure I keep stack usage under control
I've added a configure check to detect if gcc supports it.  If it's
available we use it in the proper places, if it's not we don't.
This commit is contained in:
Brian Behlendorf 2010-06-29 16:26:58 -07:00
parent 91f416b497
commit 6f1eda0629
4 changed files with 25 additions and 2 deletions

View File

@ -1,6 +1,6 @@
include $(top_srcdir)/config/Rules.am
AM_CFLAGS += -Wframe-larger-than=1024
AM_CFLAGS += $(FRAME_LARGER_THAN)
DEFAULT_INCLUDES += \
-I${top_srcdir}/lib/libspl/include \

View File

@ -0,0 +1,22 @@
dnl #
dnl # Check if gcc supports -Wframe-larger-than=<size> option.
dnl #
AC_DEFUN([ZFS_AC_CONFIG_USER_FRAME_LARGER_THAN], [
AC_MSG_CHECKING([for -Wframe-larger-than=<size> support])
saved_flags="$CFLAGS"
CFLAGS="$CFLAGS -Wframe-larger-than=1024"
AC_RUN_IFELSE(AC_LANG_PROGRAM( [], []),
[
FRAME_LARGER_THAN=-Wframe-larger-than=1024
AC_MSG_RESULT([yes])
],
[
FRAME_LARGER_THAN=
AC_MSG_RESULT([no])
])
CFLAGS="$saved_flags"
AC_SUBST([FRAME_LARGER_THAN])
])

View File

@ -8,4 +8,5 @@ AC_DEFUN([ZFS_AC_CONFIG_USER], [
ZFS_AC_CONFIG_USER_ZLIB
ZFS_AC_CONFIG_USER_LIBUUID
ZFS_AC_CONFIG_USER_LIBBLKID
ZFS_AC_CONFIG_USER_FRAME_LARGER_THAN
])

View File

@ -1,6 +1,6 @@
include $(top_srcdir)/config/Rules.am
AM_CFLAGS += -Wframe-larger-than=1024
AM_CFLAGS += $(FRAME_LARGER_THAN)
SUBDIRS = include
DEFAULT_INCLUDES += \