mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-12 05:43:03 +00:00
build: simplify and improve the compiler warnings for tests.
* configure.ac (warn_common, warn_c, warn_cxx): New. Use them to compute independently the options supported by the C and C++ compilers. Don't AC_SUBST the variables passed to gl_WARN_ADD: it does it for us. (WARN_CFLAGS_TEST, WARN_CXXFLAGS_TEST): Don't aggregate $WARN_CFLAGS and $WARN_CXXFLAGS in them now, leave it to atlocal.in. (O0CFLAGS, O0CXXFLAGS): Move their definition to... * tests/atlocal.in: here. Be more systematic between C and C++. Reorder to factor between variables. Propagate all of the variables when --compile-c-with-cxx.
This commit is contained in:
@@ -16,30 +16,47 @@
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
# We need a C compiler.
|
||||
: ${CC='@CC@'}
|
||||
|
||||
# We want no optimization.
|
||||
CFLAGS='@O0CFLAGS@ @WARN_CFLAGS_TEST@ @WERROR_CFLAGS@'
|
||||
|
||||
# Sometimes a test group needs to ignore gcc warnings, so it locally
|
||||
# sets CFLAGS to this.
|
||||
NO_WERROR_CFLAGS='@O0CFLAGS@ @WARN_CFLAGS_TEST@'
|
||||
|
||||
# We need `config.h'.
|
||||
CPPFLAGS="-I$abs_top_builddir/lib @CPPFLAGS@"
|
||||
|
||||
## ------------------- ##
|
||||
## C/C++ Compilation. ##
|
||||
## ------------------- ##
|
||||
|
||||
: ${CC='@CC@'}
|
||||
: ${CXX='@CXX@'}
|
||||
|
||||
# Is the compiler GCC?
|
||||
GCC='@GCC@'
|
||||
|
||||
# The C++ compiler.
|
||||
: ${CXX='@CXX@'}
|
||||
# We want no optimization.
|
||||
O0CFLAGS=`echo '@CFLAGS@' | sed 's/-O[0-9] *//'`
|
||||
O0CXXFLAGS=`echo '@CXXFLAGS@' | sed 's/-O[0-9] *//'`
|
||||
|
||||
# Sometimes a test group needs to ignore gcc warnings, so it locally
|
||||
# sets CFLAGS to this.
|
||||
NO_WERROR_CFLAGS="$O0CFLAGS @WARN_CFLAGS@ @WARN_CFLAGS_TEST@"
|
||||
NO_WERROR_CXXFLAGS="$O0CXXFLAGS @WARN_CXXFLAGS@ @WARN_CXXFLAGS_TEST@"
|
||||
|
||||
# But most of the time, we want -Werror.
|
||||
CFLAGS="$NO_WERROR_CFLAGS @WERROR_CFLAGS@"
|
||||
CXXFLAGS="$NO_WERROR_CXXFLAGS @WERROR_CXXFLAGS@"
|
||||
|
||||
# If 'exit 77'; skip all C++ tests; otherwise ':'.
|
||||
BISON_CXX_WORKS='@BISON_CXX_WORKS@'
|
||||
|
||||
# We want no optimization with C++, too.
|
||||
CXXFLAGS='@O0CXXFLAGS@ @WARN_CXXFLAGS_TEST@ @WERROR_CFLAGS@'
|
||||
# Handle --compile-c-with-cxx here, once CXX and CXXFLAGS are known.
|
||||
if "$at_arg_compile_c_with_cxx"; then
|
||||
CC=$CXX
|
||||
O0CFLAGS=$O0CXXFLAGS
|
||||
NO_WERROR_CFLAGS=$NO_WERROR_CXXFLAGS
|
||||
CFLAGS=$CXXFLAGS
|
||||
fi
|
||||
|
||||
|
||||
## ------- ##
|
||||
## Other. ##
|
||||
## ------- ##
|
||||
|
||||
# Are special link options needed?
|
||||
LDFLAGS='@LDFLAGS@'
|
||||
@@ -62,10 +79,3 @@ CONF_JAVA='@CONF_JAVA@'
|
||||
# Use simple quotes (lib/quote.c).
|
||||
LC_CTYPE=C
|
||||
export LC_CTYPE
|
||||
|
||||
|
||||
# Handle --compile-c-with-cxx here, once CXX and CXXFLAGS are known.
|
||||
if "$at_arg_compile_c_with_cxx"; then
|
||||
CC=$CXX
|
||||
CFLAGS=$CXXFLAGS
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user