diff --git a/cmd/ztest/Makefile.am b/cmd/ztest/Makefile.am index 0573566e9e..0aa6c2e468 100644 --- a/cmd/ztest/Makefile.am +++ b/cmd/ztest/Makefile.am @@ -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 \ diff --git a/config/user-frame-larger-than.m4 b/config/user-frame-larger-than.m4 new file mode 100644 index 0000000000..3384f50e4a --- /dev/null +++ b/config/user-frame-larger-than.m4 @@ -0,0 +1,22 @@ +dnl # +dnl # Check if gcc supports -Wframe-larger-than= option. +dnl # +AC_DEFUN([ZFS_AC_CONFIG_USER_FRAME_LARGER_THAN], [ + AC_MSG_CHECKING([for -Wframe-larger-than= 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]) +]) diff --git a/config/user.m4 b/config/user.m4 index be59e7b4fb..2f9825ce0d 100644 --- a/config/user.m4 +++ b/config/user.m4 @@ -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 ]) diff --git a/lib/libzpool/Makefile.am b/lib/libzpool/Makefile.am index 7857820518..5e9d97b05d 100644 --- a/lib/libzpool/Makefile.am +++ b/lib/libzpool/Makefile.am @@ -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 += \