* [dpdk-web] [PATCH] add build system update as nice to have
@ 2020-01-17 13:19 Ferruh Yigit
2020-01-17 13:29 ` Richardson, Bruce
0 siblings, 1 reply; 3+ messages in thread
From: Ferruh Yigit @ 2020-01-17 13:19 UTC (permalink / raw)
To: web; +Cc: Thomas Monjalon, David Marchand
Some headers in DPDK needs to be shared between various libraries, these
are treated as public header by build system and put into same folder,
other libraries can consume the header from this folder.
But this cause a side affect that internal headers exposed to the
application.
A simple sample of this is 'rte_cryptodev_pmd.h', it is provided by
'cryptodev' library and used by crypto PMDs, but this headers shouldn't
be used by applications.
A solution can be using two different interim folders, one for public
headers and other for DPDK wide headers. DPDK components can look both
folders but only ones in the public header folder will be installed to
system folders.
Cc: David Marchand <david.marchand@redhat.com>
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
---
content/roadmap/_index.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/content/roadmap/_index.md b/content/roadmap/_index.md
index 6cb2e68..ea920bb 100644
--- a/content/roadmap/_index.md
+++ b/content/roadmap/_index.md
@@ -49,6 +49,7 @@ This list is obviously neither complete nor guaranteed.
- default configuration from files
- generic white/blacklisting
- libedit integration
+- don't expose DPDK wide header to public, like rte_cryptodev_pmd.h
### Cycle model {#cycle}
----
--
2.24.1
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [dpdk-web] [PATCH] add build system update as nice to have
2020-01-17 13:19 [dpdk-web] [PATCH] add build system update as nice to have Ferruh Yigit
@ 2020-01-17 13:29 ` Richardson, Bruce
2020-01-18 0:10 ` Honnappa Nagarahalli
0 siblings, 1 reply; 3+ messages in thread
From: Richardson, Bruce @ 2020-01-17 13:29 UTC (permalink / raw)
To: Yigit, Ferruh, web, dev; +Cc: Thomas Monjalon, David Marchand
2 thoughts on this, and adding dev list to discussion.
1) This would only apply to make builds, I think. Any internal headers should not be passed to the "headers = " line in meson which tracks headers for installation only (all headers are found at build time in their original source locations, not by being copied to a central location, so internal-only headers need no action).
2) Not having some of these headers precludes the development of other out-of-tree drivers without the full DPDK source tree. This is probably not a major concern, but is there a use-case where we want to allow people to rebuild their own private drivers just using an installed DPDK instance? Based on that, I see three categories - regular public headers, headers for driver APIs (maybe for a dev package), and purely internal headers.
Regards,
/Bruce
> -----Original Message-----
> From: web <web-bounces@dpdk.org> On Behalf Of Ferruh Yigit
> Sent: Friday, January 17, 2020 1:19 PM
> To: web@dpdk.org
> Cc: Thomas Monjalon <thomas@monjalon.net>; David Marchand
> <david.marchand@redhat.com>
> Subject: [dpdk-web] [PATCH] add build system update as nice to have
>
> Some headers in DPDK needs to be shared between various libraries, these
> are treated as public header by build system and put into same folder,
> other libraries can consume the header from this folder.
> But this cause a side affect that internal headers exposed to the
> application.
>
> A simple sample of this is 'rte_cryptodev_pmd.h', it is provided by
> 'cryptodev' library and used by crypto PMDs, but this headers shouldn't be
> used by applications.
>
> A solution can be using two different interim folders, one for public
> headers and other for DPDK wide headers. DPDK components can look both
> folders but only ones in the public header folder will be installed to
> system folders.
>
> Cc: David Marchand <david.marchand@redhat.com>
>
> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
> ---
> content/roadmap/_index.md | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/content/roadmap/_index.md b/content/roadmap/_index.md index
> 6cb2e68..ea920bb 100644
> --- a/content/roadmap/_index.md
> +++ b/content/roadmap/_index.md
> @@ -49,6 +49,7 @@ This list is obviously neither complete nor guaranteed.
> - default configuration from files
> - generic white/blacklisting
> - libedit integration
> +- don't expose DPDK wide header to public, like rte_cryptodev_pmd.h
>
> ### Cycle model {#cycle}
> ----
> --
> 2.24.1
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [dpdk-web] [PATCH] add build system update as nice to have
2020-01-17 13:29 ` Richardson, Bruce
@ 2020-01-18 0:10 ` Honnappa Nagarahalli
0 siblings, 0 replies; 3+ messages in thread
From: Honnappa Nagarahalli @ 2020-01-18 0:10 UTC (permalink / raw)
To: Richardson, Bruce, Yigit, Ferruh, web, dev
Cc: thomas, David Marchand, Honnappa Nagarahalli, nd, nd
<snip>
I think this is a good feature to have.
>
> 2 thoughts on this, and adding dev list to discussion.
>
> 1) This would only apply to make builds, I think. Any internal headers should
> not be passed to the "headers = " line in meson which tracks headers for
> installation only (all headers are found at build time in their original source
> locations, not by being copied to a central location, so internal-only headers
> need no action).
> 2) Not having some of these headers precludes the development of other
> out-of-tree drivers without the full DPDK source tree. This is probably not a
> major concern, but is there a use-case where we want to allow people to
> rebuild their own private drivers just using an installed DPDK instance? Based
> on that, I see three categories - regular public headers, headers for driver
> APIs (maybe for a dev package), and purely internal headers.
I cannot think of any advantage of developing out of tree drivers with an installed DPDK instance.
Do we need to do ABI for driver API headers? I hope not.
>
> Regards,
> /Bruce
>
> > -----Original Message-----
> > From: web <web-bounces@dpdk.org> On Behalf Of Ferruh Yigit
> > Sent: Friday, January 17, 2020 1:19 PM
> > To: web@dpdk.org
> > Cc: Thomas Monjalon <thomas@monjalon.net>; David Marchand
> > <david.marchand@redhat.com>
> > Subject: [dpdk-web] [PATCH] add build system update as nice to have
> >
> > Some headers in DPDK needs to be shared between various libraries,
> > these are treated as public header by build system and put into same
> > folder, other libraries can consume the header from this folder.
> > But this cause a side affect that internal headers exposed to the
> > application.
> >
> > A simple sample of this is 'rte_cryptodev_pmd.h', it is provided by
> > 'cryptodev' library and used by crypto PMDs, but this headers
> > shouldn't be used by applications.
> >
> > A solution can be using two different interim folders, one for public
> > headers and other for DPDK wide headers. DPDK components can look both
> > folders but only ones in the public header folder will be installed to
> > system folders.
> >
> > Cc: David Marchand <david.marchand@redhat.com>
> >
> > Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
> > ---
> > content/roadmap/_index.md | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/content/roadmap/_index.md b/content/roadmap/_index.md
> > index 6cb2e68..ea920bb 100644
> > --- a/content/roadmap/_index.md
> > +++ b/content/roadmap/_index.md
> > @@ -49,6 +49,7 @@ This list is obviously neither complete nor guaranteed.
> > - default configuration from files
> > - generic white/blacklisting
> > - libedit integration
> > +- don't expose DPDK wide header to public, like rte_cryptodev_pmd.h
> >
> > ### Cycle model {#cycle}
> > ----
> > --
> > 2.24.1
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-01-18 0:10 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-17 13:19 [dpdk-web] [PATCH] add build system update as nice to have Ferruh Yigit
2020-01-17 13:29 ` Richardson, Bruce
2020-01-18 0:10 ` Honnappa Nagarahalli
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).