aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Holmes <mike.holmes@linaro.org>2015-07-06 15:13:52 -0400
committerMaxim Uvarov <maxim.uvarov@linaro.org>2015-07-09 14:19:16 +0300
commit38de6769b9b96b90b8ef6fbbf2049ce03aadd5c6 (patch)
treeee7ef9b780dc5d3a188509e60d70d6dbccc4e72b
parent183af08a08473293c4317ff651fe1f75ddd84bde (diff)
helper: convert to a library
Remove the need to build helper source files into the linux-generic library by converting helpers to be their own library. This removes the need for all other platforms to also build in the helpers which are optional just to run the tests. Signed-off-by: Mike Holmes <mike.holmes@linaro.org> Reviewed-by: Christophe Milard <christophe.milard@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
-rw-r--r--.gitignore2
-rw-r--r--Makefile.am3
-rw-r--r--configure.ac1
-rw-r--r--debian/libodphelper-dev.dirs2
-rw-r--r--debian/libodphelper-dev.install4
-rw-r--r--debian/libodphelper.dirs1
-rw-r--r--debian/libodphelper.install1
-rw-r--r--example/Makefile.inc2
-rw-r--r--helper/Makefile.am30
-rw-r--r--helper/test/Makefile.am2
-rw-r--r--pkgconfig/libodphelper.pc.in11
-rw-r--r--platform/linux-generic/Makefile.am16
-rw-r--r--test/Makefile.inc2
-rw-r--r--test/validation/Makefile.inc2
14 files changed, 57 insertions, 22 deletions
diff --git a/.gitignore b/.gitignore
index 6222fd971..4dbf28ed5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -24,7 +24,7 @@ missing
config.log
config.status
libtool
-pkgconfig/libodp.pc
+pkgconfig/libodp*.pc
.deps/
cscope.out
tags
diff --git a/Makefile.am b/Makefile.am
index 2c8a9d643..7ce3a3c5b 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -3,9 +3,10 @@ AUTOMAKE_OPTIONS = foreign
#@with_platform@ works alone in subdir but not as part of a path???
SUBDIRS = @platform_with_platform@ \
+ helper \
test \
@platform_with_platform_test@ \
- helper \
+ helper/test \
doc \
example \
scripts
diff --git a/configure.ac b/configure.ac
index e32a6fada..2ea136880 100644
--- a/configure.ac
+++ b/configure.ac
@@ -296,6 +296,7 @@ AC_CONFIG_FILES([Makefile
helper/Makefile
helper/test/Makefile
pkgconfig/libodp.pc
+ pkgconfig/libodphelper.pc
platform/linux-generic/Makefile
platform/linux-generic/test/pktio/Makefile
scripts/Makefile
diff --git a/debian/libodphelper-dev.dirs b/debian/libodphelper-dev.dirs
new file mode 100644
index 000000000..44188162e
--- /dev/null
+++ b/debian/libodphelper-dev.dirs
@@ -0,0 +1,2 @@
+usr/lib
+usr/include
diff --git a/debian/libodphelper-dev.install b/debian/libodphelper-dev.install
new file mode 100644
index 000000000..b973af437
--- /dev/null
+++ b/debian/libodphelper-dev.install
@@ -0,0 +1,4 @@
+usr/include/*
+usr/lib/*/lib*.so
+usr/lib/*/lib*.a
+usr/lib/*/pkgconfig/*
diff --git a/debian/libodphelper.dirs b/debian/libodphelper.dirs
new file mode 100644
index 000000000..68457717b
--- /dev/null
+++ b/debian/libodphelper.dirs
@@ -0,0 +1 @@
+usr/lib
diff --git a/debian/libodphelper.install b/debian/libodphelper.install
new file mode 100644
index 000000000..3ddde5841
--- /dev/null
+++ b/debian/libodphelper.install
@@ -0,0 +1 @@
+usr/lib/*/lib*.so.*
diff --git a/example/Makefile.inc b/example/Makefile.inc
index b3a97063a..e1c1cb7dc 100644
--- a/example/Makefile.inc
+++ b/example/Makefile.inc
@@ -1,7 +1,7 @@
include $(top_srcdir)/Makefile.inc
include $(top_srcdir)/platform/@with_platform@/Makefile.inc
LIB = $(top_builddir)/lib
-LDADD = $(LIB)/libodp.la
+LDADD = $(LIB)/libodp.la $(LIB)/libodphelper.la
AM_CFLAGS += \
-I$(srcdir) \
-I$(top_srcdir)/example \
diff --git a/helper/Makefile.am b/helper/Makefile.am
index 02af5b3e3..44bcc3d37 100644
--- a/helper/Makefile.am
+++ b/helper/Makefile.am
@@ -1 +1,29 @@
-SUBDIRS = test
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = $(top_builddir)/pkgconfig/libodphelper.pc
+
+LIB = $(top_builddir)/lib
+AM_CFLAGS = -I$(srcdir)/include
+AM_CFLAGS += -I$(top_srcdir)/platform/@with_platform@/include
+AM_CFLAGS += -I$(top_srcdir)/platform/linux-generic/include
+AM_CFLAGS += -I$(top_srcdir)/include
+
+include_HEADERS = \
+ $(srcdir)/include/odp/helper/ring.h \
+ $(srcdir)/include/odp/helper/linux.h \
+ $(srcdir)/include/odp/helper/chksum.h\
+ $(srcdir)/include/odp/helper/eth.h\
+ $(srcdir)/include/odp/helper/icmp.h\
+ $(srcdir)/include/odp/helper/ip.h\
+ $(srcdir)/include/odp/helper/ipsec.h\
+ $(srcdir)/include/odp/helper/tcp.h\
+ $(srcdir)/include/odp/helper/udp.h
+
+noinst_HEADERS = \
+ $(srcdir)/odph_debug.h \
+ $(srcdir)/odph_pause.h
+
+__LIB__libodphelper_la_SOURCES = \
+ linux.c \
+ ring.c
+
+lib_LTLIBRARIES = $(LIB)/libodphelper.la
diff --git a/helper/test/Makefile.am b/helper/test/Makefile.am
index 9ac82eb16..aed97cc63 100644
--- a/helper/test/Makefile.am
+++ b/helper/test/Makefile.am
@@ -24,4 +24,6 @@ bin_PROGRAMS = $(EXECUTABLES) $(COMPILE_ONLY)
dist_odp_chksum_SOURCES = odp_chksum.c
dist_odp_thread_SOURCES = odp_thread.c
+odp_thread_LDADD = $(LIB)/libodphelper.la $(LIB)/libodp.la
dist_odp_process_SOURCES = odp_process.c
+odp_process_LDADD = $(LIB)/libodphelper.la $(LIB)/libodp.la
diff --git a/pkgconfig/libodphelper.pc.in b/pkgconfig/libodphelper.pc.in
new file mode 100644
index 000000000..2993d717e
--- /dev/null
+++ b/pkgconfig/libodphelper.pc.in
@@ -0,0 +1,11 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: libodphelper
+Description: Helper for the ODP packet processing engine
+Version: @VERSION@
+Libs: -L${libdir} -lodphelper
+Libs.private:
+Cflags: -I${includedir}
diff --git a/platform/linux-generic/Makefile.am b/platform/linux-generic/Makefile.am
index 6f62c5ccc..34db0b1f3 100644
--- a/platform/linux-generic/Makefile.am
+++ b/platform/linux-generic/Makefile.am
@@ -127,20 +127,6 @@ noinst_HEADERS = \
${srcdir}/include/odp_timer_internal.h \
${srcdir}/Makefile.inc
-subdirheadersdir = $(includedir)/odp/helper
-subdirheaders_HEADERS = \
- $(top_srcdir)/helper/include/odp/helper/chksum.h \
- $(top_srcdir)/helper/include/odp/helper/eth.h \
- $(top_srcdir)/helper/include/odp/helper/icmp.h \
- $(top_srcdir)/helper/include/odp/helper/ip.h \
- $(top_srcdir)/helper/include/odp/helper/ipsec.h \
- $(top_srcdir)/helper/include/odp/helper/linux.h \
- $(top_srcdir)/helper/include/odp/helper/ring.h \
- $(top_srcdir)/helper/include/odp/helper/tcp.h \
- $(top_srcdir)/helper/include/odp/helper/udp.h \
- $(top_srcdir)/helper/odph_debug.h \
- $(top_srcdir)/helper/odph_pause.h
-
__LIB__libodp_la_SOURCES = \
odp_barrier.c \
odp_buffer.c \
@@ -151,14 +137,12 @@ __LIB__libodp_la_SOURCES = \
odp_event.c \
odp_init.c \
odp_impl.c \
- ../../helper/linux.c \
odp_packet.c \
odp_packet_flags.c \
odp_packet_io.c \
odp_packet_socket.c \
odp_pool.c \
odp_queue.c \
- ../../helper/ring.c \
odp_rwlock.c \
odp_schedule.c \
odp_shared_memory.c \
diff --git a/test/Makefile.inc b/test/Makefile.inc
index 1eb6ed53a..2fa61e4c3 100644
--- a/test/Makefile.inc
+++ b/test/Makefile.inc
@@ -5,7 +5,7 @@ LIB = $(top_builddir)/lib
#in the following line, the libs using the symbols should come before
#the libs containing them! The includer is given a chance to add things
#before libodp by setting PRE_LDADD before the inclusion.
-LDADD = $(PRE_LDADD) $(LIB)/libodp.la
+LDADD = $(PRE_LDADD) $(LIB)/libodphelper.la $(LIB)/libodp.la
INCFLAGS = -I$(srcdir) \
-I$(top_srcdir)/test \
diff --git a/test/validation/Makefile.inc b/test/validation/Makefile.inc
index 3cdc6a74e..31729b88d 100644
--- a/test/validation/Makefile.inc
+++ b/test/validation/Makefile.inc
@@ -4,4 +4,4 @@ AM_CFLAGS += -I$(top_srcdir)/test/validation/common
AM_LDFLAGS += -static
LIBCUNIT_COMMON = $(top_builddir)/test/validation/common/libcunit_common.a
-LIBODP = $(LIB)/libodp.la
+LIBODP = $(LIB)/libodphelper.la $(LIB)/libodp.la