rte_bus_pci: remove unneeded library dependency.
Checks
Commit Message
The makefile in drivers/bus/pci specified rte_ethdev as a dependency for
the library. However there are no actual symbols from librte_ethdev used
in librte_bus_pci.
Including librte_ethdev as a dependency only becomes a problem in some
niche cases like when attempting to build the rte_bus_pci library as a
shared object without building the rte_ethdev library.
I specifically ran into this when trying to build the DPDK included as
an SPDK submodule on a FreeBSD machine. I figure that since there are no
real dependencies between the two, we should enable building
librte_bus_pci without librte_ethdev.
Signed-off-by: Seth Howell <seth.howell@intel.com>
---
drivers/bus/pci/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
On Fri, Oct 11, 2019 at 10:56 PM Seth Howell <seth.howell@intel.com> wrote:
>
> The makefile in drivers/bus/pci specified rte_ethdev as a dependency for
> the library. However there are no actual symbols from librte_ethdev used
> in librte_bus_pci.
>
> Including librte_ethdev as a dependency only becomes a problem in some
> niche cases like when attempting to build the rte_bus_pci library as a
> shared object without building the rte_ethdev library.
>
> I specifically ran into this when trying to build the DPDK included as
> an SPDK submodule on a FreeBSD machine. I figure that since there are no
> real dependencies between the two, we should enable building
> librte_bus_pci without librte_ethdev.
>
> Signed-off-by: Seth Howell <seth.howell@intel.com>
> ---
> drivers/bus/pci/Makefile | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/bus/pci/Makefile b/drivers/bus/pci/Makefile
> index 68c1f3fde..45d12427a 100644
> --- a/drivers/bus/pci/Makefile
> +++ b/drivers/bus/pci/Makefile
> @@ -25,7 +25,7 @@ CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common
> CFLAGS += -DALLOW_EXPERIMENTAL_API
>
> LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
> -LDLIBS += -lrte_ethdev -lrte_pci -lrte_kvargs
> +LDLIBS += -lrte_pci -lrte_kvargs
>
> include $(RTE_SDK)/drivers/bus/pci/$(SYSTEM)/Makefile
> SRCS-$(CONFIG_RTE_LIBRTE_PCI_BUS) := $(addprefix $(SYSTEM)/,$(SRCS))
> --
> 2.17.2
>
At a first glance, this patch seems valid, Gaëtan, could you have a look ?
Could be worth a Fixes:.
Thanks.
--
David Marchand
On Mon, Oct 14, 2019 at 04:32:54PM +0200, David Marchand wrote:
> On Fri, Oct 11, 2019 at 10:56 PM Seth Howell <seth.howell@intel.com> wrote:
> >
> > The makefile in drivers/bus/pci specified rte_ethdev as a dependency for
> > the library. However there are no actual symbols from librte_ethdev used
> > in librte_bus_pci.
> >
> > Including librte_ethdev as a dependency only becomes a problem in some
> > niche cases like when attempting to build the rte_bus_pci library as a
> > shared object without building the rte_ethdev library.
> >
> > I specifically ran into this when trying to build the DPDK included as
> > an SPDK submodule on a FreeBSD machine. I figure that since there are no
> > real dependencies between the two, we should enable building
> > librte_bus_pci without librte_ethdev.
> >
> > Signed-off-by: Seth Howell <seth.howell@intel.com>
> > ---
> > drivers/bus/pci/Makefile | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/bus/pci/Makefile b/drivers/bus/pci/Makefile
> > index 68c1f3fde..45d12427a 100644
> > --- a/drivers/bus/pci/Makefile
> > +++ b/drivers/bus/pci/Makefile
> > @@ -25,7 +25,7 @@ CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common
> > CFLAGS += -DALLOW_EXPERIMENTAL_API
> >
> > LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
> > -LDLIBS += -lrte_ethdev -lrte_pci -lrte_kvargs
> > +LDLIBS += -lrte_pci -lrte_kvargs
> >
> > include $(RTE_SDK)/drivers/bus/pci/$(SYSTEM)/Makefile
> > SRCS-$(CONFIG_RTE_LIBRTE_PCI_BUS) := $(addprefix $(SYSTEM)/,$(SRCS))
> > --
> > 2.17.2
> >
>
> At a first glance, this patch seems valid, Gaëtan, could you have a look ?
> Could be worth a Fixes:.
>
> Thanks.
>
>
> --
> David Marchand
>
Hi,
Yes this is fine.
I've checked, when this Makefile was introduced first in v17.11, this
dependency was not needed either. This means the Fixes: can go back to c752998b5.
Acked-by: Gaetan Rivet <gaetan.rivet@6wind.com>
On Mon, Oct 14, 2019 at 5:16 PM Gaëtan Rivet <gaetan.rivet@6wind.com> wrote:
> On Mon, Oct 14, 2019 at 04:32:54PM +0200, David Marchand wrote:
> > On Fri, Oct 11, 2019 at 10:56 PM Seth Howell <seth.howell@intel.com> wrote:
> > >
> > > The makefile in drivers/bus/pci specified rte_ethdev as a dependency for
> > > the library. However there are no actual symbols from librte_ethdev used
> > > in librte_bus_pci.
> > >
> > > Including librte_ethdev as a dependency only becomes a problem in some
> > > niche cases like when attempting to build the rte_bus_pci library as a
> > > shared object without building the rte_ethdev library.
> > >
> > > I specifically ran into this when trying to build the DPDK included as
> > > an SPDK submodule on a FreeBSD machine. I figure that since there are no
> > > real dependencies between the two, we should enable building
> > > librte_bus_pci without librte_ethdev.
Fixes: c752998b5e2e ("pci: introduce library and driver")
Cc: stable@dpdk.org
> > >
> > > Signed-off-by: Seth Howell <seth.howell@intel.com>
> Yes this is fine.
> I've checked, when this Makefile was introduced first in v17.11, this
> dependency was not needed either. This means the Fixes: can go back to c752998b5.
>
> Acked-by: Gaetan Rivet <gaetan.rivet@6wind.com>
Applied, thanks.
--
David Marchand
@@ -25,7 +25,7 @@ CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common
CFLAGS += -DALLOW_EXPERIMENTAL_API
LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
-LDLIBS += -lrte_ethdev -lrte_pci -lrte_kvargs
+LDLIBS += -lrte_pci -lrte_kvargs
include $(RTE_SDK)/drivers/bus/pci/$(SYSTEM)/Makefile
SRCS-$(CONFIG_RTE_LIBRTE_PCI_BUS) := $(addprefix $(SYSTEM)/,$(SRCS))