build/pkg-config: move pkg-config file creation
Ahead of changes to rework the file, move the pkg-config file generation to a new directory under buildtools. This allows the meson code to be separated out from the main meson.build for simplicity, and also allows any additional scripts for working with the pkg-config files to be placed there too. Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Luca Boccassi <bluca@debian.org> Acked-by: Sunil Pai G <sunil.pai.g@intel.com>
This commit is contained in:
parent
ca39d3a801
commit
11a47f9f1c
@ -126,6 +126,7 @@ F: config/rte_config.h
|
||||
F: buildtools/call-sphinx-build.py
|
||||
F: buildtools/gen-pmdinfo-cfile.sh
|
||||
F: buildtools/list-dir-globs.py
|
||||
F: buildtools/pkg-config/
|
||||
F: buildtools/symlink-drivers-solibs.sh
|
||||
|
||||
Public CI
|
||||
|
26
buildtools/pkg-config/meson.build
Normal file
26
buildtools/pkg-config/meson.build
Normal file
@ -0,0 +1,26 @@
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
# Copyright(c) 2020 Intel Corporation
|
||||
|
||||
# for static builds, include the drivers as libs and we need to "whole-archive"
|
||||
# them.
|
||||
dpdk_drivers = ['-Wl,--whole-archive'] + dpdk_drivers + ['-Wl,--no-whole-archive']
|
||||
|
||||
pkg = import('pkgconfig')
|
||||
pkg_extra_cflags = ['-include', 'rte_config.h'] + machine_args
|
||||
if is_freebsd
|
||||
pkg_extra_cflags += ['-D__BSD_VISIBLE']
|
||||
endif
|
||||
pkg.generate(name: meson.project_name(),
|
||||
filebase: 'lib' + meson.project_name().to_lower(),
|
||||
version: meson.project_version(),
|
||||
libraries: dpdk_libraries,
|
||||
libraries_private: dpdk_drivers + dpdk_static_libraries +
|
||||
['-Wl,-Bdynamic'] + dpdk_extra_ldflags,
|
||||
requires: libbsd, # apps using rte_string_fns.h may need this if enabled
|
||||
# if libbsd is not enabled, then this is blank
|
||||
description: '''The Data Plane Development Kit (DPDK).
|
||||
Note that CFLAGS might contain an -march flag higher than typical baseline.
|
||||
This is required for a number of static inline functions in the public headers.''',
|
||||
subdirs: [get_option('include_subdir_arch'), '.'],
|
||||
extra_cflags: pkg_extra_cflags
|
||||
)
|
25
meson.build
25
meson.build
@ -70,29 +70,8 @@ configure_file(output: build_cfg,
|
||||
install_dir: join_paths(get_option('includedir'),
|
||||
get_option('include_subdir_arch')))
|
||||
|
||||
# for static builds, include the drivers as libs and we need to "whole-archive"
|
||||
# them.
|
||||
dpdk_drivers = ['-Wl,--whole-archive'] + dpdk_drivers + ['-Wl,--no-whole-archive']
|
||||
|
||||
pkg = import('pkgconfig')
|
||||
pkg_extra_cflags = ['-include', 'rte_config.h'] + machine_args
|
||||
if is_freebsd
|
||||
pkg_extra_cflags += ['-D__BSD_VISIBLE']
|
||||
endif
|
||||
pkg.generate(name: meson.project_name(),
|
||||
filebase: 'lib' + meson.project_name().to_lower(),
|
||||
version: meson.project_version(),
|
||||
libraries: dpdk_libraries,
|
||||
libraries_private: dpdk_drivers + dpdk_static_libraries +
|
||||
['-Wl,-Bdynamic'] + dpdk_extra_ldflags,
|
||||
requires: libbsd, # apps using rte_string_fns.h may need this if enabled
|
||||
# if libbsd is not enabled, then this is blank
|
||||
description: '''The Data Plane Development Kit (DPDK).
|
||||
Note that CFLAGS might contain an -march flag higher than typical baseline.
|
||||
This is required for a number of static inline functions in the public headers.''',
|
||||
subdirs: [get_option('include_subdir_arch'), '.'],
|
||||
extra_cflags: pkg_extra_cflags
|
||||
)
|
||||
# build pkg-config files for dpdk
|
||||
subdir('buildtools/pkg-config')
|
||||
|
||||
# final output, list all the libs and drivers to be built
|
||||
# this does not affect any part of the build, for information only.
|
||||
|
Loading…
Reference in New Issue
Block a user