[dpdk-dev] net/octeontx: disable PMD for old compilers
Checks
Commit Message
Disable for clang < 4.0 as it doesn't support the following
arm machine directives:
.cpu
This also disables event octeontx as it depends on net octeontx.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
---
drivers/event/Makefile | 4 ++++
drivers/net/Makefile | 3 +++
mk/toolchain/clang/rte.toolchain-compat.mk | 5 +++++
3 files changed, 12 insertions(+)
Comments
On 1/23/2018 4:22 PM, Pavan Nikhilesh wrote:
> Disable for clang < 4.0 as it doesn't support the following
> arm machine directives:
>
> .cpu
>
> This also disables event octeontx as it depends on net octeontx.
>
> Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
<...>
> @@ -20,3 +20,8 @@ CLANG_MINOR_VERSION := $(shell echo $(CLANG_VERSION) | cut -f2 -d.)
> ifeq ($(shell test $(CLANG_MAJOR_VERSION)$(CLANG_MINOR_VERSION) -lt 35 && echo 1), 1)
> CC_SUPPORTS_Z := false
> endif
> +
> +ifeq ($(shell test $(CLANG_MAJOR_VERSION)$(CLANG_MINOR_VERSION) -lt 40 && echo 1), 1)
> + CONFIG_RTE_LIBRTE_OCTEONTX_PMD=d
> + CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF=d
> +endif
I remember we did this before but this is ugly.
Can it be done in a generic way that compiler dependencies defined in the PMD
Makefile and during config PMD may be disable based on dependency and
environment. If there is no dependency PMD will not do anything special, does it
make sense?
On Thu, Jan 25, 2018 at 01:58:32PM +0000, Ferruh Yigit wrote:
> On 1/23/2018 4:22 PM, Pavan Nikhilesh wrote:
> > Disable for clang < 4.0 as it doesn't support the following
> > arm machine directives:
> >
> > .cpu
> >
> > This also disables event octeontx as it depends on net octeontx.
> >
> > Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>
>
> <...>
>
> > @@ -20,3 +20,8 @@ CLANG_MINOR_VERSION := $(shell echo $(CLANG_VERSION) | cut -f2 -d.)
> > ifeq ($(shell test $(CLANG_MAJOR_VERSION)$(CLANG_MINOR_VERSION) -lt 35 && echo 1), 1)
> > CC_SUPPORTS_Z := false
> > endif
> > +
> > +ifeq ($(shell test $(CLANG_MAJOR_VERSION)$(CLANG_MINOR_VERSION) -lt 40 && echo 1), 1)
> > + CONFIG_RTE_LIBRTE_OCTEONTX_PMD=d
> > + CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF=d
> > +endif
>
> I remember we did this before but this is ugly.
>
> Can it be done in a generic way that compiler dependencies defined in the PMD
> Makefile and during config PMD may be disable based on dependency and
> environment. If there is no dependency PMD will not do anything special, does it
> make sense?
Makes sense, Will disable compiler dependent code in PMD makefile.
Thanks,
Pavan.
@@ -4,6 +4,10 @@
include $(RTE_SDK)/mk/rte.vars.mk
+ifeq ($(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF),d)
+ $(warning pmd octeontx ssovf is not supported by old compilers)
+endif
+
DIRS-$(CONFIG_RTE_LIBRTE_PMD_SKELETON_EVENTDEV) += skeleton
DIRS-$(CONFIG_RTE_LIBRTE_PMD_SW_EVENTDEV) += sw
DIRS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += octeontx
@@ -7,6 +7,9 @@ include $(RTE_SDK)/mk/rte.vars.mk
ifeq ($(CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD),d)
$(warning thunderx pmd is not supported by old compilers)
endif
+ifeq ($(CONFIG_RTE_LIBRTE_OCTEONTX_PMD),d)
+ $(warning octeontx pmd is not supported by old compilers)
+endif
DIRS-$(CONFIG_RTE_LIBRTE_PMD_AF_PACKET) += af_packet
DIRS-$(CONFIG_RTE_LIBRTE_ARK_PMD) += ark
@@ -20,3 +20,8 @@ CLANG_MINOR_VERSION := $(shell echo $(CLANG_VERSION) | cut -f2 -d.)
ifeq ($(shell test $(CLANG_MAJOR_VERSION)$(CLANG_MINOR_VERSION) -lt 35 && echo 1), 1)
CC_SUPPORTS_Z := false
endif
+
+ifeq ($(shell test $(CLANG_MAJOR_VERSION)$(CLANG_MINOR_VERSION) -lt 40 && echo 1), 1)
+ CONFIG_RTE_LIBRTE_OCTEONTX_PMD=d
+ CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF=d
+endif