summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.am8
-rw-r--r--configure.ac12
-rw-r--r--tests/cpp-compile-test.cpp5
3 files changed, 25 insertions, 0 deletions
diff --git a/Makefile.am b/Makefile.am
index 1551762..43b741a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -130,6 +130,10 @@ TESTS = \
resources-test \
message-test
+if ENABLE_CPP_TEST
+TESTS += cpp-compile-test
+endif
+
check_PROGRAMS = \
$(TESTS) \
exec-fd-leak-checker
@@ -181,6 +185,10 @@ resources_test_LDADD = libtest-runner.la
message_test_SOURCES = tests/message-test.c
message_test_LDADD = libtest-runner.la
+if ENABLE_CPP_TEST
+cpp_compile_test_SOURCES = tests/cpp-compile-test.cpp
+endif
+
fixed_benchmark_SOURCES = tests/fixed-benchmark.c
fixed_benchmark_LDADD = libtest-runner.la
diff --git a/configure.ac b/configure.ac
index 0249002..e749b00 100644
--- a/configure.ac
+++ b/configure.ac
@@ -26,6 +26,18 @@ AM_SILENT_RULES([yes])
# Check for programs
AC_PROG_CC
+AC_PROG_CXX
+
+# 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
+
+AM_CONDITIONAL(ENABLE_CPP_TEST, test "x$have_cpp_compiler" = "xyes")
# Initialize libtool
LT_PREREQ([2.2])
diff --git a/tests/cpp-compile-test.cpp b/tests/cpp-compile-test.cpp
new file mode 100644
index 0000000..1e84e63
--- /dev/null
+++ b/tests/cpp-compile-test.cpp
@@ -0,0 +1,5 @@
+/* This source should compile fine with C++ compiler */
+#include "wayland-server-protocol.h"
+
+int main() { return 0; }
+