summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMariusz Ceier <mceier+wayland@gmail.com>2014-12-15 11:33:53 +0100
committerDaniel Stone <daniels@collabora.com>2015-01-27 11:17:42 +0000
commite3dc9a7af6f8f88ff7503bc3a70178e47802868d (patch)
treea7896e0b4e174ba715450ea8ea11879afe6833aa
parent9386e2be275878ba7ee68bcd65ce3f130c3fe3b0 (diff)
downloadwayland-e3dc9a7af6f8f88ff7503bc3a70178e47802868d.tar.gz
tests: C++ compilation test
This test includes one of wayland headers, which produced error with C++ compiler. C compiler can't be used for this test, because it issues only a warning[1] and only when wayland headers are not installed in system headers path (/usr/include). [1] wayland-server-protocol.h:201:2: warning: implicit declaration of function ‘wl_resource_post_event’ [daniels: Merged in Marek's follow-up to check for a C++ compiler.] Signed-off-by: Mariusz Ceier <mceier+wayland@gmail.com> Signed-off-by: Marek Chalupa <mchqwerty@gmail.com> Reviewed-by: Daniel Stone <daniels@collabora.com>
-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; }
+