All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bruce Richardson <bruce.richardson@intel.com>
To: Fady Bader <fady@mellanox.com>
Cc: dev@dpdk.org, thomas@monjalon.net, tbashar@mellanox.com,
	talshn@mellanox.com, yohadt@mellanox.com,
	dmitry.kozliuk@gmail.com, harini.ramakrishnan@microsoft.com,
	ocardona@microsoft.com, pallavi.kadam@intel.com,
	ranjit.menon@intel.com, olivier.matz@6wind.com,
	arybchenko@solarflare.com, mdr@ashroe.eu, nhorman@tuxdriver.com
Subject: Re: [dpdk-dev] [PATCH v5 1/3] eal: disable function versioning on Windows
Date: Mon, 6 Jul 2020 09:19:44 +0100	[thread overview]
Message-ID: <20200706081944.GC636@bricha3-MOBL.ger.corp.intel.com> (raw)
In-Reply-To: <20200705114629.2152-2-fady@mellanox.com>

On Sun, Jul 05, 2020 at 02:46:27PM +0300, Fady Bader wrote:
> Function versioning implementation is not supported by Windows.
> Function versioning was disabled on Windows.
> 
> Signed-off-by: Fady Bader <fady@mellanox.com>
> ---
>  lib/librte_eal/include/rte_function_versioning.h | 2 +-
>  lib/meson.build                                  | 5 +++++
>  2 files changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/lib/librte_eal/include/rte_function_versioning.h b/lib/librte_eal/include/rte_function_versioning.h
> index f588f2643b..9890551ba1 100644
> --- a/lib/librte_eal/include/rte_function_versioning.h
> +++ b/lib/librte_eal/include/rte_function_versioning.h
> @@ -7,7 +7,7 @@
>  #define _RTE_FUNCTION_VERSIONING_H_
>  #include <rte_common.h>
>  
> -#ifndef RTE_USE_FUNCTION_VERSIONING
> +#if !defined RTE_USE_FUNCTION_VERSIONING && !defined RTE_EXEC_ENV_WINDOWS
>  #error Use of function versioning disabled, is "use_function_versioning=true" in meson.build?
>  #endif
>  
> diff --git a/lib/meson.build b/lib/meson.build
> index c1b9e1633f..a1ab582a51 100644
> --- a/lib/meson.build
> +++ b/lib/meson.build
> @@ -107,6 +107,11 @@ foreach l:libraries
>  			shared_dep = declare_dependency(include_directories: includes)
>  			static_dep = shared_dep
>  		else
> +			if is_windows and use_function_versioning
> +				message('@0@: Function versioning is not supported by Windows.'
> +				.format(name))
> +				use_function_versioning = false
> +			endif
>  
>  			if use_function_versioning
>  				cflags += '-DRTE_USE_FUNCTION_VERSIONING'
> -- 

I wonder if this patch can be simplified as follows.

Presumably the use of the RTE_USE_FUNCTION_VERSIONING cflag doesn't cause
any problems building on windows, since it's basically nothing except a
flag to indicate the build is configured properly, so that block can be
left intact. Instead what is needed to be disabled is the
RTE_BUILD_SHARED_LIB setting so that we use the static macros. Therefore,
I think the same result can be got by just changing the following line
in lib/meson.build:

@@ -138,7 +138,7 @@ foreach l:libraries
                                        include_directories: includes,
                                        dependencies: static_deps)

-                       if not use_function_versioning
+                       if not use_function_versioning or is_windows
                                # use pre-build objects to build shared lib
                                sources = []
                                objs += static_lib.extract_all_objects(recursive: false)

Then no error message disabling is needed in windows. I also don't think a
message about function versioning not being supported on windows is
necessary. It's not something the user can do anything about himself
anyway. If we want such a message I think it should just be printed once at
the start of the configuration process, rather than each time we hit a
versioned library.

