From e3dc9a7af6f8f88ff7503bc3a70178e47802868d Mon Sep 17 00:00:00 2001 From: Mariusz Ceier Date: Mon, 15 Dec 2014 11:33:53 +0100 Subject: [PATCH] tests: C++ compilation test MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 Signed-off-by: Marek Chalupa Reviewed-by: Daniel Stone --- Makefile.am | 8 ++++++++ configure.ac | 12 ++++++++++++ tests/cpp-compile-test.cpp | 5 +++++ 3 files changed, 25 insertions(+) create mode 100644 tests/cpp-compile-test.cpp 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; } + -- 2.7.4