From: Simon Kagstrom <[email protected]>

Add conditional test to link and run ODP from a cpp application.

Signed-off-by: Simon Kagstrom <[email protected]>
Signed-off-by: Mike Holmes <[email protected]>
---
v4
Disable by default, use --enable-test-cpp to see C++ test and the
warnings it generates.

 configure.ac                            | 20 ++++++++++++++++++++
 test/Makefile.am                        |  2 +-
 test/Makefile.inc                       |  5 +++--
 test/miscellaneous/.gitignore           |  1 +
 test/miscellaneous/Makefile.am          | 12 ++++++++++++
 test/miscellaneous/gitignore            |  1 +
 test/miscellaneous/odp_api_from_cpp.cpp | 12 ++++++++++++
 7 files changed, 50 insertions(+), 3 deletions(-)
 create mode 100644 test/miscellaneous/.gitignore
 create mode 100644 test/miscellaneous/Makefile.am
 create mode 100644 test/miscellaneous/gitignore
 create mode 100644 test/miscellaneous/odp_api_from_cpp.cpp

diff --git a/configure.ac b/configure.ac
index e5c1c56..7d45ece 100644
--- a/configure.ac
+++ b/configure.ac
@@ -13,6 +13,8 @@ AM_SILENT_RULES([yes])
 AC_PROG_CC
 AM_PROG_CC_C_O
 
+AC_PROG_CXX
+
 AC_PROG_INSTALL
 AC_PROG_MAKE_SET
 
@@ -114,6 +116,20 @@ AC_ARG_ENABLE([test-perf],
 AM_CONDITIONAL([test_perf], [test x$test_perf = xyes ])
 
 ##########################################################################
+# Enable/disable test-cpp
+##########################################################################
+test_cpp=no
+AC_ARG_ENABLE([test-cpp],
+    [  --enable-test-cpp       run basic test aginast cpp],
+    [if test "x$enableval" = "xyes"; then
+        test_cpp=yes
+     else
+        test_cpp=no
+    fi])
+
+AM_CONDITIONAL([test_cpp], [test x$test_cpp = xyes ])
+
+##########################################################################
 # Set optional CUnit path
 ##########################################################################
 AC_ARG_WITH([cunit-path],
@@ -228,6 +244,7 @@ ODP_CFLAGS="$ODP_CFLAGS -Wformat-security -Wundef 
-Wwrite-strings"
 # Default include setup
 ##########################################################################
 AM_CFLAGS="$AM_CFLAGS $ODP_CFLAGS"
+AM_CXXFLAGS="-std=c++11"
 
 AC_CONFIG_FILES([Makefile
                 doc/Makefile
@@ -244,6 +261,7 @@ AC_CONFIG_FILES([Makefile
                 test/api_test/Makefile
                 test/performance/Makefile
                 test/validation/Makefile
+                test/miscellaneous/Makefile
                 ])
 
 AC_SEARCH_LIBS([timer_create],[rt posix4])
@@ -276,6 +294,7 @@ AC_MSG_RESULT([
        cc:                     ${CC}
        cppflags:               ${CPPFLAGS}
        am_cppflags:            ${AM_CPPFLAGS}
+       am_cxxflags:            ${AM_CXXFLAGS}
        cflags:                 ${CFLAGS}
        am_cflags:              ${AM_CFLAGS}
        ldflags:                ${LDFLAGS}
@@ -284,4 +303,5 @@ AC_MSG_RESULT([
        cunit:                  ${cunit_support}
        test_vald:              ${test_vald}
        test_perf:              ${test_perf}
+       test_cpp:               ${test_cpp}
 ])
diff --git a/test/Makefile.am b/test/Makefile.am
index ec2b248..2ba8008 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -1,4 +1,4 @@
-SUBDIRS = api_test performance
+SUBDIRS = api_test performance miscellaneous
 
 if cunit_support
     SUBDIRS += validation
diff --git a/test/Makefile.inc b/test/Makefile.inc
index ebee80a..93ead25 100644
--- a/test/Makefile.inc
+++ b/test/Makefile.inc
@@ -2,12 +2,13 @@ include $(top_srcdir)/Makefile.inc
 include $(top_srcdir)/platform/@with_platform@/Makefile.inc
 LIB   = $(top_builddir)/lib
 LDADD = $(LIB)/libodp.la
-AM_CFLAGS += \
-       -I$(srcdir) \
+INCFLAGS = -I$(srcdir) \
        -I$(top_srcdir)/test \
        -I$(top_srcdir)/platform/@with_platform@/include \
        -I$(top_srcdir)/platform/linux-generic/include \
        -I$(top_srcdir)/include \
        -I$(top_srcdir)/helper/include
+AM_CFLAGS += $(INCFLAGS)
+AM_CXXFLAGS = $(INCFLAGS)
 
 AM_LDFLAGS += -L$(LIB)
diff --git a/test/miscellaneous/.gitignore b/test/miscellaneous/.gitignore
new file mode 100644
index 0000000..134df38
--- /dev/null
+++ b/test/miscellaneous/.gitignore
@@ -0,0 +1 @@
+odp_api_from_cpp
diff --git a/test/miscellaneous/Makefile.am b/test/miscellaneous/Makefile.am
new file mode 100644
index 0000000..863643c
--- /dev/null
+++ b/test/miscellaneous/Makefile.am
@@ -0,0 +1,12 @@
+include $(top_srcdir)/test/Makefile.inc
+
+if test_cpp
+bin_PROGRAMS =  odp_api_from_cpp
+TESTS = odp_api_from_cpp
+endif
+
+odp_api_from_cpp_CXXFLAGS = $(AM_CXXFLAGS)
+
+odp_api_from_cpp_LDFLAGS = $(AM_LDFLAGS) -static
+
+dist_odp_api_from_cpp_SOURCES = odp_api_from_cpp.cpp
diff --git a/test/miscellaneous/gitignore b/test/miscellaneous/gitignore
new file mode 100644
index 0000000..134df38
--- /dev/null
+++ b/test/miscellaneous/gitignore
@@ -0,0 +1 @@
+odp_api_from_cpp
diff --git a/test/miscellaneous/odp_api_from_cpp.cpp 
b/test/miscellaneous/odp_api_from_cpp.cpp
new file mode 100644
index 0000000..e62ef8d
--- /dev/null
+++ b/test/miscellaneous/odp_api_from_cpp.cpp
@@ -0,0 +1,12 @@
+#include <cstdio>
+#include <odp.h>
+#include <odp/helper/linux.h>
+
+int main(int argc, const char *argv[])
+{
+
+       printf("\tODP API version: %s\n", odp_version_api_str());
+       printf("\tODP implementation version: %s\n", odp_version_impl_str());
+
+       return 0;
+}
-- 
2.1.0


_______________________________________________
lng-odp mailing list
[email protected]
http://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to