[dpdk-dev] [RFCv2 35/40] build: add packet framework libs to meson build

Bruce Richardson bruce.richardson at intel.com
Mon Aug 14 11:52:03 CEST 2017


Signed-off-by: Bruce Richardson <bruce.richardson at intel.com>
---
 lib/librte_pipeline/meson.build | 35 +++++++++++++++++++++++++
 lib/librte_port/meson.build     | 58 +++++++++++++++++++++++++++++++++++++++++
 lib/librte_table/meson.build    | 52 ++++++++++++++++++++++++++++++++++++
 lib/meson.build                 |  6 ++++-
 4 files changed, 150 insertions(+), 1 deletion(-)
 create mode 100644 lib/librte_pipeline/meson.build
 create mode 100644 lib/librte_port/meson.build
 create mode 100644 lib/librte_table/meson.build

diff --git a/lib/librte_pipeline/meson.build b/lib/librte_pipeline/meson.build
new file mode 100644
index 000000000..56a3cf69f
--- /dev/null
+++ b/lib/librte_pipeline/meson.build
@@ -0,0 +1,35 @@
+#   BSD LICENSE
+#
+#   Copyright(c) 2017 Intel Corporation. All rights reserved.
+#   All rights reserved.
+#
+#   Redistribution and use in source and binary forms, with or without
+#   modification, are permitted provided that the following conditions
+#   are met:
+#
+#     * Redistributions of source code must retain the above copyright
+#       notice, this list of conditions and the following disclaimer.
+#     * Redistributions in binary form must reproduce the above copyright
+#       notice, this list of conditions and the following disclaimer in
+#       the documentation and/or other materials provided with the
+#       distribution.
+#     * Neither the name of Intel Corporation nor the names of its
+#       contributors may be used to endorse or promote products derived
+#       from this software without specific prior written permission.
+#
+#   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+#   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+#   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+#   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+#   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+#   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+#   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+#   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+#   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+#   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+#   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+version = 3
+sources = files('rte_pipeline.c')
+headers = files('rte_pipeline.h')
+deps += ['port', 'table']
\ No newline at end of file
diff --git a/lib/librte_port/meson.build b/lib/librte_port/meson.build
new file mode 100644
index 000000000..a130f6eb6
--- /dev/null
+++ b/lib/librte_port/meson.build
@@ -0,0 +1,58 @@
+#   BSD LICENSE
+#
+#   Copyright(c) 2017 Intel Corporation. All rights reserved.
+#   All rights reserved.
+#
+#   Redistribution and use in source and binary forms, with or without
+#   modification, are permitted provided that the following conditions
+#   are met:
+#
+#     * Redistributions of source code must retain the above copyright
+#       notice, this list of conditions and the following disclaimer.
+#     * Redistributions in binary form must reproduce the above copyright
+#       notice, this list of conditions and the following disclaimer in
+#       the documentation and/or other materials provided with the
+#       distribution.
+#     * Neither the name of Intel Corporation nor the names of its
+#       contributors may be used to endorse or promote products derived
+#       from this software without specific prior written permission.
+#
+#   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+#   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+#   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+#   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+#   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+#   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+#   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+#   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+#   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+#   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+#   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+version = 3
+sources = files(
+	'rte_port_ethdev.c',
+	'rte_port_fd.c',
+	'rte_port_ring.c',
+	'rte_port_sched.c',
+	'rte_port_source_sink.c')
+headers = files(
+	'rte_port_ethdev.h',
+	'rte_port_fd.h',
+	'rte_port.h',
+	'rte_port_ring.h',
+	'rte_port_sched.h',
+	'rte_port_source_sink.h')
+deps = ['ether', 'sched']
+
+if dpdk_conf.has('RTE_LIBRTE_IP_FRAG')
+	sources += files('rte_port_frag.c', 'rte_port_ras.c')
+	headers += files('rte_port_frag.h', 'rte_port_ras.h')
+	deps += ['ip_frag']
+endif
+
+if dpdk_conf.has('RTE_LIBRTE_KNI')
+	sources += files('rte_port_kni.c')
+	headers += files('rte_port_kni.h')
+	deps += 'kni'
+endif
diff --git a/lib/librte_table/meson.build b/lib/librte_table/meson.build
new file mode 100644
index 000000000..66069a74b
--- /dev/null
+++ b/lib/librte_table/meson.build
@@ -0,0 +1,52 @@
+#   BSD LICENSE
+#
+#   Copyright(c) 2017 Intel Corporation. All rights reserved.
+#   All rights reserved.
+#
+#   Redistribution and use in source and binary forms, with or without
+#   modification, are permitted provided that the following conditions
+#   are met:
+#
+#     * Redistributions of source code must retain the above copyright
+#       notice, this list of conditions and the following disclaimer.
+#     * Redistributions in binary form must reproduce the above copyright
+#       notice, this list of conditions and the following disclaimer in
+#       the documentation and/or other materials provided with the
+#       distribution.
+#     * Neither the name of Intel Corporation nor the names of its
+#       contributors may be used to endorse or promote products derived
+#       from this software without specific prior written permission.
+#
+#   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+#   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+#   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+#   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+#   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+#   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+#   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+#   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+#   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+#   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+#   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+version = 2
+sources = files('rte_table_lpm.c', 'rte_table_lpm_ipv6.c',
+		'rte_table_hash_cuckoo.c', 'rte_table_hash_key8.c',
+		'rte_table_hash_key16.c', 'rte_table_hash_key32.c',
+		'rte_table_hash_ext.c', 'rte_table_hash_lru.c',
+		'rte_table_array.c', 'rte_table_stub.c')
+headers = files('rte_table.h', 'rte_table_lpm.h',
+		'rte_table_lpm_ipv6.h', 'rte_table_hash.h',
+		'rte_lru.h', 'rte_table_array.h',
+		'rte_table_stub.h')
+deps = ['mbuf', 'port', 'lpm', 'hash']
+
+if arch_subdir == 'x86'
+	headers += files('rte_lru_x86.h')
+endif
+
+if dpdk_conf.has('RTE_LIBRTE_ACL')
+	sources += files('rte_table_acl.c')
+	headers += files('rte_table_acl.h')
+	deps += ['acl']
+endif
\ No newline at end of file
diff --git a/lib/meson.build b/lib/meson.build
index 453d6ee0d..92d26b8aa 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -47,12 +47,16 @@ libs = ['ring', 'mempool', 'mbuf', 'net', 'ether', # core
 	'efd', 'eventdev', 'gro', 'ip_frag', 'jobstats',
 	'latencystats', 'lpm', 'meter', 'pdump', 'reorder', 'sched',
 	'timer']
-# pipeline, port, table, acl # todo
+# acl - todo
 
 if host_machine.system() == 'linux'
 	libs += ['kni', 'power', 'vhost']
 endif
 
+# add pkt framework libs which use other libs from above, including optional
+# ones for linux
+libs += ['port', 'table', 'pipeline']
+
 foreach l:libs
 	version = 1
 	sources = []
-- 
2.13.4



More information about the dev mailing list