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/call-sphinx-build.py
|
||||||
F: buildtools/gen-pmdinfo-cfile.sh
|
F: buildtools/gen-pmdinfo-cfile.sh
|
||||||
F: buildtools/list-dir-globs.py
|
F: buildtools/list-dir-globs.py
|
||||||
|
F: buildtools/pkg-config/
|
||||||
F: buildtools/symlink-drivers-solibs.sh
|
F: buildtools/symlink-drivers-solibs.sh
|
||||||
|
|
||||||
Public CI
|
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'),
|
install_dir: join_paths(get_option('includedir'),
|
||||||
get_option('include_subdir_arch')))
|
get_option('include_subdir_arch')))
|
||||||
|
|
||||||
# for static builds, include the drivers as libs and we need to "whole-archive"
|
# build pkg-config files for dpdk
|
||||||
# them.
|
subdir('buildtools/pkg-config')
|
||||||
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
|
|
||||||
)
|
|
||||||
|
|
||||||
# final output, list all the libs and drivers to be built
|
# final output, list all the libs and drivers to be built
|
||||||
# this does not affect any part of the build, for information only.
|
# this does not affect any part of the build, for information only.
|
||||||
|
Loading…
Reference in New Issue
Block a user