crypto/null: build with meson

Add in a crypto driver class, and implement compiling the null crypto
instance.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: Harry van Haaren <harry.van.haaren@intel.com>
Acked-by: Keith Wiles <keith.wiles@intel.com>
Acked-by: Luca Boccassi <luca.boccassi@gmail.com>
This commit is contained in:
Bruce Richardson 2017-08-29 17:20:14 +01:00
parent 59c5d45050
commit dcadbbde8e
3 changed files with 76 additions and 6 deletions

View File

@ -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@'

View File

@ -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')

View File

@ -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))