From dcadbbde8e613443e42802526044fe8691bf3ead Mon Sep 17 00:00:00 2001 From: Bruce Richardson Date: Tue, 29 Aug 2017 17:20:14 +0100 Subject: [PATCH] crypto/null: build with meson Add in a crypto driver class, and implement compiling the null crypto instance. Signed-off-by: Bruce Richardson Reviewed-by: Harry van Haaren Acked-by: Keith Wiles Acked-by: Luca Boccassi --- drivers/crypto/meson.build | 35 +++++++++++++++++++++++++++++++++ drivers/crypto/null/meson.build | 34 ++++++++++++++++++++++++++++++++ drivers/meson.build | 13 ++++++------ 3 files changed, 76 insertions(+), 6 deletions(-) create mode 100644 drivers/crypto/meson.build create mode 100644 drivers/crypto/null/meson.build diff --git a/drivers/crypto/meson.build b/drivers/crypto/meson.build new file mode 100644 index 0000000000..c84a9d522f --- /dev/null +++ b/drivers/crypto/meson.build @@ -0,0 +1,35 @@ +# BSD LICENSE +# +# Copyright(c) 2017 Intel Corporation. +# 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. + +drivers = ['null'] +std_deps = ['cryptodev'] # cryptodev pulls in all other needed deps +config_flag_fmt = 'RTE_LIBRTE_@0@_PMD' +driver_name_fmt = 'rte_pmd_@0@' diff --git a/drivers/crypto/null/meson.build b/drivers/crypto/null/meson.build new file mode 100644 index 0000000000..d7e7d8d6f6 --- /dev/null +++ b/drivers/crypto/null/meson.build @@ -0,0 +1,34 @@ +# BSD LICENSE +# +# Copyright(c) 2017 Intel Corporation. +# 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. + +deps += 'bus_vdev' +name = 'null_crypto' +sources = files('null_crypto_pmd.c', 'null_crypto_pmd_ops.c') diff --git a/drivers/meson.build b/drivers/meson.build index 574f21dd73..09bf0eb7d6 100644 --- a/drivers/meson.build +++ b/drivers/meson.build @@ -29,7 +29,7 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -driver_classes = ['bus', 'mempool'] +driver_classes = ['bus', 'crypto', 'mempool'] foreach class:driver_classes drivers = [] @@ -46,6 +46,7 @@ foreach class:driver_classes # set up empty variables used for build build = true # set to false to disable, e.g. missing deps + name = drv version = 1 allow_experimental_apis = false sources = [] @@ -66,7 +67,7 @@ foreach class:driver_classes subdir(drv_path) if build - dpdk_conf.set(config_flag_fmt.format(drv.to_upper()),1) + dpdk_conf.set(config_flag_fmt.format(name.to_upper()),1) if allow_experimental_apis cflags += '-DALLOW_EXPERIMENTAL_API' @@ -97,11 +98,11 @@ foreach class:driver_classes endforeach # now build the driver itself, and add to the drivers list - drv_name = driver_name_fmt.format(drv) + lib_name = driver_name_fmt.format(name) version_map = '@0@/@1@/@2@_version.map'.format( meson.current_source_dir(), - drv_path, drv_name) - lib = library(drv_name, + drv_path, lib_name) + lib = library(lib_name, sources, objects: objs, include_directories: includes, @@ -117,7 +118,7 @@ foreach class:driver_classes # create a dependency object and add it to the global dictionary so # testpmd or other built-in apps can find it if necessary - set_variable('dep_@0@'.format(drv_name), + set_variable('dep_@0@'.format(lib_name), declare_dependency(link_with: lib, include_directories: includes, dependencies: dep_objs)) -- 2.20.1