All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Morten Brørup" <mb@smartsharesystems.com>
To: "Bruce Richardson" <bruce.richardson@intel.com>, <dev@dpdk.org>
Subject: RE: [PATCH v3 3/3] build: RFC - add support for optional dependencies
Date: Wed, 20 Dec 2023 16:08:08 +0100	[thread overview]
Message-ID: <98CBD80474FA8B44BF855DF32C47DC35E9F0E8@smartserver.smartshare.dk> (raw)
In-Reply-To: <20231220142152.492556-4-bruce.richardson@intel.com>

> From: Bruce Richardson [mailto:bruce.richardson@intel.com]
> Sent: Wednesday, 20 December 2023 15.22
> 
> In order to remove more libraries from the mandatory list, we need to
> have support for optionally having a dependency from a driver or
> library
> to another driver or lib. This patch adds this support by adding a new
> optional_deps variable, the contents of which are added to the deps
> list
> if those optional dependencies are present in the build.
> 
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> ---
>  drivers/meson.build | 7 +++++++
>  lib/meson.build     | 7 +++++++
>  2 files changed, 14 insertions(+)
> 
> diff --git a/drivers/meson.build b/drivers/meson.build
> index 5ba534049a..af2d8da5a8 100644
> --- a/drivers/meson.build
> +++ b/drivers/meson.build
> @@ -127,6 +127,7 @@ foreach subpath:subdirs
>          includes = [include_directories(drv_path)]
>          # set up internal deps. Drivers can append/override as
> necessary
>          deps = std_deps
> +        optional_deps = []

(I'm a meson noob, so please bear with my stupid questions.)

Is a separate "optional_deps" necessary? If a driver has any of these dependencies, why can it not just add them to the "deps" in the driver's meson.build file?

Ohhh... It's the other way around: The driver only depends on the other (optional) lib if that other lib is enabled! Correct?

Either way, please add an in-line comment describing optional_deps in the meson.build file.

>          # ext_deps: Stores external library dependency got
>          # using dependency() (preferred) or find_library().
>          # For the find_library() case (but not with dependency()) we
> also
> @@ -168,6 +169,12 @@ foreach subpath:subdirs
>              # get dependency objs from strings
>              shared_deps = ext_deps
>              static_deps = ext_deps
> +            foreach d:optional_deps
> +                #if optional dep exists, add it to the deps list
> +                if is_variable('shared_rte_' + d)
> +                    deps += d
> +                endif
> +            endforeach
>              foreach d:deps
>                  if not build
>                      break

The same feedback also applies to the lib/meson.build changes.


  reply	other threads:[~2023-12-20 15:08 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-03 16:28 [PATCH 24.03] build: track mandatory rather than optional libs Bruce Richardson
2023-11-03 16:52 ` [PATCH 24.03 v2] " Bruce Richardson
2023-11-03 17:31   ` Morten Brørup
2023-11-03 18:08     ` Bruce Richardson
2023-11-03 20:19       ` Morten Brørup
2023-11-06 10:28         ` Bruce Richardson
2023-11-06 11:22           ` Morten Brørup
2023-11-06 11:27             ` Bruce Richardson
2023-11-06 11:37               ` Morten Brørup
2023-12-20 14:21 ` [PATCH v3 0/3] Improve optional lib support Bruce Richardson
2023-12-20 14:21   ` [PATCH v3 1/3] build: track mandatory rather than optional libs Bruce Richardson
2023-12-20 14:21   ` [PATCH v3 2/3] build: remove 5 libs from mandatory list Bruce Richardson
2023-12-20 15:18     ` Morten Brørup
2023-12-20 16:05       ` Bruce Richardson
2023-12-20 14:21   ` [PATCH v3 3/3] build: RFC - add support for optional dependencies Bruce Richardson
2023-12-20 15:08     ` Morten Brørup [this message]
2023-12-20 15:43       ` Bruce Richardson
2024-10-04 20:59         ` Stephen Hemminger
2024-02-01  9:23   ` [PATCH v3 0/3] Improve optional lib support David Marchand
2024-02-01  9:25     ` 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=98CBD80474FA8B44BF855DF32C47DC35E9F0E8@smartserver.smartshare.dk \
    --to=mb@smartsharesystems.com \
    --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.