Browse Source

compilation system: check option -Wxxx are valid for the current C compiler

Nathalie Furmento 14 years ago
parent
commit
81a9490fca
2 changed files with 40 additions and 1 deletions
  1. 39 0
      configure.ac
  2. 1 1
      src/Makefile.am

+ 39 - 0
configure.ac

@@ -1005,6 +1005,45 @@ fi
 
 ###############################################################################
 #                                                                             #
+#                           Flags for C Compiler                              #
+#                                                                             #
+###############################################################################
+
+# IS_SUPPORTED_CFLAG(flag)
+# ------------------------
+# Check if the CFLAGS `flag' is supported by the compiler
+AC_DEFUN([IS_SUPPORTED_CFLAG],
+[
+	AC_REQUIRE([AC_PROG_CC])
+
+	AC_MSG_CHECKING([whether compiler support $1])
+
+	CFLAGS=$1
+
+	AC_COMPILE_IFELSE(
+		AC_LANG_PROGRAM(
+			[[]],
+			[[
+				AC_LANG_SOURCE([
+					const char *hello = "Hello World";
+				])
+			]]
+		),
+		[
+			GLOBAL_AM_CFLAGS="$GLOBAL_AM_CFLAGS $1"
+			AC_MSG_RESULT(yes)
+		],
+			AC_MSG_RESULT(no)
+	)
+])
+
+IS_SUPPORTED_CFLAG(-W)
+IS_SUPPORTED_CFLAG(-Wall)
+IS_SUPPORTED_CFLAG(-Wextra)
+AC_SUBST(GLOBAL_AM_CFLAGS)
+
+###############################################################################
+#                                                                             #
 #                               GCC extensions                                #
 #                                                                             #
 ###############################################################################

+ 1 - 1
src/Makefile.am

@@ -48,7 +48,7 @@ lib_LTLIBRARIES = libstarpu.la
 
 libstarpu_la_CPPFLAGS = -I$(top_srcdir)/include/
 
-libstarpu_la_CFLAGS = -W -Wall -Wextra $(HWLOC_CFLAGS) $(STARPU_CUDA_CPPFLAGS) $(STARPU_OPENCL_CPPFLAGS)
+libstarpu_la_CFLAGS = $(GLOBAL_AM_CFLAGS) $(HWLOC_CFLAGS) $(STARPU_CUDA_CPPFLAGS) $(STARPU_OPENCL_CPPFLAGS)
 libstarpu_la_LIBADD = -lm $(HWLOC_LIBS) $(STARPU_CUDA_LDFLAGS) $(STARPU_OPENCL_LDFLAGS)
 libstarpu_la_LDFLAGS = $(ldflags) -version-number 0:0:0 -no-undefined