[PATCH v2] configure: better check for the C++ compiler

Yann E. MORIN yann.morin.1998 at free.fr
Wed Mar 8 17:23:49 UTC 2017


When a C++ compiler is not found, then AC_PROG_CXX will set CXX to
'false'.

However, we test that we can find $CXX, and indeed false exists in
the PATH, for virtually all systems we have a chance to be compiled
on. So we conclude that we do have a C++ compiler, when this is
clearly wrong.

Improve our hack by trying to run the C++ compiler with a benign call,
that should succeed if the CXX is really a C++ compiler: tell it to dump
its pre-defined macros.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998 at free.fr>
Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>

---
Changes v1 -> v2:
  - fix typo in commit log  (Peter)

---
Note: this is not a replacement for the patch I sent earlier [0].
It is complementary.
---
 configure.ac | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/configure.ac b/configure.ac
index 738d744..8b022c1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -33,11 +33,11 @@ AM_PROG_AS
 # check if we have C++ compiler. This is hacky workaround,
 # for a reason why it is this way see
 # http://lists.gnu.org/archive/html/bug-autoconf/2010-05/msg00001.html
-have_cpp_compiler=yes
-
-if ! which "$CXX" &>/dev/null; then
-	have_cpp_compiler=no
-fi
+AS_IF([! which "$CXX" &>/dev/null];
+	[have_cpp_compiler=no],
+	[AS_IF([! $CXX -dM -E - < /dev/null >/dev/null],
+		[have_cpp_compiler=no],
+		[have_cpp_compiler=yes])])
 
 AM_CONDITIONAL(ENABLE_CPP_TEST, test "x$have_cpp_compiler" = "xyes")
 
-- 
2.7.4



More information about the wayland-devel mailing list