[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 3/6] test defs: substitute compilers and flags found at configure
From: |
Stefano Lattarini |
Subject: |
[PATCH 3/6] test defs: substitute compilers and flags found at configure time |
Date: |
Thu, 19 Jan 2012 14:55:18 +0100 |
* tests/Makefile.am (do_subst): Also substitute CC, CXX, F77, FC,
CPPFLAGS, CFLAGS, CXXFLAGS, FCFLAGS and FFLAGS.
* tests/defs-static.in: Define those variables, allowing for
overrides from the environment.
* tests/defs (for tool in $required): Export (subsets of) those
variables when the stuff in `$required' calls for it.
Add related explanatory comments.
---
tests/Makefile.am | 9 +++++++++
tests/defs | 28 ++++++++++++++++++++--------
tests/defs-static.in | 12 ++++++++++++
3 files changed, 41 insertions(+), 8 deletions(-)
diff --git a/tests/Makefile.am b/tests/Makefile.am
index d47be78..d42dd68 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -147,6 +147,15 @@ do_subst = sed \
-e 's|@address@hidden|$(PERL)|g' \
-e 's|@address@hidden|$(EGREP)|g' \
-e 's|@address@hidden|$(FGREP)|g' \
+ -e 's|@address@hidden|$(CPPFLAGS)|g' \
+ -e 's|@address@hidden|$(CC)|g' \
+ -e 's|@address@hidden|$(CFLAGS)|g' \
+ -e 's|@address@hidden|$(CXX)|g' \
+ -e 's|@address@hidden|$(CXXFLAGS)|g' \
+ -e 's|@address@hidden|$(F77)|g' \
+ -e 's|@address@hidden|$(FFLAGS)|g' \
+ -e 's|@address@hidden|$(FC)|g' \
+ -e 's|@address@hidden|$(FCFLAGS)|g' \
-e 's|@address@hidden|$(GNU_CFLAGS)|g' \
-e 's|@address@hidden|$(GNU_CXXFLAGS)|g' \
-e 's|@address@hidden|$(GNU_FFLAGS)|g' \
diff --git a/tests/defs b/tests/defs
index 1c50523..08ada58 100644
--- a/tests/defs
+++ b/tests/defs
@@ -641,13 +641,21 @@ do
case $tool in
:) ;;
cc)
- test "$CC" = false && skip_all_ "no C compiler available";;
+ test "$CC" = false && skip_all_ "no C compiler available"
+ export CC CFLAGS CPPFLAGS
+ ;;
c++)
- test "$CXX" = false && skip_all_ "no C++ compiler available";;
+ test "$CXX" = false && skip_all_ "no C++ compiler available"
+ export CXX CXXFLAGS CPPFLAGS
+ ;;
fortran)
- test "$FC" = false && skip_all_ "no Fortran compiler available";;
+ test "$FC" = false && skip_all_ "no Fortran compiler available"
+ export FC FCFLAGS
+ ;;
fortran77)
- test "$F77" = false && skip_all_ "no Fortran 77 compiler available";;
+ test "$F77" = false && skip_all_ "no Fortran 77 compiler available"
+ export F77 FFLAGS
+ ;;
xsi-shell)
require_xsi "$SHELL";;
xsi-bin-sh)
@@ -667,7 +675,11 @@ do
;;
cl)
CC=cl
- export CC
+ # Don't export CFLAGS, as that could have been initialized to only
+ # work with the C compiler detected at configure time. If the user
+ # wants CFLAGS to also influence `cl', he can still export CFLAGS
+ # in the environment "by hand" before calling the testsuite.
+ export CC CPPFLAGS
echo "$me: running $CC -?"
$CC -? || skip_all_ "Microsoft C compiler \`$CC' not available"
;;
@@ -704,7 +716,7 @@ do
# prefer gcc to other compilers.
CC=${am__tool_prefix}gcc
CFLAGS=$GNU_CFLAGS
- export CC CFLAGS
+ export CC CFLAGS CPPFLAGS
echo "$me: running $CC --version"
$CC --version || skip_all_ "GNU C compiler not available"
echo "$me: running $CC -v"
@@ -721,7 +733,7 @@ do
g++)
CXX=${am__tool_prefix}g++
CXXFLAGS=$GNU_CXXFLAGS
- export CXX CXXFLAGS
+ export CXX CXXFLAGS CPPFLAGS
echo "$me: running $CXX --version"
$CXX --version || skip_all_ "GNU C++ compiler not available"
echo "$me: running $CXX -v"
@@ -755,7 +767,7 @@ do
;;
icc)
CC=icc
- export CC
+ export CC CPPFLAGS # But not CFLAGS (see comments for `cl' above).
# There is no way to ask *only* the compiler's version.
# This tool always wants to do something (by default
# it will try link *nothing* and complain it cannot find
diff --git a/tests/defs-static.in b/tests/defs-static.in
index e58a1a1..b79e399 100644
--- a/tests/defs-static.in
+++ b/tests/defs-static.in
@@ -194,6 +194,18 @@ AUTORECONF="$AUTORECONF -B /no/such/dir"
EGREP=${AM_TESTSUITE_EGREP-'@EGREP@'}
FGREP=${AM_TESTSUITE_FGREP-'@FGREP@'}
+# Compilers and their flags. These can point to non-GNU compilers (and
+# on non-Linux and non-BSD systems, they probably will).
+CC=${AM_TESTSUITE_CC-${CC-'@CC@'}}
+CXX=${AM_TESTSUITE_CXX-${CXX-'@CXX@'}}
+F77=${AM_TESTSUITE_F77-${F77-'@F77@'}}
+FC=${AM_TESTSUITE_FC-${FC-'@FC@'}}
+CFLAGS=${AM_TESTSUITE_CFLAGS-${CFLAGS-'@CFLAGS@'}}
+CXXFLAGS=${AM_TESTSUITE_CXXFLAGS-${CXXFLAGS-'@CXXFLAGS@'}}
+FCFLAGS=${AM_TESTSUITE_FCFLAGS-${FCFLAGS-'@FCFLAGS@'}}
+FFLAGS=${AM_TESTSUITE_FFLAGS-${FFLAGS-'@FFLAGS@'}}
+CPPFLAGS=${AM_TESTSUITE_CPPFLAGS-${CPPFLAGS-'@CPPFLAGS@'}}
+
# Flags for the GNU compilers.
GNU_FFLAGS=${AM_TESTSUITE_GNU_FFLAGS-${GNU_FFLAGS-'@GNU_FFLAGS@'}}
GNU_FCFLAGS=${AM_TESTSUITE_GNU_FCFLAGS-${GNU_FCFLAGS-'@GNU_FCFLAGS@'}}
--
1.7.7.3
- [PATCH 0/6] Merge 'experimental/compilers-for-testsuite' into master, Stefano Lattarini, 2012/01/19
- [PATCH 2/6] test defs: setup `*FLAGS' variables for GNU compilers, Stefano Lattarini, 2012/01/19
- [PATCH 5/6] tests: no need to unset CFLAGS in tests requiring 'gcc' anymore, Stefano Lattarini, 2012/01/19
- [PATCH 1/6] configure: search generic compilers for use in the tests, Stefano Lattarini, 2012/01/19
- Re: [PATCH 1/6] configure: search generic compilers for use in the tests, Peter Rosin, 2012/01/20
- Re: [PATCH 1/6] configure: search generic compilers for use in the tests, Stefano Lattarini, 2012/01/20
- Re: [PATCH 1/6] configure: search generic compilers for use in the tests, Peter Rosin, 2012/01/20
- Re: [PATCH 1/6] configure: search generic compilers for use in the tests, Stefano Lattarini, 2012/01/20
- Re: [PATCH 1/6] configure: search generic compilers for use in the tests, Peter Rosin, 2012/01/23
- Re: [PATCH 1/6] configure: search generic compilers for use in the tests, Stefano Lattarini, 2012/01/23
[PATCH 3/6] test defs: substitute compilers and flags found at configure time,
Stefano Lattarini <=
[PATCH 6/6] readme: how to run the testsuite with cross-compilers, Stefano Lattarini, 2012/01/19
[PATCH 4/6] test defs: allow compilers to be auto-selected on user's request, Stefano Lattarini, 2012/01/19
Re: [PATCH 0/6] Merge 'experimental/compilers-for-testsuite' into master, Stefano Lattarini, 2012/01/23