From: Aaron Conole <aconole@redhat.com>
To: David Marchand <david.marchand@redhat.com>
Cc: dev@dpdk.org, thomas@monjalon.net, bluca@debian.org,
tredaelli@redhat.com, i.maximets@ovn.org,
james.r.harris@intel.com, mohammed@hawari.fr,
"Morten Brørup" <mb@smartsharesystems.com>,
"Michael Santana" <maicolgabriel@hotmail.com>,
"Bruce Richardson" <bruce.richardson@intel.com>,
"Dave Young" <dave@youngcopy.com>
Subject: Re: [PATCH v6 1/2] build: select deprecated libraries
Date: Thu, 29 Jun 2023 08:48:44 -0400 [thread overview]
Message-ID: <f7ty1k2l9hv.fsf@redhat.com> (raw)
In-Reply-To: <20230629090459.823130-2-david.marchand@redhat.com> (David Marchand's message of "Thu, 29 Jun 2023 11:04:58 +0200")
David Marchand <david.marchand@redhat.com> writes:
> Rework deprecated libraries selection by introducing a new configuration
> option.
>
> This breaks existing configurations that were relying on disable_libs=''
> for enabling deprecated libraries.
> On the other hand, it will make enabling optional libraries more
> straightforward by taking the deprecated libraries out of the picture.
>
> Signed-off-by: David Marchand <david.marchand@redhat.com>
> Acked-by: Morten Brørup <mb@smartsharesystems.com>
> ---
Sorry - same comments apply to this as previous w.r.t. doc updates.
> Changes since v4:
> - changed the option to a list of libraries instead of a global on/off
> knob,
> - moved all deprecated libs checks under a single block for readability,
>
> ---
> .ci/linux-build.sh | 2 +-
> devtools/test-meson-builds.sh | 8 ++++----
> lib/meson.build | 28 ++++++++++++++++++++--------
> meson_options.txt | 4 +++-
> 4 files changed, 28 insertions(+), 14 deletions(-)
>
> diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh
> index 45f2729996..e0b62bac90 100755
> --- a/.ci/linux-build.sh
> +++ b/.ci/linux-build.sh
> @@ -97,7 +97,7 @@ if [ "$MINI" = "true" ]; then
> OPTS="$OPTS -Denable_drivers=net/null"
> OPTS="$OPTS -Ddisable_libs=*"
> else
> - OPTS="$OPTS -Ddisable_libs="
> + OPTS="$OPTS -Denable_deprecated_libs=*"
> fi
> OPTS="$OPTS -Dlibdir=lib"
>
> diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh
> index 84b907d2ea..c41659d28b 100755
> --- a/devtools/test-meson-builds.sh
> +++ b/devtools/test-meson-builds.sh
> @@ -120,10 +120,10 @@ config () # <dir> <builddir> <meson options>
> return
> fi
> options=
> - # deprecated libs may be disabled by default, so for complete builds ensure
> - # no libs are disabled
> - if ! echo $* | grep -q -- 'disable_libs' ; then
> - options="$options -Ddisable_libs="
> + # deprecated libs are disabled by default, so for complete builds
> + # enable them
> + if ! echo $* | grep -q -- 'enable_deprecated_libs' ; then
> + options="$options -Denable_deprecated_libs=*"
> fi
> if echo $* | grep -qw -- '--default-library=shared' ; then
> options="$options -Dexamples=all"
> diff --git a/lib/meson.build b/lib/meson.build
> index fac2f52cad..73afd90b38 100644
> --- a/lib/meson.build
> +++ b/lib/meson.build
> @@ -93,6 +93,15 @@ dpdk_libs_deprecated += [
> 'kni',
> ]
>
> +enable_deprecated_libs = []
> +foreach l:run_command(list_dir_globs, get_option('enable_deprecated_libs'),
> + check: true).stdout().split()
> + if not dpdk_libs_deprecated.contains(l)
> + continue
> + endif
> + enable_deprecated_libs += l
> +endforeach
> +
> disabled_libs = []
> opt_disabled_libs = run_command(list_dir_globs, get_option('disable_libs'),
> check: true).stdout().split()
> @@ -137,16 +146,19 @@ foreach l:libraries
> deps += ['eal']
> endif
>
> - if disabled_libs.contains(l)
> - build = false
> - reason = 'explicitly disabled via build config'
> - if dpdk_libs_deprecated.contains(l)
> - reason += ' (deprecated lib)'
> - endif
> - else
> - if dpdk_libs_deprecated.contains(l)
> + if dpdk_libs_deprecated.contains(l)
> + if not enable_deprecated_libs.contains(l)
> + build = false
> + reason = 'not in enabled deprecated libraries build config'
> + else
> warning('Enabling deprecated library, "@0@"'.format(l))
> endif
> + elif disabled_libs.contains(l)
> + build = false
> + reason = 'explicitly disabled via build config'
> + endif
> +
> + if build
> subdir(l)
> endif
> if name != l
> diff --git a/meson_options.txt b/meson_options.txt
> index 82c8297065..839d4266c6 100644
> --- a/meson_options.txt
> +++ b/meson_options.txt
> @@ -10,7 +10,7 @@ option('disable_apps', type: 'string', value: '', description:
> 'Comma-separated list of apps to explicitly disable.')
> option('disable_drivers', type: 'string', value: '', description:
> 'Comma-separated list of drivers to explicitly disable.')
> -option('disable_libs', type: 'string', value: 'flow_classify,kni', description:
> +option('disable_libs', type: 'string', value: '', description:
> 'Comma-separated list of libraries to explicitly disable. [NOTE: not all libs can be disabled]')
> option('drivers_install_subdir', type: 'string', value: 'dpdk/pmds-<VERSION>', description:
> 'Subdirectory of libdir where to install PMDs. Defaults to using a versioned subdirectory.')
> @@ -18,6 +18,8 @@ option('enable_docs', type: 'boolean', value: false, description:
> 'build documentation')
> option('enable_apps', type: 'string', value: '', description:
> 'Comma-separated list of apps to build. If unspecified, build all apps.')
> +option('enable_deprecated_libs', type: 'string', value: '', description:
> + 'Comma-separated list of deprecated libraries to explicitly enable.')
> option('enable_drivers', type: 'string', value: '', description:
> 'Comma-separated list of drivers to build. If unspecified, build all drivers.')
> option('enable_driver_sdk', type: 'boolean', value: false, description:
next prev parent reply other threads:[~2023-06-29 12:48 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-29 9:04 [PATCH v6 0/2] Select optional libraries David Marchand
2023-06-29 9:04 ` [PATCH v6 1/2] build: select deprecated libraries David Marchand
2023-06-29 12:48 ` Aaron Conole [this message]
2023-06-29 12:55 ` David Marchand
2023-06-29 9:04 ` [PATCH v6 2/2] build: select optional libraries David Marchand
2023-07-31 14:48 ` [PATCH v7 0/2] Select " David Marchand
2023-07-31 14:48 ` [PATCH v7 1/2] build: select deprecated libraries David Marchand
2023-07-31 19:04 ` Aaron Conole
2023-07-31 14:48 ` [PATCH v7 2/2] build: select optional libraries David Marchand
2023-08-23 7:57 ` [PATCH v7 0/2] Select " David Marchand
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=f7ty1k2l9hv.fsf@redhat.com \
--to=aconole@redhat.com \
--cc=bluca@debian.org \
--cc=bruce.richardson@intel.com \
--cc=dave@youngcopy.com \
--cc=david.marchand@redhat.com \
--cc=dev@dpdk.org \
--cc=i.maximets@ovn.org \
--cc=james.r.harris@intel.com \
--cc=maicolgabriel@hotmail.com \
--cc=mb@smartsharesystems.com \
--cc=mohammed@hawari.fr \
--cc=thomas@monjalon.net \
--cc=tredaelli@redhat.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 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.