Regards,
/Bruce

  reply	other threads:[~2020-07-06  8:19 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-02 13:14 [dpdk-dev] [PATCH v4 0/3] build mempool on Windows Fady Bader
2020-07-02 13:14 ` [dpdk-dev] [PATCH v4 1/3] eal: disable function versioning " Fady Bader
2020-07-05 11:46   ` [dpdk-dev] [PATCH v5 0/3] build mempool " Fady Bader
2020-07-05 11:46     ` [dpdk-dev] [PATCH v5 1/3] eal: disable function versioning " Fady Bader
2020-07-06  8:19       ` Bruce Richardson [this message]
2020-07-06 10:39         ` Fady Bader
2020-07-05 11:46     ` [dpdk-dev] [PATCH v5 2/3] mempool: use generic memory management Fady Bader
2020-07-05 11:50       ` Andrew Rybchenko
2020-07-05 12:08       ` Dmitry Kozlyuk
2020-07-05 12:25         ` Fady Bader
2020-07-05 11:46     ` [dpdk-dev] [PATCH v5 3/3] mempool: mempool build on Windows Fady Bader
2020-07-05 12:01       ` David Marchand
2020-07-05 12:24         ` Fady Bader
2020-07-05 13:47     ` [dpdk-dev] [PATCH v6 0/3] build mempool " Fady Bader
2020-07-05 13:47       ` [dpdk-dev] [PATCH v6 1/3] eal: disable function versioning " Fady Bader
2020-07-05 14:36         ` Tal Shnaiderman
2020-07-05 20:23         ` Thomas Monjalon
2020-07-06  7:02           ` Fady Bader
2020-07-05 13:47       ` [dpdk-dev] [PATCH v6 2/3] mempool: use generic memory management Fady Bader
2020-07-05 15:26         ` Dmitry Kozlyuk
2020-07-05 20:08         ` Thomas Monjalon
2020-07-05 13:47       ` [dpdk-dev] [PATCH v6 3/3] mempool: mempool build on Windows Fady Bader
2020-07-05 20:25         ` Thomas Monjalon
2020-07-06 11:32       ` [dpdk-dev] [PATCH v7 0/3] build mempool " Fady Bader
2020-07-06 11:32         ` [dpdk-dev] [PATCH v7 1/3] eal: disable function versioning " Fady Bader
2020-07-06 12:22           ` Bruce Richardson
2020-07-06 23:16             ` Thomas Monjalon
2020-07-06 11:32         ` [dpdk-dev] [PATCH v7 2/3] mempool: use generic memory management Fady Bader
2020-07-06 11:32         ` [dpdk-dev] [PATCH v7 3/3] mempool: mempool build on Windows Fady Bader
2020-07-06 23:29         ` [dpdk-dev] [PATCH v7 0/3] build mempool " Thomas Monjalon
2020-07-02 13:14 ` [dpdk-dev] [PATCH v4 2/3] mempool: use generic memory management Fady Bader
2020-07-03 13:16   ` Olivier Matz
2020-07-02 13:14 ` [dpdk-dev] [PATCH v4 3/3] mempool: mempool build on Windows Fady Bader
2020-07-03 13:17   ` Olivier Matz

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=20200706081944.GC636@bricha3-MOBL.ger.corp.intel.com \
    --to=bruce.richardson@intel.com \
    --cc=arybchenko@solarflare.com \
    --cc=dev@dpdk.org \
    --cc=dmitry.kozliuk@gmail.com \
    --cc=fady@mellanox.com \
    --cc=harini.ramakrishnan@microsoft.com \
    --cc=mdr@ashroe.eu \
    --cc=nhorman@tuxdriver.com \
    --cc=ocardona@microsoft.com \
    --cc=olivier.matz@6wind.com \
    --cc=pallavi.kadam@intel.com \
    --cc=ranjit.menon@intel.com \
    --cc=talshn@mellanox.com \
    --cc=tbashar@mellanox.com \
    --cc=thomas@monjalon.net \
    --cc=yohadt@mellanox.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.