From: Bruce Richardson <bruce.richardson@intel.com>
To: Neil Horman <nhorman@tuxdriver.com>
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] [dpdk-dev, 02/17] eal: add eal library to meson build
Date: Fri, 8 Sep 2017 09:51:48 +0100 [thread overview]
Message-ID: <20170908085147.GB35580@bricha3-MOBL3.ger.corp.intel.com> (raw)
In-Reply-To: <20170907162529.GB18344@hmswarspite.think-freely.org>
On Thu, Sep 07, 2017 at 12:25:29PM -0400, Neil Horman wrote:
> On Fri, Sep 01, 2017 at 11:04:01AM +0100, Bruce Richardson wrote:
> > Support building the EAL with meson and ninja. This involves a number of
> > different meson.build files for iterating through all the different
> > subdirectories in the EAL. The library itself will be compiled on build but
> > the header files are only copied from their initial location once "ninja
> > install" is run. Instead, we use meson dependency tracking to ensure that
> > other libraries which use the EAL headers can find them in their original
> > locations.
> >
> > Note: this does not include building kernel modules on either BSD or Linux
> >
> > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> > Reviewed-by: Harry van Haaren <harry.van.haaren@intel.com>
> > ---
> > config/rte_config.h | 11 ++++
> > lib/librte_eal/bsdapp/eal/meson.build | 67 ++++++++++++++++++++
> > lib/librte_eal/bsdapp/meson.build | 32 ++++++++++
> > lib/librte_eal/common/arch/meson.build | 33 ++++++++++
> > lib/librte_eal/common/arch/x86/meson.build | 32 ++++++++++
> > lib/librte_eal/common/include/arch/meson.build | 33 ++++++++++
> > lib/librte_eal/common/include/arch/x86/meson.build | 48 +++++++++++++++
> > lib/librte_eal/common/include/meson.build | 71 +++++++++++++++++++++
> > lib/librte_eal/common/meson.build | 71 +++++++++++++++++++++
> > lib/librte_eal/linuxapp/eal/meson.build | 72 ++++++++++++++++++++++
> > lib/librte_eal/linuxapp/meson.build | 32 ++++++++++
> > lib/librte_eal/meson.build | 44 +++++++++++++
> > lib/meson.build | 32 ++++++++++
> > meson.build | 3 +-
> > 14 files changed, 580 insertions(+), 1 deletion(-)
> > create mode 100644 lib/librte_eal/bsdapp/eal/meson.build
> > create mode 100644 lib/librte_eal/bsdapp/meson.build
> > create mode 100644 lib/librte_eal/common/arch/meson.build
> > create mode 100644 lib/librte_eal/common/arch/x86/meson.build
> > create mode 100644 lib/librte_eal/common/include/arch/meson.build
> > create mode 100644 lib/librte_eal/common/include/arch/x86/meson.build
> > create mode 100644 lib/librte_eal/common/include/meson.build
> > create mode 100644 lib/librte_eal/common/meson.build
> > create mode 100644 lib/librte_eal/linuxapp/eal/meson.build
> > create mode 100644 lib/librte_eal/linuxapp/meson.build
> > create mode 100644 lib/librte_eal/meson.build
> > create mode 100644 lib/meson.build
> >
> > diff --git a/config/rte_config.h b/config/rte_config.h
> > index 79b0db90f..252b087ad 100644
> > --- a/config/rte_config.h
> > +++ b/config/rte_config.h
> > @@ -47,4 +47,15 @@
> >
> > #include <rte_build_config.h>
> >
> > +/****** library defines ********/
> > +
> > +/* EAL defines */
> > +#define RTE_MAX_MEMSEG 512
> > +#define RTE_MAX_MEMZONE 2560
> > +#define RTE_MAX_TAILQ 32
> > +#define RTE_LOG_LEVEL RTE_LOG_INFO
> > +#define RTE_LOG_DP_LEVEL RTE_LOG_INFO
> > +#define RTE_BACKTRACE 1
> > +#define RTE_EAL_VFIO 1
> > +
> > #endif /* _RTE_CONFIG_H_ */
> > diff --git a/lib/librte_eal/bsdapp/eal/meson.build b/lib/librte_eal/bsdapp/eal/meson.build
> > new file mode 100644
> > index 000000000..bc9c3f0cb
> > --- /dev/null
> > +++ b/lib/librte_eal/bsdapp/eal/meson.build
> > @@ -0,0 +1,67 @@
> > +# BSD LICENSE
> > +#
> > +# Copyright(c) 2017 Intel Corporation. All rights reserved.
> > +# 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.
> > +
> > +eal_inc += include_directories('include')
> > +install_subdir('include/exec-env', install_dir: 'include')
> > +
> > +sources = ['eal_alarm.c',
> > + 'eal_debug.c',
> > + 'eal_hugepage_info.c',
> > + 'eal_interrupts.c',
> > + 'eal_lcore.c',
> > + 'eal_thread.c',
> > + 'eal_timer.c',
> > + 'eal.c',
> > + 'eal_memory.c',
> > + 'eal_pci.c',
> > +]
> > +
> > +eal_extra_link_arg = '-lexecinfo'
> > +
> > +version_map = join_paths(meson.current_source_dir(), 'rte_eal_version.map')
> Odd quesion, only for my own education. Does the version map get treated as a
> dependency here? That is to say, if I update it, does the assocated library get
> rebuilt? The current build system missed this, and it would be nice if it got
> included in the new one.
>
That should be the case, as it explicitly called out as link dependency in
the library call below.
> > +eal_lib = library('rte_eal', sources, eal_common_sources, eal_common_arch_sources,
> > + dependencies: dependency('threads'),
> > + include_directories : eal_inc,
> > + version: '@0@.1'.format(version),
> > + c_args: '-D_GNU_SOURCE',
> > + link_depends: version_map,
> > + link_args: [eal_extra_link_arg,
> > + '-Wl,--version-script=' + version_map],
> > + install: true
> > +)
> > +
>
>
> Neil
>
next prev parent reply other threads:[~2017-09-08 8:51 UTC|newest]
Thread overview: 107+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-01 10:03 [dpdk-dev] [PATCH 00/17] build DPDK libs and some drivers with meson/ninja Bruce Richardson
2017-09-01 10:04 ` [dpdk-dev] [PATCH 01/17] build: add initial infrastructure for meson & ninja builds Bruce Richardson
2017-09-04 13:36 ` Van Haaren, Harry
2017-09-04 13:51 ` Bruce Richardson
2017-09-06 16:18 ` Bruce Richardson
2017-09-07 13:52 ` Bruce Richardson
2017-09-07 16:21 ` [dpdk-dev] [dpdk-dev, " Neil Horman
2017-09-07 16:47 ` Wiles, Keith
2017-09-07 17:12 ` Neil Horman
2017-09-08 8:50 ` Bruce Richardson
2017-09-08 11:57 ` Neil Horman
2017-09-08 13:55 ` Bruce Richardson
2017-09-08 14:00 ` Bruce Richardson
2017-09-08 16:03 ` [dpdk-dev] [PATCH " Van Haaren, Harry
2017-09-08 16:13 ` Richardson, Bruce
2017-09-12 9:56 ` Bruce Richardson
2017-09-01 10:04 ` [dpdk-dev] [PATCH 02/17] eal: add eal library to meson build Bruce Richardson
2017-09-04 13:53 ` Van Haaren, Harry
2017-09-07 16:25 ` [dpdk-dev] [dpdk-dev, " Neil Horman
2017-09-08 8:51 ` Bruce Richardson [this message]
2017-09-01 10:04 ` [dpdk-dev] [PATCH 03/17] igb_uio: add igb_uio kmod " Bruce Richardson
2017-09-01 13:32 ` Luca Boccassi
2017-09-01 13:55 ` Bruce Richardson
2017-09-01 14:27 ` Luca Boccassi
2017-09-04 13:57 ` Van Haaren, Harry
2017-09-01 10:04 ` [dpdk-dev] [PATCH 04/17] build: add DPDK libraries to build Bruce Richardson
2017-09-04 14:08 ` Van Haaren, Harry
2017-09-04 14:55 ` Bruce Richardson
2017-09-01 10:04 ` [dpdk-dev] [PATCH 05/17] build: add buildtools to meson build Bruce Richardson
2017-09-04 14:24 ` Van Haaren, Harry
2017-09-01 10:04 ` [dpdk-dev] [PATCH 06/17] build: add infrastructure for building PMDs Bruce Richardson
2017-09-04 14:27 ` Van Haaren, Harry
2017-09-01 10:04 ` [dpdk-dev] [PATCH 07/17] drivers/mempool: add SW mempool drivers to meson build Bruce Richardson
2017-09-04 14:28 ` Van Haaren, Harry
2017-09-04 14:29 ` Van Haaren, Harry
2017-09-01 10:04 ` [dpdk-dev] [PATCH 08/17] drivers/crypto: add crypto drv class and null PMD to meson Bruce Richardson
2017-09-04 14:30 ` Van Haaren, Harry
2017-09-01 10:04 ` [dpdk-dev] [PATCH 09/17] crypto/openssl: add driver to meson build Bruce Richardson
2017-09-04 14:30 ` Van Haaren, Harry
2017-09-04 14:31 ` Van Haaren, Harry
2017-09-01 10:04 ` [dpdk-dev] [PATCH 10/17] crypto/qat: " Bruce Richardson
2017-09-04 14:32 ` Van Haaren, Harry
2017-09-01 10:04 ` [dpdk-dev] [PATCH 11/17] drivers/net: add net driver support " Bruce Richardson
2017-09-04 14:32 ` Van Haaren, Harry
2017-09-01 10:04 ` [dpdk-dev] [PATCH 12/17] drivers/net: add set of vdev PMDs to build Bruce Richardson
2017-09-04 14:34 ` Van Haaren, Harry
2017-09-01 10:04 ` [dpdk-dev] [PATCH 13/17] drivers/net: add drivers for Intel NICs to meson build Bruce Richardson
2017-09-01 10:04 ` [dpdk-dev] [PATCH 14/17] app/test-pmd: add test-pmd " Bruce Richardson
2017-09-04 15:01 ` Van Haaren, Harry
2017-09-01 10:04 ` [dpdk-dev] [PATCH 15/17] usertools: add usertools installation " Bruce Richardson
2017-09-04 15:00 ` Van Haaren, Harry
2017-09-01 10:04 ` [dpdk-dev] [PATCH 16/17] build: add option to version libs using DPDK version Bruce Richardson
2017-09-07 17:07 ` [dpdk-dev] [dpdk-dev, " Neil Horman
2017-09-08 8:58 ` Bruce Richardson
2017-09-01 10:04 ` [dpdk-dev] [PATCH 17/17] doc: add documentation on how to add new components to DPDK Bruce Richardson
2017-09-01 10:38 ` [dpdk-dev] [PATCH 00/17] build DPDK libs and some drivers with meson/ninja Bruce Richardson
2017-09-12 10:37 ` [dpdk-dev] [PATCH v2 " Bruce Richardson
2017-09-12 10:37 ` [dpdk-dev] [PATCH v2 01/17] build: add initial infrastructure for meson & ninja builds Bruce Richardson
2017-09-12 10:37 ` [dpdk-dev] [PATCH v2 02/17] eal: add eal library to meson build Bruce Richardson
2017-09-12 10:37 ` [dpdk-dev] [PATCH v2 03/17] igb_uio: add igb_uio kmod " Bruce Richardson
2017-09-12 10:37 ` [dpdk-dev] [PATCH v2 04/17] build: add DPDK libraries to build Bruce Richardson
2017-09-12 10:37 ` [dpdk-dev] [PATCH v2 05/17] build: add buildtools to meson build Bruce Richardson
2017-09-12 10:37 ` [dpdk-dev] [PATCH v2 06/17] build: add infrastructure for building PMDs Bruce Richardson
2017-09-12 10:37 ` [dpdk-dev] [PATCH v2 07/17] drivers/mempool: add SW mempool drivers to meson build Bruce Richardson
2017-09-12 10:38 ` [dpdk-dev] [PATCH v2 08/17] drivers/crypto: add crypto drv class and null PMD to meson Bruce Richardson
2017-09-12 10:38 ` [dpdk-dev] [PATCH v2 09/17] crypto/openssl: add driver to meson build Bruce Richardson
2017-09-12 10:38 ` [dpdk-dev] [PATCH v2 10/17] crypto/qat: " Bruce Richardson
2017-09-12 10:38 ` [dpdk-dev] [PATCH v2 11/17] drivers/net: add net driver support " Bruce Richardson
2017-09-12 10:38 ` [dpdk-dev] [PATCH v2 12/17] drivers/net: add set of vdev PMDs to build Bruce Richardson
2017-09-12 10:38 ` [dpdk-dev] [PATCH v2 13/17] drivers/net: add drivers for Intel NICs to meson build Bruce Richardson
2017-09-12 10:38 ` [dpdk-dev] [PATCH v2 14/17] app/test-pmd: add test-pmd " Bruce Richardson
2017-09-12 10:38 ` [dpdk-dev] [PATCH v2 15/17] usertools: add usertools installation " Bruce Richardson
2017-09-12 10:38 ` [dpdk-dev] [PATCH v2 16/17] build: add option to version libs using DPDK version Bruce Richardson
2017-09-13 11:32 ` Luca Boccassi
2017-09-13 13:11 ` Bruce Richardson
2017-09-13 17:02 ` Luca Boccassi
2017-09-12 10:38 ` [dpdk-dev] [PATCH v2 17/17] doc: add documentation on how to add new components to DPDK Bruce Richardson
2017-09-12 13:21 ` [dpdk-dev] [PATCH v2 00/17] build DPDK libs and some drivers with meson/ninja Wiles, Keith
2017-09-12 13:24 ` Bruce Richardson
2017-09-12 13:26 ` Wiles, Keith
2017-09-12 14:00 ` Wiles, Keith
2017-09-12 15:46 ` Bruce Richardson
2017-09-12 19:19 ` Neil Horman
2017-09-12 20:36 ` Wiles, Keith
2017-09-13 14:12 ` [dpdk-dev] [PATCH v3 " Bruce Richardson
2017-09-13 14:12 ` [dpdk-dev] [PATCH v3 01/17] build: add initial infrastructure for meson & ninja builds Bruce Richardson
2017-09-20 10:10 ` Timothy M. Redaelli
2017-09-20 10:24 ` Bruce Richardson
2017-09-20 10:33 ` Timothy M. Redaelli
2017-09-13 14:12 ` [dpdk-dev] [PATCH v3 02/17] eal: add eal library to meson build Bruce Richardson
2017-09-13 14:12 ` [dpdk-dev] [PATCH v3 03/17] igb_uio: add igb_uio kmod " Bruce Richardson
2017-09-13 14:12 ` [dpdk-dev] [PATCH v3 04/17] build: add DPDK libraries to build Bruce Richardson
2017-09-13 14:12 ` [dpdk-dev] [PATCH v3 05/17] build: add buildtools to meson build Bruce Richardson
2017-09-13 14:12 ` [dpdk-dev] [PATCH v3 06/17] build: add infrastructure for building PMDs Bruce Richardson
2017-09-13 14:12 ` [dpdk-dev] [PATCH v3 07/17] drivers/mempool: add SW mempool drivers to meson build Bruce Richardson
2017-09-13 14:12 ` [dpdk-dev] [PATCH v3 08/17] drivers/crypto: add crypto drv class and null PMD to meson Bruce Richardson
2017-09-13 14:12 ` [dpdk-dev] [PATCH v3 09/17] crypto/openssl: add driver to meson build Bruce Richardson
2017-09-13 14:12 ` [dpdk-dev] [PATCH v3 10/17] crypto/qat: " Bruce Richardson
2017-09-13 14:12 ` [dpdk-dev] [PATCH v3 11/17] drivers/net: add net driver support " Bruce Richardson
2017-09-13 14:12 ` [dpdk-dev] [PATCH v3 12/17] drivers/net: add set of vdev PMDs to build Bruce Richardson
2017-09-13 14:12 ` [dpdk-dev] [PATCH v3 13/17] drivers/net: add drivers for Intel NICs to meson build Bruce Richardson
2017-09-13 14:12 ` [dpdk-dev] [PATCH v3 14/17] app/test-pmd: add test-pmd " Bruce Richardson
2017-09-13 14:12 ` [dpdk-dev] [PATCH v3 15/17] usertools: add usertools installation " Bruce Richardson
2017-09-13 14:12 ` [dpdk-dev] [PATCH v3 16/17] build: add option to version libs using DPDK version Bruce Richardson
2017-09-13 14:12 ` [dpdk-dev] [PATCH v3 17/17] doc: add documentation on how to add new components to DPDK Bruce Richardson
2017-09-13 17:01 ` [dpdk-dev] [PATCH v3 00/17] build DPDK libs and some drivers with meson/ninja Luca Boccassi
2017-09-14 13:57 ` 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=20170908085147.GB35580@bricha3-MOBL3.ger.corp.intel.com \
--to=bruce.richardson@intel.com \
--cc=dev@dpdk.org \
--cc=nhorman@tuxdriver.com \
/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).