]> granicus.if.org Git - re2c/commitdiff
Respect user CXXFLAGS.
authorUlya Trofimovich <skvadrik@gmail.com>
Tue, 2 Jun 2015 21:29:19 +0000 (22:29 +0100)
committerUlya Trofimovich <skvadrik@gmail.com>
Tue, 2 Jun 2015 21:29:19 +0000 (22:29 +0100)
As automake manual (chapter 27.6 "Flag Variables Ordering") states,
CXXFLAGS is a user variable and should be left for users to override
C++ compiler flags. Thus we should leave CXXFLAGS as is and modify
AM_CXXFLAGS insted.

re2c/Makefile.am
re2c/configure.ac

index 2b87c6bc379364314064ed6df49fd27f8ddcb899..a510b1d01b06298bf547fb5a8a0be1fc2962146c 100644 (file)
@@ -1,5 +1,6 @@
 # flags
 # do *not* add CXXFLAGS here, add them in configure.ac
+AM_CXXFLAGS = $(CXXFLAGSDEFAULT)
 BISONFLAGS = -y -d --no-lines
 RE2CFLAGS = -bi
 
index a76725db2770069ad90c41b0c7cc9e9f657573d5..6a8dac0d62bf1be921f9d7219d0bc781e51f7467 100644 (file)
@@ -33,6 +33,9 @@ AC_PROG_INSTALL
 
 
 # checks for C++ compiler flags
+AC_SUBST(CXXFLAGSDEFAULT, [])
+# TRY_CXXFLAG (flag)
+# appends 'flag' to CXXFLAGSDEFAULT iff C++ compiler knows this flag
 AC_DEFUN([TRY_CXXFLAG], [
     AC_MSG_CHECKING([C++ compiler flag $1])
     AS_VAR_SET([CXXFLAGS_BACKUP], ["$CXXFLAGS"])
@@ -40,13 +43,14 @@ AC_DEFUN([TRY_CXXFLAG], [
     AC_LANG_PUSH([C++])
     AC_COMPILE_IFELSE(
         [AC_LANG_PROGRAM()],
-        [AS_VAR_SET([TRY_CXXFLAG_RESULT], [yes])],
         [
-            AS_VAR_SET([TRY_CXXFLAG_RESULT], [no])
-            AS_VAR_SET([CXXFLAGS], ["$CXXFLAGS_BACKUP"])
-        ]
+            AS_VAR_SET([TRY_CXXFLAG_RESULT], [yes])
+            AS_VAR_SET([CXXFLAGSDEFAULT], ["$CXXFLAGSDEFAULT $1"])
+        ],
+        [AS_VAR_SET([TRY_CXXFLAG_RESULT], [no])]
     )
     AC_LANG_POP([C++])
+    AS_VAR_SET([CXXFLAGS], ["$CXXFLAGS_BACKUP"])
     AC_MSG_RESULT([$TRY_CXXFLAG_RESULT])
 ])
 TRY_CXXFLAG([-W])