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

Yann E. MORIN yann.morin.1998 at free.fr
Sun Mar 5 14:17:36 UTC 2017

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

However, we test that we can find $CXX, and idneed 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>
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 96a5575..9939bf4 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
-if ! which "$CXX" &>/dev/null; then
-	have_cpp_compiler=no
+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")

More information about the wayland-devel mailing list