From: luca.boccassi@gmail.com
To: dev@dpdk.org
Cc: bruce.richardson@intel.com, Luca Boccassi <bluca@debian.org>
Subject: [dpdk-dev] [PATCH 2/3] build: add optional arch-specific headers install path
Date: Fri, 15 Sep 2017 18:36:11 +0100 [thread overview]
Message-ID: <20170915173612.13636-3-luca.boccassi@gmail.com> (raw)
In-Reply-To: <20170915173612.13636-1-luca.boccassi@gmail.com>
From: Luca Boccassi <bluca@debian.org>
A subset of the dpdk headers are arch-dependent, but have common names
and thus cause a clash in a multiarch installation.
For example, rte_config.h is different for each target.
Add a "include_subdir_arch" option to allow a user to specify a
subdirectory for arch independent headers to fix multiarch support.
Signed-off-by: Luca Boccassi <bluca@debian.org>
---
config/meson.build | 2 +-
lib/librte_eal/common/include/arch/x86/meson.build | 3 ++-
meson.build | 3 ++-
meson_options.txt | 1 +
4 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/config/meson.build b/config/meson.build
index b57a7e64b..db68a08d4 100644
--- a/config/meson.build
+++ b/config/meson.build
@@ -69,4 +69,4 @@ dpdk_conf.set('RTE_MAX_NUMA_NODES', get_option('max_numa_nodes'))
dpdk_conf.set('RTE_LIBEAL_USE_HPET', get_option('use_hpet'))
dpdk_conf.set('RTE_EAL_ALLOW_INV_SOCKET_ID', get_option('allow_invalid_socket_id'))
-install_headers('rte_config.h')
+install_headers('rte_config.h', subdir: get_option('include_subdir_arch'))
diff --git a/lib/librte_eal/common/include/arch/x86/meson.build b/lib/librte_eal/common/include/arch/x86/meson.build
index 80b5980c1..5e9c02687 100644
--- a/lib/librte_eal/common/include/arch/x86/meson.build
+++ b/lib/librte_eal/common/include/arch/x86/meson.build
@@ -45,4 +45,5 @@ install_headers(
'rte_rtm.h',
'rte_rwlock.h',
'rte_spinlock.h',
- 'rte_vect.h')
+ 'rte_vect.h',
+ subdir: get_option('include_subdir_arch'))
diff --git a/meson.build b/meson.build
index f41fb4120..134158dae 100644
--- a/meson.build
+++ b/meson.build
@@ -70,7 +70,7 @@ subdir('app')
build_cfg = 'rte_build_config.h'
configure_file(output: build_cfg,
configuration: dpdk_conf,
- install_dir: get_option('includedir'))
+ install_dir: get_option('includedir') + '/' + get_option('include_subdir_arch'))
# for static builds, include the drivers as libs, and also any
# other dependent libs that DPDK needs to link against
@@ -85,5 +85,6 @@ pkg.generate(name: meson.project_name(),
version: meson.project_version(),
libraries: dpdk_libraries,
description: 'The Data Plane Development Kit (DPDK)',
+ subdirs: [get_option('include_subdir_arch'), '.'],
extra_cflags: '-include "rte_config.h"'
)
diff --git a/meson_options.txt b/meson_options.txt
index 636226ce8..fb945db91 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -7,3 +7,4 @@ option('allow_invalid_socket_id', type: 'boolean', value: false,
option('enable_kmods', type: 'boolean', value: true, description: 'build kernel modules')
option('kernel_dir', type: 'string', value: '', description: 'path to the kernel for building kernel modules')
option('per_library_versions', type: 'boolean', value: true, description: 'true: each lib gets its own version number, false: DPDK version used for each lib')
+option('include_subdir_arch', type: 'string', value: '', description: 'subdirectory where to install arch-dependent headers')
--
2.11.0
next prev parent reply other threads:[~2017-09-15 17:36 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-15 17:36 [dpdk-dev] [PATCH 0/3] meson: compatibility with Debian/Ubuntu luca.boccassi
2017-09-15 17:36 ` [dpdk-dev] [PATCH 1/3] build: rename pkgconfig to libdpdk.pc luca.boccassi
2017-09-18 11:09 ` Bruce Richardson
2017-09-18 11:52 ` Luca Boccassi
2017-09-15 17:36 ` luca.boccassi [this message]
2017-09-18 11:27 ` [dpdk-dev] [PATCH 2/3] build: add optional arch-specific headers install path Bruce Richardson
2017-09-15 17:36 ` [dpdk-dev] [PATCH 3/3] build: don't hard-code generic/exec-env " luca.boccassi
2017-09-18 11:28 ` Bruce Richardson
2017-09-18 11:29 ` [dpdk-dev] [PATCH 0/3] meson: compatibility with Debian/Ubuntu Bruce Richardson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170915173612.13636-3-luca.boccassi@gmail.com \
--to=luca.boccassi@gmail.com \
--cc=bluca@debian.org \
--cc=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).