SHA256
1
0
forked from pool/muparser
muparser/muparser-fix-ac.diff

63 lines
2.6 KiB
Diff
Raw Normal View History

Unbreak `./configure CFLAGS=-ggdb3`.
N.B.: Do NOT set CFLAGS/CXXFLAGS/CPPFLAGS from project files at all,
these are reserved for the user. (Section 3.6 of automake.info).
`./configure && make CFLAGS=-ggdb3` still removes the project-provided flags.
And parallel building is still broken. I hate you, bakefile.
---
build/autoconf/bakefile-presets.m4 | 13 +++++++++----
build/autoconf/configure.ac | 12 +++++++-----
2 files changed, 16 insertions(+), 9 deletions(-)
Index: muparser-2.2.2/build/autoconf/bakefile-presets.m4
===================================================================
--- muparser-2.2.2.orig/build/autoconf/bakefile-presets.m4
+++ muparser-2.2.2/build/autoconf/bakefile-presets.m4
@@ -74,12 +74,17 @@ AC_DEFUN([AC_BAKEFILE_DEBUGOPT],
dnl and thus we must be careful to add it only to CXXFLAGS and not to CFLAGS
dnl (remember that CPPFLAGS is reserved for both C and C++ compilers while
dnl CFLAGS is intended as flags for C compiler only and CXXFLAGS for C++ only)
- CXXFLAGS="$CXXFLAGS -g -O0 -Wall -Wundef -Wno-ctor-dtor-privacy"
- CFLAGS="$CFLAGS -g -O0 -Wall -Wundef"
+ my_CXXFLAGS="$my_CXXFLAGS -g -O0 -Wall -Wundef -Wno-ctor-dtor-privacy"
+ my_CFLAGS="$my_CFLAGS -g -O0 -Wall -Wundef"
else
- CXXFLAGS="$CXXFLAGS -O2"
- CFLAGS="$CFLAGS -O2"
+ my_CXXFLAGS="$my_CXXFLAGS -O2"
+ my_CFLAGS="$my_CFLAGS -O2"
fi
+ # User-supplied CXXFLAGS must always take precedence.
+ # This still sucks because using `make CFLAGS=-foobar` kills
+ # the project-supplied flags again.
+ CXXFLAGS="$my_CXXFLAGS $CXXFLAGS"
+ CFLAGS="$my_CFLAGS $CFLAGS"
])
dnl ---------------------------------------------------------------------------
Index: muparser-2.2.2/build/autoconf/configure.ac
===================================================================
--- muparser-2.2.2.orig/build/autoconf/configure.ac
+++ muparser-2.2.2/build/autoconf/configure.ac
@@ -25,11 +25,13 @@ dnl (and sets the AC_CANONICAL_BUILD, AC
dnl AC_CANONICAL_TARGET variables)
AC_CANONICAL_SYSTEM
-dnl we set these vars to avoid that the AC_PROG_C* macros add the "-g -O2" flags;
-dnl we will add them later, if needed
-CFLAGS=
-CXXFLAGS=
-CPPFLAGS=
+# We want to inhibit AC_PROG_C* macros adding the default "-g -O2" flags.
+# To do so, make sure that the variables are not unset - it is ok if they are
+# empty. However, their value MUST be retained, since one may have
+# called ./configure CFLAGS=-foobar.
+CFLAGS="$CFLAGS"
+CPPFLAGS="$CPPFLAGS"
+CXXFLAGS="$CXXFLAGS"
dnl Checks for basic programs used to compile/install.
AC_PROG_AWK