From: luca.boccassi@gmail.com
To: dev@dpdk.org
Cc: bruce.richardson@intel.com, Luca Boccassi <bluca@debian.org>
Subject: [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 [PATCH 0/3] meson: compatibility with Debian/Ubuntu luca.boccassi
2017-09-15 17:36 ` [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 ` [PATCH 2/3] build: add optional arch-specific headers install path Bruce Richardson
2017-09-15 17:36 ` [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 ` [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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.