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" <[email protected]>
Reviewed-by: Peter Hutterer <[email protected]>

---
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

_______________________________________________
wayland-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to