DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] mk: make config enhancements
@ 2017-05-23 10:28 David Hunt
  2017-05-23 10:28 ` [dpdk-dev] [PATCH v1 1/2] mk: allow use of environment var for make config David Hunt
  2017-05-23 10:28 ` [dpdk-dev] [PATCH v1 2/2] mk: add sensible default target with defconfig David Hunt
  0 siblings, 2 replies; 36+ messages in thread
From: David Hunt @ 2017-05-23 10:28 UTC (permalink / raw)
  To: dev; +Cc: thomas

This patch series is a couple of small patches to make the 'make config'
of the build a bit easier for users.

Users can now 'make defconfig' which will pick a sensible default based on
some 'uname' queries of the system.

Users can also set RTE_TARGET on  in their environment which will get picked
users type 'make config' without T=template.

There's still some work to be done on non-x86 machines so I'd appreciate
some suggestions of tweaks to make this patch function on those as well.

^ permalink raw reply	[flat|nested] 36+ messages in thread

* [dpdk-dev] [PATCH v1 1/2] mk: allow use of environment var for make config
  2017-05-23 10:28 [dpdk-dev] mk: make config enhancements David Hunt
@ 2017-05-23 10:28 ` David Hunt
  2017-05-23 10:28 ` [dpdk-dev] [PATCH v1 2/2] mk: add sensible default target with defconfig David Hunt
  1 sibling, 0 replies; 36+ messages in thread
From: David Hunt @ 2017-05-23 10:28 UTC (permalink / raw)
  To: dev; +Cc: thomas, David Hunt

Users can now set RTE_TARGET in their environment and use
'make config' without T=template.

If RTE_TARGET is set in the user's environment, and if T=
is not used, 'make config' will use $RTE_TARGET.

Signed-off-by: David Hunt <david.hunt@intel.com>
---
 mk/rte.sdkroot.mk | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/mk/rte.sdkroot.mk b/mk/rte.sdkroot.mk
index 2843b7d..9bdaf20 100644
--- a/mk/rte.sdkroot.mk
+++ b/mk/rte.sdkroot.mk
@@ -63,6 +63,8 @@ ifdef T
 ifeq ("$(origin T)", "command line")
 RTE_CONFIG_TEMPLATE := $(RTE_SRCDIR)/config/defconfig_$(T)
 endif
+else ifdef RTE_TARGET
+RTE_CONFIG_TEMPLATE := $(RTE_SRCDIR)/config/defconfig_$(RTE_TARGET)
 endif
 export RTE_CONFIG_TEMPLATE
 
-- 
2.7.4

^ permalink raw reply	[flat|nested] 36+ messages in thread

* [dpdk-dev] [PATCH v1 2/2] mk: add sensible default target with defconfig
  2017-05-23 10:28 [dpdk-dev] mk: make config enhancements David Hunt
  2017-05-23 10:28 ` [dpdk-dev] [PATCH v1 1/2] mk: allow use of environment var for make config David Hunt
@ 2017-05-23 10:28 ` David Hunt
  2017-05-24  6:10   ` Shreyansh Jain
  2017-05-26  8:52   ` [dpdk-dev] [PATCH v2 0/2] mk: make config enhancements David Hunt
  1 sibling, 2 replies; 36+ messages in thread
From: David Hunt @ 2017-05-23 10:28 UTC (permalink / raw)
  To: dev; +Cc: thomas, David Hunt

Users can now use 'make defconfig' to generate a configuration using
the most appropriate defaults for the current machine.

<arch-machine-execenv-toolchain>
  arch taken from uname -m
  machine defaults to native
  execenv is taken from uname, Linux=linuxapp, otherwise bsdapp
  toolchain is taken from $CC -v to see which compiler to use

Signed-off-by: David Hunt <david.hunt@intel.com>
---
 mk/rte.sdkconfig.mk | 15 ++++++++++++---
 mk/rte.sdkroot.mk   |  4 ++--
 2 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/mk/rte.sdkconfig.mk b/mk/rte.sdkconfig.mk
index 1f2d6bd..4f30d56 100644
--- a/mk/rte.sdkconfig.mk
+++ b/mk/rte.sdkconfig.mk
@@ -60,16 +60,25 @@ showconfigs:
 
 .PHONY: notemplate
 notemplate:
-	@printf "No template specified. "
-	@echo "Use T=template among the following list:"
+	@printf "No template specified. Use 'make defconfig' or "
+	@echo "use T=template from the following list:"
 	@$(MAKE) -rR showconfigs | sed 's,^,  ,'
 
+
+.PHONY: defconfig
+defconfig:
+	@$(MAKE) config T=$(shell uname -m)-native-$(shell uname | \
+		awk '{ if ($$0 == "Linux") {print "linuxapp"} else \
+		{print "bsdapp"} }')-$(shell ${CC} -v 2>&1 \
+		| grep " version " | cut -d ' ' -f 1)
+
 .PHONY: config
 ifeq ($(RTE_CONFIG_TEMPLATE),)
 config: notemplate
 else
 config: $(RTE_OUTPUT)/include/rte_config.h $(RTE_OUTPUT)/Makefile
-	@echo "Configuration done"
+	@echo "Configuration done using "$(shell basename \
+		$(RTE_CONFIG_TEMPLATE) | sed "s/defconfig_//g")
 endif
 
 $(RTE_OUTPUT):
diff --git a/mk/rte.sdkroot.mk b/mk/rte.sdkroot.mk
index 9bdaf20..8019603 100644
--- a/mk/rte.sdkroot.mk
+++ b/mk/rte.sdkroot.mk
@@ -90,8 +90,8 @@ export ROOTDIRS-y ROOTDIRS- ROOTDIRS-n
 .PHONY: default
 default: all
 
-.PHONY: config showconfigs showversion showversionum
-config showconfigs showversion showversionum:
+.PHONY: defconfig config showconfigs showversion showversionum
+defconfig config showconfigs showversion showversionum:
 	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkconfig.mk $@
 
 .PHONY: cscope gtags tags etags
-- 
2.7.4

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [dpdk-dev] [PATCH v1 2/2] mk: add sensible default target with defconfig
  2017-05-23 10:28 ` [dpdk-dev] [PATCH v1 2/2] mk: add sensible default target with defconfig David Hunt
@ 2017-05-24  6:10   ` Shreyansh Jain
  2017-05-25 13:04     ` Hunt, David
  2017-05-26  8:52   ` [dpdk-dev] [PATCH v2 0/2] mk: make config enhancements David Hunt
  1 sibling, 1 reply; 36+ messages in thread
From: Shreyansh Jain @ 2017-05-24  6:10 UTC (permalink / raw)
  To: David Hunt; +Cc: dev, thomas

Hello David,

On Tuesday 23 May 2017 03:58 PM, David Hunt wrote:
> Users can now use 'make defconfig' to generate a configuration using
> the most appropriate defaults for the current machine.
>
> <arch-machine-execenv-toolchain>
>   arch taken from uname -m
>   machine defaults to native
>   execenv is taken from uname, Linux=linuxapp, otherwise bsdapp
>   toolchain is taken from $CC -v to see which compiler to use
>
> Signed-off-by: David Hunt <david.hunt@intel.com>
> ---
>  mk/rte.sdkconfig.mk | 15 ++++++++++++---
>  mk/rte.sdkroot.mk   |  4 ++--
>  2 files changed, 14 insertions(+), 5 deletions(-)
>
> diff --git a/mk/rte.sdkconfig.mk b/mk/rte.sdkconfig.mk
> index 1f2d6bd..4f30d56 100644
> --- a/mk/rte.sdkconfig.mk
> +++ b/mk/rte.sdkconfig.mk
> @@ -60,16 +60,25 @@ showconfigs:
>
>  .PHONY: notemplate
>  notemplate:
> -	@printf "No template specified. "
> -	@echo "Use T=template among the following list:"
> +	@printf "No template specified. Use 'make defconfig' or "
> +	@echo "use T=template from the following list:"
>  	@$(MAKE) -rR showconfigs | sed 's,^,  ,'
>
> +
> +.PHONY: defconfig
> +defconfig:
> +	@$(MAKE) config T=$(shell uname -m)-native-$(shell uname | \

The idea to have 'make defconfig' do the works looks great to me.
I am just worried about the above line - it wouldn't allow
configurations like
arm64-dpaa2-linuxapp-gcc or arm64-armv8a-linuxapp-gcc
Basically, having the MACHINE default to 'native' would not be right in 
all cases.

But, I don't have a better idea about how to detect this automatically.
Or, we might use RTE_MACHINE someway.

> +		awk '{ if ($$0 == "Linux") {print "linuxapp"} else \
> +		{print "bsdapp"} }')-$(shell ${CC} -v 2>&1 \
> +		| grep " version " | cut -d ' ' -f 1)
> +
>  .PHONY: config
>  ifeq ($(RTE_CONFIG_TEMPLATE),)
>  config: notemplate
>  else
>  config: $(RTE_OUTPUT)/include/rte_config.h $(RTE_OUTPUT)/Makefile
> -	@echo "Configuration done"
> +	@echo "Configuration done using "$(shell basename \
> +		$(RTE_CONFIG_TEMPLATE) | sed "s/defconfig_//g")
>  endif
>
>  $(RTE_OUTPUT):
> diff --git a/mk/rte.sdkroot.mk b/mk/rte.sdkroot.mk
> index 9bdaf20..8019603 100644
> --- a/mk/rte.sdkroot.mk
> +++ b/mk/rte.sdkroot.mk
> @@ -90,8 +90,8 @@ export ROOTDIRS-y ROOTDIRS- ROOTDIRS-n
>  .PHONY: default
>  default: all
>
> -.PHONY: config showconfigs showversion showversionum
> -config showconfigs showversion showversionum:
> +.PHONY: defconfig config showconfigs showversion showversionum
> +defconfig config showconfigs showversion showversionum:
>  	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkconfig.mk $@
>
>  .PHONY: cscope gtags tags etags
>

Other than that, I tried this patch for x86 and it worked fine.

-
Shreyansh

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [dpdk-dev] [PATCH v1 2/2] mk: add sensible default target with defconfig
  2017-05-24  6:10   ` Shreyansh Jain
@ 2017-05-25 13:04     ` Hunt, David
  2017-05-25 13:19       ` Shreyansh Jain
  0 siblings, 1 reply; 36+ messages in thread
From: Hunt, David @ 2017-05-25 13:04 UTC (permalink / raw)
  To: Shreyansh Jain; +Cc: dev, thomas

Hi Shreyansh,

Thanks for your comments. More thoughts below.

On 24/5/2017 7:10 AM, Shreyansh Jain wrote:
> Hello David,
>
> On Tuesday 23 May 2017 03:58 PM, David Hunt wrote:
>> Users can now use 'make defconfig' to generate a configuration using
>> the most appropriate defaults for the current machine.
>>
>> <arch-machine-execenv-toolchain>
>>   arch taken from uname -m
>>   machine defaults to native
>>   execenv is taken from uname, Linux=linuxapp, otherwise bsdapp
>>   toolchain is taken from $CC -v to see which compiler to use
>>
>> Signed-off-by: David Hunt <david.hunt@intel.com>
>> ---
>>  mk/rte.sdkconfig.mk | 15 ++++++++++++---
>>  mk/rte.sdkroot.mk   |  4 ++--
>>  2 files changed, 14 insertions(+), 5 deletions(-)
>>
>> diff --git a/mk/rte.sdkconfig.mk b/mk/rte.sdkconfig.mk
>> index 1f2d6bd..4f30d56 100644
>> --- a/mk/rte.sdkconfig.mk
>> +++ b/mk/rte.sdkconfig.mk
>> @@ -60,16 +60,25 @@ showconfigs:
>>
>>  .PHONY: notemplate
>>  notemplate:
>> -    @printf "No template specified. "
>> -    @echo "Use T=template among the following list:"
>> +    @printf "No template specified. Use 'make defconfig' or "
>> +    @echo "use T=template from the following list:"
>>      @$(MAKE) -rR showconfigs | sed 's,^,  ,'
>>
>> +
>> +.PHONY: defconfig
>> +defconfig:
>> +    @$(MAKE) config T=$(shell uname -m)-native-$(shell uname | \
>
> The idea to have 'make defconfig' do the works looks great to me.
> I am just worried about the above line - it wouldn't allow
> configurations like
> arm64-dpaa2-linuxapp-gcc or arm64-armv8a-linuxapp-gcc
> Basically, having the MACHINE default to 'native' would not be right 
> in all cases.
>
> But, I don't have a better idea about how to detect this automatically.
> Or, we might use RTE_MACHINE someway.
>

Might I suggest that we default to armv8a for the defconfig in this 
case? Would that be good enough? If you need something more specific, 
then use the normal make config T=
Also, if you're using an unknown variant, you can always set your 
RTE_TARGET, as per the other changes in the patch.

A possible proposal for a v2 patch could be:

uname -m  Output Target
--------  ------------------
aarch64   arm64-armv8a-...
armv7l    arm-armv7a-...
ppc64     ppc_64-power8-... (from wikipedia uname page, could ppc user 
confirm this for me?)
x86_64    x86_64-native-...
i686      i686-native-...

Something along the lines of:

.PHONY: defconfig
defconfig:
         @$(MAKE) config T=$(shell \
                 uname -m | awk '{ \
                 if ($$0 == "aarch64") { \
                         print "arm64-armv8a"} \
                 else if ($$0 == "armv7l") { \
                         print "arm-armv7a"} \
                 else if ($$0 == "ppc64") { \
                         print "ppc_64-power8"} \
                 else { \
                         printf "%s-native", $$0} }')-$(shell \
                 uname | awk '{ \
                 if ($$0 == "Linux") { \
                         print "linuxapp"} \
                 else { \
                         print "bsdapp"} }')-$(shell \
                 ${CC} -v 2>&1 | \
                 grep " version " | cut -d ' ' -f 1)

That might make a reasonable start in the absence of a reliable method 
of detecting Xgene/ThunderX/DPAA2 variants.

Regards,
Dave.

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [dpdk-dev] [PATCH v1 2/2] mk: add sensible default target with defconfig
  2017-05-25 13:04     ` Hunt, David
@ 2017-05-25 13:19       ` Shreyansh Jain
  0 siblings, 0 replies; 36+ messages in thread
From: Shreyansh Jain @ 2017-05-25 13:19 UTC (permalink / raw)
  To: Hunt, David; +Cc: dev, thomas

Hi David,

> -----Original Message-----
> From: Hunt, David [mailto:david.hunt@intel.com]
> Sent: Thursday, May 25, 2017 6:34 PM
> To: Shreyansh Jain <shreyansh.jain@nxp.com>
> Cc: dev@dpdk.org; thomas@monjalon.net
> Subject: Re: [PATCH v1 2/2] mk: add sensible default target with defconfig
> 
> Hi Shreyansh,
> 
> Thanks for your comments. More thoughts below.
> 
> On 24/5/2017 7:10 AM, Shreyansh Jain wrote:
> > Hello David,
> >
> > On Tuesday 23 May 2017 03:58 PM, David Hunt wrote:
> >> Users can now use 'make defconfig' to generate a configuration using
> >> the most appropriate defaults for the current machine.
> >>
> >> <arch-machine-execenv-toolchain>
> >>   arch taken from uname -m
> >>   machine defaults to native
> >>   execenv is taken from uname, Linux=linuxapp, otherwise bsdapp
> >>   toolchain is taken from $CC -v to see which compiler to use
> >>
> >> Signed-off-by: David Hunt <david.hunt@intel.com>
> >> ---
> >>  mk/rte.sdkconfig.mk | 15 ++++++++++++---
> >>  mk/rte.sdkroot.mk   |  4 ++--
> >>  2 files changed, 14 insertions(+), 5 deletions(-)
> >>
> >> diff --git a/mk/rte.sdkconfig.mk b/mk/rte.sdkconfig.mk
> >> index 1f2d6bd..4f30d56 100644
> >> --- a/mk/rte.sdkconfig.mk
> >> +++ b/mk/rte.sdkconfig.mk
> >> @@ -60,16 +60,25 @@ showconfigs:
> >>
> >>  .PHONY: notemplate
> >>  notemplate:
> >> -    @printf "No template specified. "
> >> -    @echo "Use T=template among the following list:"
> >> +    @printf "No template specified. Use 'make defconfig' or "
> >> +    @echo "use T=template from the following list:"
> >>      @$(MAKE) -rR showconfigs | sed 's,^,  ,'
> >>
> >> +
> >> +.PHONY: defconfig
> >> +defconfig:
> >> +    @$(MAKE) config T=$(shell uname -m)-native-$(shell uname | \
> >
> > The idea to have 'make defconfig' do the works looks great to me.
> > I am just worried about the above line - it wouldn't allow
> > configurations like
> > arm64-dpaa2-linuxapp-gcc or arm64-armv8a-linuxapp-gcc
> > Basically, having the MACHINE default to 'native' would not be right
> > in all cases.
> >
> > But, I don't have a better idea about how to detect this automatically.
> > Or, we might use RTE_MACHINE someway.
> >
> 
> Might I suggest that we default to armv8a for the defconfig in this
> case? Would that be good enough? If you need something more specific,
> then use the normal make config T=
> Also, if you're using an unknown variant, you can always set your
> RTE_TARGET, as per the other changes in the patch.

Yes. It is futile to find a way to accommodate all types of MACHINEs.
This change is targeted for generalizing the config detection, and
generic it should remain.

> 
> A possible proposal for a v2 patch could be:
> 
> uname -m  Output Target
> --------  ------------------
> aarch64   arm64-armv8a-...
> armv7l    arm-armv7a-...
> ppc64     ppc_64-power8-... (from wikipedia uname page, could ppc user
> confirm this for me?)
> x86_64    x86_64-native-...
> i686      i686-native-...
> 
> Something along the lines of:
> 
> .PHONY: defconfig
> defconfig:
>          @$(MAKE) config T=$(shell \
>                  uname -m | awk '{ \
>                  if ($$0 == "aarch64") { \
>                          print "arm64-armv8a"} \
>                  else if ($$0 == "armv7l") { \
>                          print "arm-armv7a"} \
>                  else if ($$0 == "ppc64") { \
>                          print "ppc_64-power8"} \
>                  else { \
>                          printf "%s-native", $$0} }')-$(shell \
>                  uname | awk '{ \
>                  if ($$0 == "Linux") { \
>                          print "linuxapp"} \
>                  else { \
>                          print "bsdapp"} }')-$(shell \
>                  ${CC} -v 2>&1 | \
>                  grep " version " | cut -d ' ' -f 1)
> 
> That might make a reasonable start in the absence of a reliable method
> of detecting Xgene/ThunderX/DPAA2 variants.
 
Sounds reasonable to me. We can probably improve the above check in
future as and more definitive way of detecting machine are identified.
I can ack the series if you can push the above change.

> 
> Regards,
> Dave.
> 
> 
> 

-
Shreyansh

^ permalink raw reply	[flat|nested] 36+ messages in thread

* [dpdk-dev] [PATCH v2 0/2] mk: make config enhancements
  2017-05-23 10:28 ` [dpdk-dev] [PATCH v1 2/2] mk: add sensible default target with defconfig David Hunt
  2017-05-24  6:10   ` Shreyansh Jain
@ 2017-05-26  8:52   ` David Hunt
  2017-05-26  8:52     ` [dpdk-dev] [PATCH v2 1/2] mk: allow use of environment var for make config David Hunt
                       ` (2 more replies)
  1 sibling, 3 replies; 36+ messages in thread
From: David Hunt @ 2017-05-26  8:52 UTC (permalink / raw)
  To: dev; +Cc: thomas

This patch series is a couple of small patches to make the 'make config'
of the build a bit easier for users.

Users can now 'make defconfig' which will pick a sensible default based on
some 'uname' queries of the system.

Users can also set RTE_TARGET on  in their environment which will get picked
users type 'make config' without T=template.

v2 changes:
  Added better handling for non-IA platforms. The list is now as follows:
  uname -m  Output Target
  --------  ------------------
  aarch64   arm64-armv8a-...
  armv7l    arm-armv7a-...
  ppc64     ppc_64-power8-...
  x86_64    x86_64-native-...
  i686      i686-native-...

[1/2] mk: allow use of environment var for make config
[2/2] mk: add sensible default target with defconfig

^ permalink raw reply	[flat|nested] 36+ messages in thread

* [dpdk-dev] [PATCH v2 1/2] mk: allow use of environment var for make config
  2017-05-26  8:52   ` [dpdk-dev] [PATCH v2 0/2] mk: make config enhancements David Hunt
@ 2017-05-26  8:52     ` David Hunt
  2017-06-07  8:39       ` Hunt, David
  2017-06-07 14:37       ` [dpdk-dev] [PATCH v3 0/3] mk: make config enhancements David Hunt
  2017-05-26  8:52     ` [dpdk-dev] [PATCH v2 2/2] mk: add sensible default target with defconfig David Hunt
  2017-05-29  7:31     ` [dpdk-dev] [PATCH v2 0/2] mk: make config enhancements Shreyansh Jain
  2 siblings, 2 replies; 36+ messages in thread
From: David Hunt @ 2017-05-26  8:52 UTC (permalink / raw)
  To: dev; +Cc: thomas, David Hunt

Users can now set RTE_TARGET in their environment and use
'make config' without T=template.

If RTE_TARGET is set in the user's environment, and if T=
is not used, 'make config' will use $RTE_TARGET.

Signed-off-by: David Hunt <david.hunt@intel.com>
---
 mk/rte.sdkroot.mk | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/mk/rte.sdkroot.mk b/mk/rte.sdkroot.mk
index 2843b7d..9bdaf20 100644
--- a/mk/rte.sdkroot.mk
+++ b/mk/rte.sdkroot.mk
@@ -63,6 +63,8 @@ ifdef T
 ifeq ("$(origin T)", "command line")
 RTE_CONFIG_TEMPLATE := $(RTE_SRCDIR)/config/defconfig_$(T)
 endif
+else ifdef RTE_TARGET
+RTE_CONFIG_TEMPLATE := $(RTE_SRCDIR)/config/defconfig_$(RTE_TARGET)
 endif
 export RTE_CONFIG_TEMPLATE
 
-- 
2.7.4

^ permalink raw reply	[flat|nested] 36+ messages in thread

* [dpdk-dev] [PATCH v2 2/2] mk: add sensible default target with defconfig
  2017-05-26  8:52   ` [dpdk-dev] [PATCH v2 0/2] mk: make config enhancements David Hunt
  2017-05-26  8:52     ` [dpdk-dev] [PATCH v2 1/2] mk: allow use of environment var for make config David Hunt
@ 2017-05-26  8:52     ` David Hunt
  2017-05-29  7:31     ` [dpdk-dev] [PATCH v2 0/2] mk: make config enhancements Shreyansh Jain
  2 siblings, 0 replies; 36+ messages in thread
From: David Hunt @ 2017-05-26  8:52 UTC (permalink / raw)
  To: dev; +Cc: thomas, David Hunt

Users can now use 'make defconfig' to generate a configuration using
the most appropriate defaults for the current machine.

<arch-machine-execenv-toolchain>
  arch taken from uname -m
  machine defaults to native
  execenv is taken from uname, Linux=linuxapp, otherwise bsdapp
  toolchain is taken from $CC -v to see which compiler to use

Signed-off-by: David Hunt <david.hunt@intel.com>
---
 mk/rte.sdkconfig.mk | 28 +++++++++++++++++++++++++---
 mk/rte.sdkroot.mk   |  4 ++--
 2 files changed, 27 insertions(+), 5 deletions(-)

diff --git a/mk/rte.sdkconfig.mk b/mk/rte.sdkconfig.mk
index 1f2d6bd..fc03fe3 100644
--- a/mk/rte.sdkconfig.mk
+++ b/mk/rte.sdkconfig.mk
@@ -60,16 +60,38 @@ showconfigs:
 
 .PHONY: notemplate
 notemplate:
-	@printf "No template specified. "
-	@echo "Use T=template among the following list:"
+	@printf "No template specified. Use 'make defconfig' or "
+	@echo "use T=template from the following list:"
 	@$(MAKE) -rR showconfigs | sed 's,^,  ,'
 
+
+.PHONY: defconfig
+defconfig:
+	@$(MAKE) config T=$(shell \
+                uname -m | awk '{ \
+                if ($$0 == "aarch64") { \
+                        print "arm64-armv8a"} \
+                else if ($$0 == "armv7l") { \
+                        print "arm-armv7a"} \
+                else if ($$0 == "ppc64") { \
+                        print "ppc_64-power8"} \
+                else { \
+                        printf "%s-native", $$0} }')-$(shell \
+                uname | awk '{ \
+                if ($$0 == "Linux") { \
+                        print "linuxapp"} \
+                else { \
+                        print "bsdapp"} }')-$(shell \
+                ${CC} -v 2>&1 | \
+                grep " version " | cut -d ' ' -f 1)
+
 .PHONY: config
 ifeq ($(RTE_CONFIG_TEMPLATE),)
 config: notemplate
 else
 config: $(RTE_OUTPUT)/include/rte_config.h $(RTE_OUTPUT)/Makefile
-	@echo "Configuration done"
+	@echo "Configuration done using "$(shell basename \
+		$(RTE_CONFIG_TEMPLATE) | sed "s/defconfig_//g")
 endif
 
 $(RTE_OUTPUT):
diff --git a/mk/rte.sdkroot.mk b/mk/rte.sdkroot.mk
index 9bdaf20..8019603 100644
--- a/mk/rte.sdkroot.mk
+++ b/mk/rte.sdkroot.mk
@@ -90,8 +90,8 @@ export ROOTDIRS-y ROOTDIRS- ROOTDIRS-n
 .PHONY: default
 default: all
 
-.PHONY: config showconfigs showversion showversionum
-config showconfigs showversion showversionum:
+.PHONY: defconfig config showconfigs showversion showversionum
+defconfig config showconfigs showversion showversionum:
 	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkconfig.mk $@
 
 .PHONY: cscope gtags tags etags
-- 
2.7.4

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [dpdk-dev] [PATCH v2 0/2] mk: make config enhancements
  2017-05-26  8:52   ` [dpdk-dev] [PATCH v2 0/2] mk: make config enhancements David Hunt
  2017-05-26  8:52     ` [dpdk-dev] [PATCH v2 1/2] mk: allow use of environment var for make config David Hunt
  2017-05-26  8:52     ` [dpdk-dev] [PATCH v2 2/2] mk: add sensible default target with defconfig David Hunt
@ 2017-05-29  7:31     ` Shreyansh Jain
  2 siblings, 0 replies; 36+ messages in thread
From: Shreyansh Jain @ 2017-05-29  7:31 UTC (permalink / raw)
  To: David Hunt, dev; +Cc: thomas

On Friday 26 May 2017 02:22 PM, David Hunt wrote:
> This patch series is a couple of small patches to make the 'make config'
> of the build a bit easier for users.
> 
> Users can now 'make defconfig' which will pick a sensible default based on
> some 'uname' queries of the system.
> 
> Users can also set RTE_TARGET on  in their environment which will get picked
> users type 'make config' without T=template.
> 
> v2 changes:
>    Added better handling for non-IA platforms. The list is now as follows:
>    uname -m  Output Target
>    --------  ------------------
>    aarch64   arm64-armv8a-...
>    armv7l    arm-armv7a-...
>    ppc64     ppc_64-power8-...
>    x86_64    x86_64-native-...
>    i686      i686-native-...
> 
> [1/2] mk: allow use of environment var for make config
> [2/2] mk: add sensible default target with defconfig
> 

Series-Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [dpdk-dev] [PATCH v2 1/2] mk: allow use of environment var for make config
  2017-05-26  8:52     ` [dpdk-dev] [PATCH v2 1/2] mk: allow use of environment var for make config David Hunt
@ 2017-06-07  8:39       ` Hunt, David
  2017-06-07  9:36         ` Shreyansh Jain
  2017-06-07 14:37       ` [dpdk-dev] [PATCH v3 0/3] mk: make config enhancements David Hunt
  1 sibling, 1 reply; 36+ messages in thread
From: Hunt, David @ 2017-06-07  8:39 UTC (permalink / raw)
  To: Shreyansh Jain; +Cc: dev, thomas

Shreyansh,

     I found an issue (or two) with this part of the patch, and have a 
proposed solution.

1. RTE_TARGET originally had a different meaning. It was used for making 
examples, specifying the target directory of where the SDK was built. 
It's not good to re-purpose this for something else, as I'm doing in 
this patch. (even though I'm not sure that variable is suitably named in 
the first place, but that's a different issue).
2. If we set RTE_TARGET on the environment, we will break the 'make -C 
examples/<app>', unless we set RTE_TARGET to be something else (i.e. 
'make -C examples/<app> RTE_TARGET=build'). One value for making DPDK, 
and another for building examples. It's confusing to the user.

An alternative patch would be as follows:

  RTE_CONFIG_TEMPLATE :=
  ifdef T
*-ifeq ("$(origin T)", "command line")*
  RTE_CONFIG_TEMPLATE := $(RTE_SRCDIR)/config/defconfig_$(T)
*-endif**
*endif
  export RTE_CONFIG_TEMPLATE

So instead of setting 'RTE_TARGET' on in the environment, we set 'T' 
instead. This allows 'T' to come from the command line OR an environment 
variable. It resolves the 'make examples' issue, and everything else 
works as it did before, 'make install', etc. It seems to me to be a 
cleaner solution for this. What do you think? If it's OK with you, I'll 
submit a v3 (the 'make defconfig' part of the patchset will remain the 
same as v2).

Rgds,
Dave.



On 26/5/2017 9:52 AM, David Hunt wrote:
> Users can now set RTE_TARGET in their environment and use
> 'make config' without T=template.
>
> If RTE_TARGET is set in the user's environment, and if T=
> is not used, 'make config' will use $RTE_TARGET.
>
> Signed-off-by: David Hunt <david.hunt@intel.com>
> ---
>   mk/rte.sdkroot.mk | 2 ++
>   1 file changed, 2 insertions(+)
>
> diff --git a/mk/rte.sdkroot.mk b/mk/rte.sdkroot.mk
> index 2843b7d..9bdaf20 100644
> --- a/mk/rte.sdkroot.mk
> +++ b/mk/rte.sdkroot.mk
> @@ -63,6 +63,8 @@ ifdef T
>   ifeq ("$(origin T)", "command line")
>   RTE_CONFIG_TEMPLATE := $(RTE_SRCDIR)/config/defconfig_$(T)
>   endif
> +else ifdef RTE_TARGET
> +RTE_CONFIG_TEMPLATE := $(RTE_SRCDIR)/config/defconfig_$(RTE_TARGET)
>   endif
>   export RTE_CONFIG_TEMPLATE
>   

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [dpdk-dev] [PATCH v2 1/2] mk: allow use of environment var for make config
  2017-06-07  8:39       ` Hunt, David
@ 2017-06-07  9:36         ` Shreyansh Jain
  2017-06-07 10:28           ` Hunt, David
  0 siblings, 1 reply; 36+ messages in thread
From: Shreyansh Jain @ 2017-06-07  9:36 UTC (permalink / raw)
  To: Hunt, David; +Cc: dev, thomas

Hello David,

On Wednesday 07 June 2017 02:09 PM, Hunt, David wrote:
> Shreyansh,
> 
>      I found an issue (or two) with this part of the patch, and have a 
> proposed solution.
> 
> 1. RTE_TARGET originally had a different meaning. It was used for making 
> examples, specifying the target directory of where the SDK was built. 
> It's not good to re-purpose this for something else, as I'm doing in 
> this patch. (even though I'm not sure that variable is suitably named in 
> the first place, but that's a different issue).

Even I didn't realize this until you highlighted here.

> 2. If we set RTE_TARGET on the environment, we will break the 'make -C 
> examples/<app>', unless we set RTE_TARGET to be something else (i.e. 
> 'make -C examples/<app> RTE_TARGET=build'). One value for making DPDK, 
> and another for building examples. It's confusing to the user.

Agree about re-using RTE_TARGET is breaking existing assumption about
its use.

> 
> An alternative patch would be as follows:
> 
>   RTE_CONFIG_TEMPLATE :=
>   ifdef T
> *-ifeq ("$(origin T)", "command line")*
>   RTE_CONFIG_TEMPLATE := $(RTE_SRCDIR)/config/defconfig_$(T)
> *-endif**
> *endif
>   export RTE_CONFIG_TEMPLATE
So, that would mean, user would do either of the following:

make T=<template> config

or

export T=<template>
make config

Is that correct? (I tried it and it seems to be working fine)
First method is same as today. For the second, I am just skeptical
whether we should use such a small identifier ("T") or we have a new
RTE_TEMPLATE.

Either way, I am OK. [export T=<template>] looks fine to me - in fact,
on a second though, IMO, if T=<template> is provided as command line, it 
should also be acceptable as env variable.

> 
> So instead of setting 'RTE_TARGET' on in the environment, we set 'T' 
> instead. This allows 'T' to come from the command line OR an environment 
> variable. It resolves the 'make examples' issue, and everything else 
> works as it did before, 'make install', etc. It seems to me to be a 
> cleaner solution for this. What do you think? If it's OK with you, I'll 
> submit a v3 (the 'make defconfig' part of the patchset will remain the 
> same as v2).
> 
> Rgds,
> Dave.
> 
> 
> 
> On 26/5/2017 9:52 AM, David Hunt wrote:
>> Users can now set RTE_TARGET in their environment and use
>> 'make config' without T=template.
>>
>> If RTE_TARGET is set in the user's environment, and if T=
>> is not used, 'make config' will use $RTE_TARGET.
>>
>> Signed-off-by: David Hunt <david.hunt@intel.com>
>> ---
>>   mk/rte.sdkroot.mk | 2 ++
>>   1 file changed, 2 insertions(+)
>>
>> diff --git a/mk/rte.sdkroot.mk b/mk/rte.sdkroot.mk
>> index 2843b7d..9bdaf20 100644
>> --- a/mk/rte.sdkroot.mk
>> +++ b/mk/rte.sdkroot.mk
>> @@ -63,6 +63,8 @@ ifdef T
>>   ifeq ("$(origin T)", "command line")
>>   RTE_CONFIG_TEMPLATE := $(RTE_SRCDIR)/config/defconfig_$(T)
>>   endif
>> +else ifdef RTE_TARGET
>> +RTE_CONFIG_TEMPLATE := $(RTE_SRCDIR)/config/defconfig_$(RTE_TARGET)
>>   endif
>>   export RTE_CONFIG_TEMPLATE
> 
> 

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [dpdk-dev] [PATCH v2 1/2] mk: allow use of environment var for make config
  2017-06-07  9:36         ` Shreyansh Jain
@ 2017-06-07 10:28           ` Hunt, David
  2017-06-07 11:46             ` Shreyansh Jain
  0 siblings, 1 reply; 36+ messages in thread
From: Hunt, David @ 2017-06-07 10:28 UTC (permalink / raw)
  To: Shreyansh Jain; +Cc: dev, thomas

Hi Shreyansh,


On 7/6/2017 10:36 AM, Shreyansh Jain wrote:
> Hello David,
>
> On Wednesday 07 June 2017 02:09 PM, Hunt, David wrote:
>> Shreyansh,
>>
>>      I found an issue (or two) with this part of the patch, and have 
>> a proposed solution.
>>
>> 1. RTE_TARGET originally had a different meaning. It was used for 
>> making examples, specifying the target directory of where the SDK was 
>> built. It's not good to re-purpose this for something else, as I'm 
>> doing in this patch. (even though I'm not sure that variable is 
>> suitably named in the first place, but that's a different issue).
>
> Even I didn't realize this until you highlighted here.
>
>> 2. If we set RTE_TARGET on the environment, we will break the 'make 
>> -C examples/<app>', unless we set RTE_TARGET to be something else 
>> (i.e. 'make -C examples/<app> RTE_TARGET=build'). One value for 
>> making DPDK, and another for building examples. It's confusing to the 
>> user.
>
> Agree about re-using RTE_TARGET is breaking existing assumption about
> its use.
>
>>
>> An alternative patch would be as follows:
>>
>>   RTE_CONFIG_TEMPLATE :=
>>   ifdef T
>> *-ifeq ("$(origin T)", "command line")*
>>   RTE_CONFIG_TEMPLATE := $(RTE_SRCDIR)/config/defconfig_$(T)
>> *-endif**
>> *endif
>>   export RTE_CONFIG_TEMPLATE
> So, that would mean, user would do either of the following:
>
> make T=<template> config
>
> or
>
> export T=<template>
> make config
>
> Is that correct? (I tried it and it seems to be working fine)
> First method is same as today. For the second, I am just skeptical
> whether we should use such a small identifier ("T") or we have a new
> RTE_TEMPLATE.
>
> Either way, I am OK. [export T=<template>] looks fine to me - in fact,
> on a second though, IMO, if T=<template> is provided as command line, 
> it should also be acceptable as env variable.
>

I did a quick poll here in the office and people feel that 'T' is too 
short for an environment variable. RTE_TEMPLATE would be preferred, and 
it's a sensible choice that does not conflict with RTE_TARGET.

So if we use RTE_TEMPLATE, we'd also have to put in a couple of lines 
for the "make install" case, but it's still a small enough patch:

diff --git a/mk/rte.sdkinstall.mk b/mk/rte.sdkinstall.mk
index dbac2a2..a464b01 100644
--- a/mk/rte.sdkinstall.mk
+++ b/mk/rte.sdkinstall.mk
@@ -47,6 +47,10 @@ ifneq ($(MAKECMDGOALS),pre_install)
  include $(RTE_SDK)/mk/rte.vars.mk
  endif

*+ifndef T**
**+T := $(RTE_TEMPLATE)**
**+endif**
* ifdef T # defaults with T= will install an almost flat staging tree
  export prefix ?=
  kerneldir   ?= $(prefix)/kmod


diff --git a/mk/rte.sdkroot.mk b/mk/rte.sdkroot.mk
index 076a2d7..0b71a4e 100644
--- a/mk/rte.sdkroot.mk
+++ b/mk/rte.sdkroot.mk
@@ -63,6 +63,8 @@ ifdef T
  ifeq ("$(origin T)", "command line")
  RTE_CONFIG_TEMPLATE := $(RTE_SRCDIR)/config/defconfig_$(T)
  endif
*+else**
**+RTE_CONFIG_TEMPLATE := $(RTE_SRCDIR)/config/defconfig_$(RTE_TEMPLATE)**
* endif
  export RTE_CONFIG_TEMPLATE

So if T is provided on the command line, it takes priority.
If that seems reasonable to you, I'll push up a v3. :)

Regards,
Dave.

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [dpdk-dev] [PATCH v2 1/2] mk: allow use of environment var for make config
  2017-06-07 10:28           ` Hunt, David
@ 2017-06-07 11:46             ` Shreyansh Jain
  2017-06-07 12:07               ` Bruce Richardson
  0 siblings, 1 reply; 36+ messages in thread
From: Shreyansh Jain @ 2017-06-07 11:46 UTC (permalink / raw)
  To: Hunt, David; +Cc: dev, thomas

On Wednesday 07 June 2017 03:58 PM, Hunt, David wrote:
> Hi Shreyansh,
> 
> 
> On 7/6/2017 10:36 AM, Shreyansh Jain wrote:
>> Hello David,
>>
>> On Wednesday 07 June 2017 02:09 PM, Hunt, David wrote:
>>> Shreyansh,
>>>
>>>      I found an issue (or two) with this part of the patch, and have 
>>> a proposed solution.
>>>
>>> 1. RTE_TARGET originally had a different meaning. It was used for 
>>> making examples, specifying the target directory of where the SDK was 
>>> built. It's not good to re-purpose this for something else, as I'm 
>>> doing in this patch. (even though I'm not sure that variable is 
>>> suitably named in the first place, but that's a different issue).
>>
>> Even I didn't realize this until you highlighted here.
>>
>>> 2. If we set RTE_TARGET on the environment, we will break the 'make 
>>> -C examples/<app>', unless we set RTE_TARGET to be something else 
>>> (i.e. 'make -C examples/<app> RTE_TARGET=build'). One value for 
>>> making DPDK, and another for building examples. It's confusing to the 
>>> user.
>>
>> Agree about re-using RTE_TARGET is breaking existing assumption about
>> its use.
>>
>>>
>>> An alternative patch would be as follows:
>>>
>>>   RTE_CONFIG_TEMPLATE :=
>>>   ifdef T
>>> *-ifeq ("$(origin T)", "command line")*
>>>   RTE_CONFIG_TEMPLATE := $(RTE_SRCDIR)/config/defconfig_$(T)
>>> *-endif**
>>> *endif
>>>   export RTE_CONFIG_TEMPLATE
>> So, that would mean, user would do either of the following:
>>
>> make T=<template> config
>>
>> or
>>
>> export T=<template>
>> make config
>>
>> Is that correct? (I tried it and it seems to be working fine)
>> First method is same as today. For the second, I am just skeptical
>> whether we should use such a small identifier ("T") or we have a new
>> RTE_TEMPLATE.
>>
>> Either way, I am OK. [export T=<template>] looks fine to me - in fact,
>> on a second though, IMO, if T=<template> is provided as command line, 
>> it should also be acceptable as env variable.
>>
> 
> I did a quick poll here in the office and people feel that 'T' is too 
> short for an environment variable. RTE_TEMPLATE would be preferred, and 
> it's a sensible choice that does not conflict with RTE_TARGET.
> 
> So if we use RTE_TEMPLATE, we'd also have to put in a couple of lines 
> for the "make install" case, but it's still a small enough patch:
> 
> diff --git a/mk/rte.sdkinstall.mk b/mk/rte.sdkinstall.mk
> index dbac2a2..a464b01 100644
> --- a/mk/rte.sdkinstall.mk
> +++ b/mk/rte.sdkinstall.mk
> @@ -47,6 +47,10 @@ ifneq ($(MAKECMDGOALS),pre_install)
>   include $(RTE_SDK)/mk/rte.vars.mk
>   endif
> 
> *+ifndef T**
> **+T := $(RTE_TEMPLATE)**
> **+endif**
> * ifdef T # defaults with T= will install an almost flat staging tree
>   export prefix ?=
>   kerneldir   ?= $(prefix)/kmod
> 
> 
> diff --git a/mk/rte.sdkroot.mk b/mk/rte.sdkroot.mk
> index 076a2d7..0b71a4e 100644
> --- a/mk/rte.sdkroot.mk
> +++ b/mk/rte.sdkroot.mk
> @@ -63,6 +63,8 @@ ifdef T
>   ifeq ("$(origin T)", "command line")
>   RTE_CONFIG_TEMPLATE := $(RTE_SRCDIR)/config/defconfig_$(T)
>   endif
> *+else**
> **+RTE_CONFIG_TEMPLATE := $(RTE_SRCDIR)/config/defconfig_$(RTE_TEMPLATE)**
> * endif
>   export RTE_CONFIG_TEMPLATE
> 
> So if T is provided on the command line, it takes priority.
> If that seems reasonable to you, I'll push up a v3. :)

Sounds good to me.
Feel free to add my signoff to v3.

> 
> Regards,
> Dave.
> 
> 
> 
> 
> 

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [dpdk-dev] [PATCH v2 1/2] mk: allow use of environment var for make config
  2017-06-07 11:46             ` Shreyansh Jain
@ 2017-06-07 12:07               ` Bruce Richardson
  0 siblings, 0 replies; 36+ messages in thread
From: Bruce Richardson @ 2017-06-07 12:07 UTC (permalink / raw)
  To: Shreyansh Jain; +Cc: Hunt, David, dev, thomas

On Wed, Jun 07, 2017 at 05:16:18PM +0530, Shreyansh Jain wrote:
> On Wednesday 07 June 2017 03:58 PM, Hunt, David wrote:
> > Hi Shreyansh,
> > 
> > 
> > On 7/6/2017 10:36 AM, Shreyansh Jain wrote:
> > > Hello David,
> > > 
> > > On Wednesday 07 June 2017 02:09 PM, Hunt, David wrote:
> > > > Shreyansh,
> > > > 
> > > >      I found an issue (or two) with this part of the patch, and
> > > > have a proposed solution.
> > > > 
> > > > 1. RTE_TARGET originally had a different meaning. It was used
> > > > for making examples, specifying the target directory of where
> > > > the SDK was built. It's not good to re-purpose this for
> > > > something else, as I'm doing in this patch. (even though I'm not
> > > > sure that variable is suitably named in the first place, but
> > > > that's a different issue).
> > > 
> > > Even I didn't realize this until you highlighted here.
> > > 
> > > > 2. If we set RTE_TARGET on the environment, we will break the
> > > > 'make -C examples/<app>', unless we set RTE_TARGET to be
> > > > something else (i.e. 'make -C examples/<app> RTE_TARGET=build').
> > > > One value for making DPDK, and another for building examples.
> > > > It's confusing to the user.
> > > 
> > > Agree about re-using RTE_TARGET is breaking existing assumption about
> > > its use.
> > > 
> > > > 
> > > > An alternative patch would be as follows:
> > > > 
> > > >   RTE_CONFIG_TEMPLATE :=
> > > >   ifdef T
> > > > *-ifeq ("$(origin T)", "command line")*
> > > >   RTE_CONFIG_TEMPLATE := $(RTE_SRCDIR)/config/defconfig_$(T)
> > > > *-endif**
> > > > *endif
> > > >   export RTE_CONFIG_TEMPLATE
> > > So, that would mean, user would do either of the following:
> > > 
> > > make T=<template> config
> > > 
> > > or
> > > 
> > > export T=<template>
> > > make config
> > > 
> > > Is that correct? (I tried it and it seems to be working fine)
> > > First method is same as today. For the second, I am just skeptical
> > > whether we should use such a small identifier ("T") or we have a new
> > > RTE_TEMPLATE.
> > > 
> > > Either way, I am OK. [export T=<template>] looks fine to me - in fact,
> > > on a second though, IMO, if T=<template> is provided as command
> > > line, it should also be acceptable as env variable.
> > > 
> > 
> > I did a quick poll here in the office and people feel that 'T' is too
> > short for an environment variable. RTE_TEMPLATE would be preferred, and
> > it's a sensible choice that does not conflict with RTE_TARGET.
> > 
> > So if we use RTE_TEMPLATE, we'd also have to put in a couple of lines
> > for the "make install" case, but it's still a small enough patch:
> > 
> > diff --git a/mk/rte.sdkinstall.mk b/mk/rte.sdkinstall.mk
> > index dbac2a2..a464b01 100644
> > --- a/mk/rte.sdkinstall.mk
> > +++ b/mk/rte.sdkinstall.mk
> > @@ -47,6 +47,10 @@ ifneq ($(MAKECMDGOALS),pre_install)
> >   include $(RTE_SDK)/mk/rte.vars.mk
> >   endif
> > 
> > *+ifndef T**
> > **+T := $(RTE_TEMPLATE)**
> > **+endif**
> > * ifdef T # defaults with T= will install an almost flat staging tree
> >   export prefix ?=
> >   kerneldir   ?= $(prefix)/kmod
> > 
> > 
> > diff --git a/mk/rte.sdkroot.mk b/mk/rte.sdkroot.mk
> > index 076a2d7..0b71a4e 100644
> > --- a/mk/rte.sdkroot.mk
> > +++ b/mk/rte.sdkroot.mk
> > @@ -63,6 +63,8 @@ ifdef T
> >   ifeq ("$(origin T)", "command line")
> >   RTE_CONFIG_TEMPLATE := $(RTE_SRCDIR)/config/defconfig_$(T)
> >   endif
> > *+else**
> > **+RTE_CONFIG_TEMPLATE := $(RTE_SRCDIR)/config/defconfig_$(RTE_TEMPLATE)**
> > * endif
> >   export RTE_CONFIG_TEMPLATE
> > 
> > So if T is provided on the command line, it takes priority.
> > If that seems reasonable to you, I'll push up a v3. :)
> 
> Sounds good to me.
> Feel free to add my signoff to v3.
> 
> > 

In another shameless plug, can you guys perhaps take a look at the RFC
I've just posted[1], as an option to move away from this whole area of
RTE_TARGET/RTE_SDK, and the complexity such as this that it brings. Let
me know any thoughts or comments you have.

Thanks,
/Bruce

[1] http://dpdk.org/ml/archives/dev/2017-June/067428.html

^ permalink raw reply	[flat|nested] 36+ messages in thread

* [dpdk-dev] [PATCH v3 0/3] mk: make config enhancements
  2017-05-26  8:52     ` [dpdk-dev] [PATCH v2 1/2] mk: allow use of environment var for make config David Hunt
  2017-06-07  8:39       ` Hunt, David
@ 2017-06-07 14:37       ` David Hunt
  2017-06-07 14:37         ` [dpdk-dev] [PATCH v3 1/3] mk: add sensible default target with defconfig David Hunt
                           ` (2 more replies)
  1 sibling, 3 replies; 36+ messages in thread
From: David Hunt @ 2017-06-07 14:37 UTC (permalink / raw)
  To: dev; +Cc: thomas, shreyansh.jain

This patch series is a couple of small patches to make the 'make config'
of the build a bit easier for users.

Users can now 'make defconfig' which will pick a sensible default based on
some 'uname' queries of the system.

Users can also set RTE_TEMPLATE in their environment which will get picked
users type 'make config' without T=template.

The changes are documented in docs/build-sdk-quick.txt.

v2 changes:
  Added better handling for non-IA platforms. The list is now as follows:
  uname -m  Output Target
  --------  ------------------
  aarch64   arm64-armv8a-...
  armv7l    arm-armv7a-...
  ppc64     ppc_64-power8-...
  x86_64    x86_64-native-...
  i686      i686-native-...

v3 changes:
  * Changed the use of RTE_TARGET back to it's original purpose and added new
    environmental variable RTE_TEMPLATE. Fully backward compatible if this is
    not set.
  * Added documentation changes to build-sdk-quick.txt to describe additions.

[1/3] mk: add sensible default target with defconfig
[2/3] mk: allow use of environment var for template
[3/3] doc: update build-sdk-quick txt file

^ permalink raw reply	[flat|nested] 36+ messages in thread

* [dpdk-dev] [PATCH v3 1/3] mk: add sensible default target with defconfig
  2017-06-07 14:37       ` [dpdk-dev] [PATCH v3 0/3] mk: make config enhancements David Hunt
@ 2017-06-07 14:37         ` David Hunt
  2017-06-12  8:36           ` Jerin Jacob
                             ` (2 more replies)
  2017-06-07 14:37         ` [dpdk-dev] [PATCH v3 2/3] mk: allow use of environment var for template David Hunt
  2017-06-07 14:37         ` [dpdk-dev] [PATCH v3 3/3] doc: update build-sdk-quick txt file David Hunt
  2 siblings, 3 replies; 36+ messages in thread
From: David Hunt @ 2017-06-07 14:37 UTC (permalink / raw)
  To: dev; +Cc: thomas, shreyansh.jain, David Hunt

Users can now use 'make defconfig' to generate a configuration using
the most appropriate defaults for the current machine.

<arch-machine-execenv-toolchain>
  arch taken from uname -m
  machine defaults to native
  execenv is taken from uname, Linux=linuxapp, otherwise bsdapp
  toolchain is taken from $CC -v to see which compiler to use

Signed-off-by: David Hunt <david.hunt@intel.com>
Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
---
 mk/rte.sdkconfig.mk | 28 +++++++++++++++++++++++++---
 mk/rte.sdkroot.mk   |  4 ++--
 2 files changed, 27 insertions(+), 5 deletions(-)

diff --git a/mk/rte.sdkconfig.mk b/mk/rte.sdkconfig.mk
index 1f2d6bd..fc03fe3 100644
--- a/mk/rte.sdkconfig.mk
+++ b/mk/rte.sdkconfig.mk
@@ -60,16 +60,38 @@ showconfigs:
 
 .PHONY: notemplate
 notemplate:
-	@printf "No template specified. "
-	@echo "Use T=template among the following list:"
+	@printf "No template specified. Use 'make defconfig' or "
+	@echo "use T=template from the following list:"
 	@$(MAKE) -rR showconfigs | sed 's,^,  ,'
 
+
+.PHONY: defconfig
+defconfig:
+	@$(MAKE) config T=$(shell \
+                uname -m | awk '{ \
+                if ($$0 == "aarch64") { \
+                        print "arm64-armv8a"} \
+                else if ($$0 == "armv7l") { \
+                        print "arm-armv7a"} \
+                else if ($$0 == "ppc64") { \
+                        print "ppc_64-power8"} \
+                else { \
+                        printf "%s-native", $$0} }')-$(shell \
+                uname | awk '{ \
+                if ($$0 == "Linux") { \
+                        print "linuxapp"} \
+                else { \
+                        print "bsdapp"} }')-$(shell \
+                ${CC} -v 2>&1 | \
+                grep " version " | cut -d ' ' -f 1)
+
 .PHONY: config
 ifeq ($(RTE_CONFIG_TEMPLATE),)
 config: notemplate
 else
 config: $(RTE_OUTPUT)/include/rte_config.h $(RTE_OUTPUT)/Makefile
-	@echo "Configuration done"
+	@echo "Configuration done using "$(shell basename \
+		$(RTE_CONFIG_TEMPLATE) | sed "s/defconfig_//g")
 endif
 
 $(RTE_OUTPUT):
diff --git a/mk/rte.sdkroot.mk b/mk/rte.sdkroot.mk
index 2843b7d..076a2d7 100644
--- a/mk/rte.sdkroot.mk
+++ b/mk/rte.sdkroot.mk
@@ -88,8 +88,8 @@ export ROOTDIRS-y ROOTDIRS- ROOTDIRS-n
 .PHONY: default
 default: all
 
-.PHONY: config showconfigs showversion showversionum
-config showconfigs showversion showversionum:
+.PHONY: defconfig config showconfigs showversion showversionum
+defconfig config showconfigs showversion showversionum:
 	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkconfig.mk $@
 
 .PHONY: cscope gtags tags etags
-- 
2.7.4

^ permalink raw reply	[flat|nested] 36+ messages in thread

* [dpdk-dev] [PATCH v3 2/3] mk: allow use of environment var for template
  2017-06-07 14:37       ` [dpdk-dev] [PATCH v3 0/3] mk: make config enhancements David Hunt
  2017-06-07 14:37         ` [dpdk-dev] [PATCH v3 1/3] mk: add sensible default target with defconfig David Hunt
@ 2017-06-07 14:37         ` David Hunt
  2017-06-12  8:37           ` Jerin Jacob
  2017-08-03 22:42           ` Thomas Monjalon
  2017-06-07 14:37         ` [dpdk-dev] [PATCH v3 3/3] doc: update build-sdk-quick txt file David Hunt
  2 siblings, 2 replies; 36+ messages in thread
From: David Hunt @ 2017-06-07 14:37 UTC (permalink / raw)
  To: dev; +Cc: thomas, shreyansh.jain, David Hunt

Added new environment variable RTE_TEMPLATE which is an additional
variable that can be set in the users environment. This maps on to the
existing 'T' command line variable typically used when 'make config'
or 'make install' is invoked.

So, instead of typing 'make config T=x86_64-native-linuxapp-gcc', the user
can now do 'export RTE_TEMPLATE=x86_64-native-linuxapp-gcc' followed by
'make config'. If the user instead chooses to 'make install', this will
do the configure, build, and install in one step.

Signed-off-by: David Hunt <david.hunt@intel.com>
Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
---
 mk/rte.sdkinstall.mk | 4 ++++
 mk/rte.sdkroot.mk    | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/mk/rte.sdkinstall.mk b/mk/rte.sdkinstall.mk
index dbac2a2..a464b01 100644
--- a/mk/rte.sdkinstall.mk
+++ b/mk/rte.sdkinstall.mk
@@ -47,6 +47,10 @@ ifneq ($(MAKECMDGOALS),pre_install)
 include $(RTE_SDK)/mk/rte.vars.mk
 endif
 
+ifndef T
+T := $(RTE_TEMPLATE)
+endif
+
 ifdef T # defaults with T= will install an almost flat staging tree
 export prefix ?=
 kerneldir   ?= $(prefix)/kmod
diff --git a/mk/rte.sdkroot.mk b/mk/rte.sdkroot.mk
index 076a2d7..a560230 100644
--- a/mk/rte.sdkroot.mk
+++ b/mk/rte.sdkroot.mk
@@ -63,6 +63,10 @@ ifdef T
 ifeq ("$(origin T)", "command line")
 RTE_CONFIG_TEMPLATE := $(RTE_SRCDIR)/config/defconfig_$(T)
 endif
+else
+ifdef RTE_TEMPLATE
+RTE_CONFIG_TEMPLATE := $(RTE_SRCDIR)/config/defconfig_$(RTE_TEMPLATE)
+endif
 endif
 export RTE_CONFIG_TEMPLATE
 
-- 
2.7.4

^ permalink raw reply	[flat|nested] 36+ messages in thread

* [dpdk-dev] [PATCH v3 3/3] doc: update build-sdk-quick txt file
  2017-06-07 14:37       ` [dpdk-dev] [PATCH v3 0/3] mk: make config enhancements David Hunt
  2017-06-07 14:37         ` [dpdk-dev] [PATCH v3 1/3] mk: add sensible default target with defconfig David Hunt
  2017-06-07 14:37         ` [dpdk-dev] [PATCH v3 2/3] mk: allow use of environment var for template David Hunt
@ 2017-06-07 14:37         ` David Hunt
  2017-06-12 12:50           ` Mcnamara, John
  2 siblings, 1 reply; 36+ messages in thread
From: David Hunt @ 2017-06-07 14:37 UTC (permalink / raw)
  To: dev; +Cc: thomas, shreyansh.jain, David Hunt

  * Add in information about 'make defconfig'
  * Add in information about RTE_TEMPLATE environment variable
  * Explain the default directory for 'O=' a bit better
  * Clean up text alignment

Signed-off-by: David Hunt <david.hunt@intel.com>
---
 doc/build-sdk-quick.txt | 28 +++++++++++++++++++---------
 1 file changed, 19 insertions(+), 9 deletions(-)

diff --git a/doc/build-sdk-quick.txt b/doc/build-sdk-quick.txt
index 8d41052..79f6971 100644
--- a/doc/build-sdk-quick.txt
+++ b/doc/build-sdk-quick.txt
@@ -1,7 +1,10 @@
 Basic build
+	make defconfig && make
+	or
 	make config T=x86_64-native-linuxapp-gcc && make
 Build commands
 	config           get configuration from target template (T=)
+	defconfig        auto-select target template based on arch, OS, etc.
 	all              same as build (default rule)
 	build            build in a configured directory
 	clean            remove files but keep configuration
@@ -18,12 +21,19 @@ Build variables
 	EXTRA_LDLIBS     linker library options
 	RTE_KERNELDIR    linux headers path
 	RTE_DEVEL_BUILD  stricter options (default: y in git tree)
-	CROSS     toolchain prefix
-	V         verbose
-	D         debug dependencies
-	O         build directory (default: build/ - install T= default: ./)
-	DESTDIR   staging install directory (default: empty)
-	prefix    root install directory (default: /usr/local)
-	T         target template - used with config or install
-			format: <arch-machine-execenv-toolchain>
-			templates in config/defconfig_*
+	CROSS            toolchain prefix
+	V                verbose
+	D                debug dependencies
+	O                build directory (default different depending on use):
+	                          make defconfig,     default: build/
+	                          make config T=xyz,  default: build/
+	                          make,               default: build/
+	                          make install T=xyz, default: xyz/
+	DESTDIR          staging install directory (default: empty)
+	prefix           root install directory (default: /usr/local)
+	T                target template - used with config or install
+	                 format: <arch-machine-execenv-toolchain>
+	                 templates in config/defconfig_*
+	RTE_TEMPLATE     Set this as an environment variable to replace (T=)
+	                 Example: export RTE_TEMPLATE=x86_64-native-linuxapp-gcc
+	                          make config && make
-- 
2.7.4

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [dpdk-dev] [PATCH v3 1/3] mk: add sensible default target with defconfig
  2017-06-07 14:37         ` [dpdk-dev] [PATCH v3 1/3] mk: add sensible default target with defconfig David Hunt
@ 2017-06-12  8:36           ` Jerin Jacob
  2017-08-03 22:39           ` Thomas Monjalon
  2017-08-04 10:28           ` [dpdk-dev] [PATCH v4] " David Hunt
  2 siblings, 0 replies; 36+ messages in thread
From: Jerin Jacob @ 2017-06-12  8:36 UTC (permalink / raw)
  To: David Hunt; +Cc: dev, thomas, shreyansh.jain

-----Original Message-----
> Date: Wed, 7 Jun 2017 15:37:55 +0100
> From: David Hunt <david.hunt@intel.com>
> To: dev@dpdk.org
> CC: thomas@monjalon.net, shreyansh.jain@nxp.com, David Hunt
>  <david.hunt@intel.com>
> Subject: [dpdk-dev] [PATCH v3 1/3] mk: add sensible default target with
>  defconfig
> X-Mailer: git-send-email 2.7.4
> 
> Users can now use 'make defconfig' to generate a configuration using
> the most appropriate defaults for the current machine.
> 
> <arch-machine-execenv-toolchain>
>   arch taken from uname -m
>   machine defaults to native
>   execenv is taken from uname, Linux=linuxapp, otherwise bsdapp
>   toolchain is taken from $CC -v to see which compiler to use
> 
> Signed-off-by: David Hunt <david.hunt@intel.com>
> Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>

Tested on a arm64 target:

Tested-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>

> ---
>  mk/rte.sdkconfig.mk | 28 +++++++++++++++++++++++++---
>  mk/rte.sdkroot.mk   |  4 ++--
>  2 files changed, 27 insertions(+), 5 deletions(-)
> 
> diff --git a/mk/rte.sdkconfig.mk b/mk/rte.sdkconfig.mk
> index 1f2d6bd..fc03fe3 100644
> --- a/mk/rte.sdkconfig.mk
> +++ b/mk/rte.sdkconfig.mk
> @@ -60,16 +60,38 @@ showconfigs:
>  
>  .PHONY: notemplate
>  notemplate:
> -	@printf "No template specified. "
> -	@echo "Use T=template among the following list:"
> +	@printf "No template specified. Use 'make defconfig' or "
> +	@echo "use T=template from the following list:"
>  	@$(MAKE) -rR showconfigs | sed 's,^,  ,'
>  
> +
> +.PHONY: defconfig
> +defconfig:
> +	@$(MAKE) config T=$(shell \
> +                uname -m | awk '{ \
> +                if ($$0 == "aarch64") { \
> +                        print "arm64-armv8a"} \
> +                else if ($$0 == "armv7l") { \
> +                        print "arm-armv7a"} \
> +                else if ($$0 == "ppc64") { \
> +                        print "ppc_64-power8"} \
> +                else { \
> +                        printf "%s-native", $$0} }')-$(shell \
> +                uname | awk '{ \
> +                if ($$0 == "Linux") { \
> +                        print "linuxapp"} \
> +                else { \
> +                        print "bsdapp"} }')-$(shell \
> +                ${CC} -v 2>&1 | \
> +                grep " version " | cut -d ' ' -f 1)
> +
>  .PHONY: config
>  ifeq ($(RTE_CONFIG_TEMPLATE),)
>  config: notemplate
>  else
>  config: $(RTE_OUTPUT)/include/rte_config.h $(RTE_OUTPUT)/Makefile
> -	@echo "Configuration done"
> +	@echo "Configuration done using "$(shell basename \
> +		$(RTE_CONFIG_TEMPLATE) | sed "s/defconfig_//g")
>  endif
>  
>  $(RTE_OUTPUT):
> diff --git a/mk/rte.sdkroot.mk b/mk/rte.sdkroot.mk
> index 2843b7d..076a2d7 100644
> --- a/mk/rte.sdkroot.mk
> +++ b/mk/rte.sdkroot.mk
> @@ -88,8 +88,8 @@ export ROOTDIRS-y ROOTDIRS- ROOTDIRS-n
>  .PHONY: default
>  default: all
>  
> -.PHONY: config showconfigs showversion showversionum
> -config showconfigs showversion showversionum:
> +.PHONY: defconfig config showconfigs showversion showversionum
> +defconfig config showconfigs showversion showversionum:
>  	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkconfig.mk $@
>  
>  .PHONY: cscope gtags tags etags
> -- 
> 2.7.4
> 

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [dpdk-dev] [PATCH v3 2/3] mk: allow use of environment var for template
  2017-06-07 14:37         ` [dpdk-dev] [PATCH v3 2/3] mk: allow use of environment var for template David Hunt
@ 2017-06-12  8:37           ` Jerin Jacob
  2017-08-03 22:42           ` Thomas Monjalon
  1 sibling, 0 replies; 36+ messages in thread
From: Jerin Jacob @ 2017-06-12  8:37 UTC (permalink / raw)
  To: David Hunt; +Cc: dev, thomas, shreyansh.jain

-----Original Message-----
> Date: Wed, 7 Jun 2017 15:37:56 +0100
> From: David Hunt <david.hunt@intel.com>
> To: dev@dpdk.org
> CC: thomas@monjalon.net, shreyansh.jain@nxp.com, David Hunt
>  <david.hunt@intel.com>
> Subject: [dpdk-dev] [PATCH v3 2/3] mk: allow use of environment var for
>  template
> X-Mailer: git-send-email 2.7.4
> 
> Added new environment variable RTE_TEMPLATE which is an additional
> variable that can be set in the users environment. This maps on to the
> existing 'T' command line variable typically used when 'make config'
> or 'make install' is invoked.
> 
> So, instead of typing 'make config T=x86_64-native-linuxapp-gcc', the user
> can now do 'export RTE_TEMPLATE=x86_64-native-linuxapp-gcc' followed by
> 'make config'. If the user instead chooses to 'make install', this will
> do the configure, build, and install in one step.
> 
> Signed-off-by: David Hunt <david.hunt@intel.com>
> Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>

Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>

> ---
>  mk/rte.sdkinstall.mk | 4 ++++
>  mk/rte.sdkroot.mk    | 4 ++++
>  2 files changed, 8 insertions(+)
> 
> diff --git a/mk/rte.sdkinstall.mk b/mk/rte.sdkinstall.mk
> index dbac2a2..a464b01 100644
> --- a/mk/rte.sdkinstall.mk
> +++ b/mk/rte.sdkinstall.mk
> @@ -47,6 +47,10 @@ ifneq ($(MAKECMDGOALS),pre_install)
>  include $(RTE_SDK)/mk/rte.vars.mk
>  endif
>  
> +ifndef T
> +T := $(RTE_TEMPLATE)
> +endif
> +
>  ifdef T # defaults with T= will install an almost flat staging tree
>  export prefix ?=
>  kerneldir   ?= $(prefix)/kmod
> diff --git a/mk/rte.sdkroot.mk b/mk/rte.sdkroot.mk
> index 076a2d7..a560230 100644
> --- a/mk/rte.sdkroot.mk
> +++ b/mk/rte.sdkroot.mk
> @@ -63,6 +63,10 @@ ifdef T
>  ifeq ("$(origin T)", "command line")
>  RTE_CONFIG_TEMPLATE := $(RTE_SRCDIR)/config/defconfig_$(T)
>  endif
> +else
> +ifdef RTE_TEMPLATE
> +RTE_CONFIG_TEMPLATE := $(RTE_SRCDIR)/config/defconfig_$(RTE_TEMPLATE)
> +endif
>  endif
>  export RTE_CONFIG_TEMPLATE
>  
> -- 
> 2.7.4
> 

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [dpdk-dev] [PATCH v3 3/3] doc: update build-sdk-quick txt file
  2017-06-07 14:37         ` [dpdk-dev] [PATCH v3 3/3] doc: update build-sdk-quick txt file David Hunt
@ 2017-06-12 12:50           ` Mcnamara, John
  2018-02-13 12:18             ` Ferruh Yigit
  0 siblings, 1 reply; 36+ messages in thread
From: Mcnamara, John @ 2017-06-12 12:50 UTC (permalink / raw)
  To: Hunt, David, dev; +Cc: thomas, shreyansh.jain, Hunt, David



> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of David Hunt
> Sent: Wednesday, June 7, 2017 3:38 PM
> To: dev@dpdk.org
> Cc: thomas@monjalon.net; shreyansh.jain@nxp.com; Hunt, David
> <david.hunt@intel.com>
> Subject: [dpdk-dev] [PATCH v3 3/3] doc: update build-sdk-quick txt file
> 
>   * Add in information about 'make defconfig'
>   * Add in information about RTE_TEMPLATE environment variable
>   * Explain the default directory for 'O=' a bit better
>   * Clean up text alignment
> 
> Signed-off-by: David Hunt <david.hunt@intel.com>

Acked-by: John McNamara <john.mcnamara@intel.com>

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [dpdk-dev] [PATCH v3 1/3] mk: add sensible default target with defconfig
  2017-06-07 14:37         ` [dpdk-dev] [PATCH v3 1/3] mk: add sensible default target with defconfig David Hunt
  2017-06-12  8:36           ` Jerin Jacob
@ 2017-08-03 22:39           ` Thomas Monjalon
  2017-08-04  8:22             ` Hunt, David
  2017-08-04 10:28           ` [dpdk-dev] [PATCH v4] " David Hunt
  2 siblings, 1 reply; 36+ messages in thread
From: Thomas Monjalon @ 2017-08-03 22:39 UTC (permalink / raw)
  To: David Hunt; +Cc: dev, shreyansh.jain

07/06/2017 16:37, David Hunt:
> Users can now use 'make defconfig' to generate a configuration using
> the most appropriate defaults for the current machine.
> 
> <arch-machine-execenv-toolchain>
>   arch taken from uname -m
>   machine defaults to native
>   execenv is taken from uname, Linux=linuxapp, otherwise bsdapp
>   toolchain is taken from $CC -v to see which compiler to use
> 
> Signed-off-by: David Hunt <david.hunt@intel.com>
> Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>

Looks to be a good idea if it is really automatic.

> +                ${CC} -v 2>&1 | \
> +                grep " version " | cut -d ' ' -f 1)

Unfortunately, it depends on $CC which is not commonly exported.
What about defaulting to gcc?

> -	@echo "Configuration done"
> +	@echo "Configuration done using "$(shell basename \
> +		$(RTE_CONFIG_TEMPLATE) | sed "s/defconfig_//g")

RTE_CONFIG_TEMPLATE is not defined in this patch
(and I do not see the benefit in next patch).

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [dpdk-dev] [PATCH v3 2/3] mk: allow use of environment var for template
  2017-06-07 14:37         ` [dpdk-dev] [PATCH v3 2/3] mk: allow use of environment var for template David Hunt
  2017-06-12  8:37           ` Jerin Jacob
@ 2017-08-03 22:42           ` Thomas Monjalon
  1 sibling, 0 replies; 36+ messages in thread
From: Thomas Monjalon @ 2017-08-03 22:42 UTC (permalink / raw)
  To: David Hunt; +Cc: dev, shreyansh.jain

07/06/2017 16:37, David Hunt:
> Added new environment variable RTE_TEMPLATE which is an additional
> variable that can be set in the users environment. This maps on to the
> existing 'T' command line variable typically used when 'make config'
> or 'make install' is invoked.
> 
> So, instead of typing 'make config T=x86_64-native-linuxapp-gcc', the user
> can now do 'export RTE_TEMPLATE=x86_64-native-linuxapp-gcc' followed by
> 'make config'. If the user instead chooses to 'make install', this will
> do the configure, build, and install in one step.
[...]
> --- a/mk/rte.sdkinstall.mk
> +++ b/mk/rte.sdkinstall.mk
> @@ -47,6 +47,10 @@ ifneq ($(MAKECMDGOALS),pre_install)
>  include $(RTE_SDK)/mk/rte.vars.mk
>  endif
>  
> +ifndef T
> +T := $(RTE_TEMPLATE)
> +endif

"make install T=" is an old syntax.
We should drop this non-standard syntax.
So I prefer we do not encourage it with this variable.

> --- a/mk/rte.sdkroot.mk
> +++ b/mk/rte.sdkroot.mk
> +ifdef RTE_TEMPLATE
> +RTE_CONFIG_TEMPLATE := $(RTE_SRCDIR)/config/defconfig_$(RTE_TEMPLATE)
> +endif

What is the benefit of exporting RTE_TEMPLATE instead of T= ?
I am afraid it get more confusion.

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [dpdk-dev] [PATCH v3 1/3] mk: add sensible default target with defconfig
  2017-08-03 22:39           ` Thomas Monjalon
@ 2017-08-04  8:22             ` Hunt, David
  2017-08-04  9:36               ` Thomas Monjalon
  0 siblings, 1 reply; 36+ messages in thread
From: Hunt, David @ 2017-08-04  8:22 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev, shreyansh.jain


-----Original Message-----
From: Thomas Monjalon [mailto:thomas@monjalon.net] 
Sent: Thursday, 3 August, 2017 11:40 PM
To: Hunt, David <david.hunt@intel.com>
Cc: dev@dpdk.org; shreyansh.jain@nxp.com
Subject: Re: [dpdk-dev] [PATCH v3 1/3] mk: add sensible default target with defconfig

07/06/2017 16:37, David Hunt:
> Users can now use 'make defconfig' to generate a configuration using 
> the most appropriate defaults for the current machine.
> 
> <arch-machine-execenv-toolchain>
>   arch taken from uname -m
>   machine defaults to native
>   execenv is taken from uname, Linux=linuxapp, otherwise bsdapp
>   toolchain is taken from $CC -v to see which compiler to use
> 
> Signed-off-by: David Hunt <david.hunt@intel.com>
> Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>

Looks to be a good idea if it is really automatic.

> +                ${CC} -v 2>&1 | \
> +                grep " version " | cut -d ' ' -f 1)

Unfortunately, it depends on $CC which is not commonly exported.
What about defaulting to gcc?

> -	@echo "Configuration done"
> +	@echo "Configuration done using "$(shell basename \
> +		$(RTE_CONFIG_TEMPLATE) | sed "s/defconfig_//g")

RTE_CONFIG_TEMPLATE is not defined in this patch (and I do not see the benefit in next patch).

Thomas, 
     Does this mean that this patch is not going into this release? It has been acked for almost a month now, with no further comment. The one hour between your comment and the release of RC4 did not give me a reasonable amount of time to address your concerns. I also feel that the lack of comments in the last month should mean that the patch should be applied as is. If changes are required, I am happy to address in the next release. 
Regards,
Dave.

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [dpdk-dev] [PATCH v3 1/3] mk: add sensible default target with defconfig
  2017-08-04  8:22             ` Hunt, David
@ 2017-08-04  9:36               ` Thomas Monjalon
  2017-08-04  9:53                 ` Hunt, David
  0 siblings, 1 reply; 36+ messages in thread
From: Thomas Monjalon @ 2017-08-04  9:36 UTC (permalink / raw)
  To: Hunt, David; +Cc: dev, shreyansh.jain

04/08/2017 10:22, Hunt, David:
> From: Thomas Monjalon [mailto:thomas@monjalon.net] 
> 07/06/2017 16:37, David Hunt:
> > Users can now use 'make defconfig' to generate a configuration using 
> > the most appropriate defaults for the current machine.
> > 
> > <arch-machine-execenv-toolchain>
> >   arch taken from uname -m
> >   machine defaults to native
> >   execenv is taken from uname, Linux=linuxapp, otherwise bsdapp
> >   toolchain is taken from $CC -v to see which compiler to use
> > 
> > Signed-off-by: David Hunt <david.hunt@intel.com>
> > Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
> 
> Looks to be a good idea if it is really automatic.
> 
> > +                ${CC} -v 2>&1 | \
> > +                grep " version " | cut -d ' ' -f 1)
> 
> Unfortunately, it depends on $CC which is not commonly exported.
> What about defaulting to gcc?
> 
> > -	@echo "Configuration done"
> > +	@echo "Configuration done using "$(shell basename \
> > +		$(RTE_CONFIG_TEMPLATE) | sed "s/defconfig_//g")
> 
> RTE_CONFIG_TEMPLATE is not defined in this patch (and I do not see the benefit in next patch).
> 
> Thomas, 
>      Does this mean that this patch is not going into this release? It has been acked for almost a month now, with no further comment. The one hour between your comment and the release of RC4 did not give me a reasonable amount of time to address your concerns. I also feel that the lack of comments in the last month should mean that the patch should be applied as is. If changes are required, I am happy to address in the next release. 

You're right, I'm very sorry not taking time to review it before.
I think only the first patch should be integrated, without the comment for
RTE_CONFIG_TEMPLATE.
Opinion?

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [dpdk-dev] [PATCH v3 1/3] mk: add sensible default target with defconfig
  2017-08-04  9:36               ` Thomas Monjalon
@ 2017-08-04  9:53                 ` Hunt, David
  2017-08-04 10:05                   ` Thomas Monjalon
  0 siblings, 1 reply; 36+ messages in thread
From: Hunt, David @ 2017-08-04  9:53 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev, shreyansh.jain


On 4/8/2017 10:36 AM, Thomas Monjalon wrote:
> 04/08/2017 10:22, Hunt, David:
>> From: Thomas Monjalon [mailto:thomas@monjalon.net]
>> 07/06/2017 16:37, David Hunt:
>>> Users can now use 'make defconfig' to generate a configuration using
>>> the most appropriate defaults for the current machine.
>>>
>>> <arch-machine-execenv-toolchain>
>>>    arch taken from uname -m
>>>    machine defaults to native
>>>    execenv is taken from uname, Linux=linuxapp, otherwise bsdapp
>>>    toolchain is taken from $CC -v to see which compiler to use
>>>
>>> Signed-off-by: David Hunt <david.hunt@intel.com>
>>> Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
>> Looks to be a good idea if it is really automatic.
>>
>>> +                ${CC} -v 2>&1 | \
>>> +                grep " version " | cut -d ' ' -f 1)
>> Unfortunately, it depends on $CC which is not commonly exported.
>> What about defaulting to gcc?
>>
>>> -	@echo "Configuration done"
>>> +	@echo "Configuration done using "$(shell basename \
>>> +		$(RTE_CONFIG_TEMPLATE) | sed "s/defconfig_//g")
>> RTE_CONFIG_TEMPLATE is not defined in this patch (and I do not see the benefit in next patch).
>>
>> Thomas,
>>       Does this mean that this patch is not going into this release? It has been acked for almost a month now, with no further comment. The one hour between your comment and the release of RC4 did not give me a reasonable amount of time to address your concerns. I also feel that the lack of comments in the last month should mean that the patch should be applied as is. If changes are required, I am happy to address in the next release.
> You're right, I'm very sorry not taking time to review it before.
> I think only the first patch should be integrated, without the comment for
> RTE_CONFIG_TEMPLATE.
> Opinion?

OK, I would be OK with the first patch. However, I think the 
RTE_CONFIG_TEMPLATE comment part of the patch is fine, we just tested it 
here. It's only RTE_TEMPLATE I'm introducing in the second patch, nor 
RTE_CONFIG_TEMPLATE. That existed before this patch set. So the echo 
command in the first patch works fine, and shows the user what template 
the script has used to configure itself.

I could upload another patch with just the first patch (and the relevant 
2 lines from the docs patch) as a v4?

Regards,
Dave.

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [dpdk-dev] [PATCH v3 1/3] mk: add sensible default target with defconfig
  2017-08-04  9:53                 ` Hunt, David
@ 2017-08-04 10:05                   ` Thomas Monjalon
  2017-08-04 10:42                     ` Hunt, David
  0 siblings, 1 reply; 36+ messages in thread
From: Thomas Monjalon @ 2017-08-04 10:05 UTC (permalink / raw)
  To: Hunt, David; +Cc: dev, shreyansh.jain

04/08/2017 11:53, Hunt, David:
> 
> On 4/8/2017 10:36 AM, Thomas Monjalon wrote:
> > 04/08/2017 10:22, Hunt, David:
> >> From: Thomas Monjalon [mailto:thomas@monjalon.net]
> >> 07/06/2017 16:37, David Hunt:
> >>> Users can now use 'make defconfig' to generate a configuration using
> >>> the most appropriate defaults for the current machine.
> >>>
> >>> <arch-machine-execenv-toolchain>
> >>>    arch taken from uname -m
> >>>    machine defaults to native
> >>>    execenv is taken from uname, Linux=linuxapp, otherwise bsdapp
> >>>    toolchain is taken from $CC -v to see which compiler to use
> >>>
> >>> Signed-off-by: David Hunt <david.hunt@intel.com>
> >>> Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
> >> Looks to be a good idea if it is really automatic.
> >>
> >>> +                ${CC} -v 2>&1 | \
> >>> +                grep " version " | cut -d ' ' -f 1)
> >> Unfortunately, it depends on $CC which is not commonly exported.
> >> What about defaulting to gcc?
> >>
> >>> -	@echo "Configuration done"
> >>> +	@echo "Configuration done using "$(shell basename \
> >>> +		$(RTE_CONFIG_TEMPLATE) | sed "s/defconfig_//g")
> >> RTE_CONFIG_TEMPLATE is not defined in this patch (and I do not see the benefit in next patch).
> >>
> >> Thomas,
> >>       Does this mean that this patch is not going into this release? It has been acked for almost a month now, with no further comment. The one hour between your comment and the release of RC4 did not give me a reasonable amount of time to address your concerns. I also feel that the lack of comments in the last month should mean that the patch should be applied as is. If changes are required, I am happy to address in the next release.
> > You're right, I'm very sorry not taking time to review it before.
> > I think only the first patch should be integrated, without the comment for
> > RTE_CONFIG_TEMPLATE.
> > Opinion?
> 
> OK, I would be OK with the first patch. However, I think the 
> RTE_CONFIG_TEMPLATE comment part of the patch is fine, we just tested it 
> here. It's only RTE_TEMPLATE I'm introducing in the second patch, nor 
> RTE_CONFIG_TEMPLATE. That existed before this patch set. So the echo 
> command in the first patch works fine, and shows the user what template 
> the script has used to configure itself.

Ah OK I totally missed it :)

> I could upload another patch with just the first patch (and the relevant 
> 2 lines from the docs patch) as a v4?

Yes perfect

^ permalink raw reply	[flat|nested] 36+ messages in thread

* [dpdk-dev] [PATCH v4] mk: add sensible default target with defconfig
  2017-06-07 14:37         ` [dpdk-dev] [PATCH v3 1/3] mk: add sensible default target with defconfig David Hunt
  2017-06-12  8:36           ` Jerin Jacob
  2017-08-03 22:39           ` Thomas Monjalon
@ 2017-08-04 10:28           ` David Hunt
  2017-08-04 10:39             ` [dpdk-dev] [PATCH v5] " David Hunt
  2 siblings, 1 reply; 36+ messages in thread
From: David Hunt @ 2017-08-04 10:28 UTC (permalink / raw)
  To: dev; +Cc: thomas, David Hunt

Users can now use 'make defconfig' to generate a configuration using
the most appropriate defaults for the current machine.

<arch-machine-execenv-toolchain>
  arch taken from uname -m
  machine defaults to native
  execenv is taken from uname, Linux=linuxapp, otherwise bsdapp
  toolchain is taken from $CC -v to see which compiler to use

Signed-off-by: David Hunt <david.hunt@intel.com>
Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Tested-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
---
 doc/build-sdk-quick.txt |  2 ++
 mk/rte.sdkconfig.mk     | 28 +++++++++++++++++++++++++---
 mk/rte.sdkroot.mk       |  4 ++--
 3 files changed, 29 insertions(+), 5 deletions(-)

diff --git a/doc/build-sdk-quick.txt b/doc/build-sdk-quick.txt
index 8d41052..e7e7acf 100644
--- a/doc/build-sdk-quick.txt
+++ b/doc/build-sdk-quick.txt
@@ -1,4 +1,6 @@
 Basic build
+	make defconfig && make
+	or
 	make config T=x86_64-native-linuxapp-gcc && make
 Build commands
 	config           get configuration from target template (T=)
diff --git a/mk/rte.sdkconfig.mk b/mk/rte.sdkconfig.mk
index 1f2d6bd..fc03fe3 100644
--- a/mk/rte.sdkconfig.mk
+++ b/mk/rte.sdkconfig.mk
@@ -60,16 +60,38 @@ showconfigs:
 
 .PHONY: notemplate
 notemplate:
-	@printf "No template specified. "
-	@echo "Use T=template among the following list:"
+	@printf "No template specified. Use 'make defconfig' or "
+	@echo "use T=template from the following list:"
 	@$(MAKE) -rR showconfigs | sed 's,^,  ,'
 
+
+.PHONY: defconfig
+defconfig:
+	@$(MAKE) config T=$(shell \
+                uname -m | awk '{ \
+                if ($$0 == "aarch64") { \
+                        print "arm64-armv8a"} \
+                else if ($$0 == "armv7l") { \
+                        print "arm-armv7a"} \
+                else if ($$0 == "ppc64") { \
+                        print "ppc_64-power8"} \
+                else { \
+                        printf "%s-native", $$0} }')-$(shell \
+                uname | awk '{ \
+                if ($$0 == "Linux") { \
+                        print "linuxapp"} \
+                else { \
+                        print "bsdapp"} }')-$(shell \
+                ${CC} -v 2>&1 | \
+                grep " version " | cut -d ' ' -f 1)
+
 .PHONY: config
 ifeq ($(RTE_CONFIG_TEMPLATE),)
 config: notemplate
 else
 config: $(RTE_OUTPUT)/include/rte_config.h $(RTE_OUTPUT)/Makefile
-	@echo "Configuration done"
+	@echo "Configuration done using "$(shell basename \
+		$(RTE_CONFIG_TEMPLATE) | sed "s/defconfig_//g")
 endif
 
 $(RTE_OUTPUT):
diff --git a/mk/rte.sdkroot.mk b/mk/rte.sdkroot.mk
index 2843b7d..076a2d7 100644
--- a/mk/rte.sdkroot.mk
+++ b/mk/rte.sdkroot.mk
@@ -88,8 +88,8 @@ export ROOTDIRS-y ROOTDIRS- ROOTDIRS-n
 .PHONY: default
 default: all
 
-.PHONY: config showconfigs showversion showversionum
-config showconfigs showversion showversionum:
+.PHONY: defconfig config showconfigs showversion showversionum
+defconfig config showconfigs showversion showversionum:
 	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkconfig.mk $@
 
 .PHONY: cscope gtags tags etags
-- 
2.7.4

^ permalink raw reply	[flat|nested] 36+ messages in thread

* [dpdk-dev] [PATCH v5] mk: add sensible default target with defconfig
  2017-08-04 10:28           ` [dpdk-dev] [PATCH v4] " David Hunt
@ 2017-08-04 10:39             ` David Hunt
  2017-08-05  8:24               ` Thomas Monjalon
  0 siblings, 1 reply; 36+ messages in thread
From: David Hunt @ 2017-08-04 10:39 UTC (permalink / raw)
  To: dev; +Cc: thomas, David Hunt

Users can now use 'make defconfig' to generate a configuration using
the most appropriate defaults for the current machine.

<arch-machine-execenv-toolchain>
  arch taken from uname -m
  machine defaults to native
  execenv is taken from uname, Linux=linuxapp, otherwise bsdapp
  toolchain is taken from $CC -v to see which compiler to use

Signed-off-by: David Hunt <david.hunt@intel.com>
Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
Tested-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
---
 doc/build-sdk-quick.txt |  3 +++
 mk/rte.sdkconfig.mk     | 28 +++++++++++++++++++++++++---
 mk/rte.sdkroot.mk       |  4 ++--
 3 files changed, 30 insertions(+), 5 deletions(-)

diff --git a/doc/build-sdk-quick.txt b/doc/build-sdk-quick.txt
index 8d41052..2b5d493 100644
--- a/doc/build-sdk-quick.txt
+++ b/doc/build-sdk-quick.txt
@@ -1,7 +1,10 @@
 Basic build
+	make defconfig && make
+	or
 	make config T=x86_64-native-linuxapp-gcc && make
 Build commands
 	config           get configuration from target template (T=)
+	defconfig        auto-select target template based on arch, OS, etc.
 	all              same as build (default rule)
 	build            build in a configured directory
 	clean            remove files but keep configuration
diff --git a/mk/rte.sdkconfig.mk b/mk/rte.sdkconfig.mk
index 1f2d6bd..fc03fe3 100644
--- a/mk/rte.sdkconfig.mk
+++ b/mk/rte.sdkconfig.mk
@@ -60,16 +60,38 @@ showconfigs:
 
 .PHONY: notemplate
 notemplate:
-	@printf "No template specified. "
-	@echo "Use T=template among the following list:"
+	@printf "No template specified. Use 'make defconfig' or "
+	@echo "use T=template from the following list:"
 	@$(MAKE) -rR showconfigs | sed 's,^,  ,'
 
+
+.PHONY: defconfig
+defconfig:
+	@$(MAKE) config T=$(shell \
+                uname -m | awk '{ \
+                if ($$0 == "aarch64") { \
+                        print "arm64-armv8a"} \
+                else if ($$0 == "armv7l") { \
+                        print "arm-armv7a"} \
+                else if ($$0 == "ppc64") { \
+                        print "ppc_64-power8"} \
+                else { \
+                        printf "%s-native", $$0} }')-$(shell \
+                uname | awk '{ \
+                if ($$0 == "Linux") { \
+                        print "linuxapp"} \
+                else { \
+                        print "bsdapp"} }')-$(shell \
+                ${CC} -v 2>&1 | \
+                grep " version " | cut -d ' ' -f 1)
+
 .PHONY: config
 ifeq ($(RTE_CONFIG_TEMPLATE),)
 config: notemplate
 else
 config: $(RTE_OUTPUT)/include/rte_config.h $(RTE_OUTPUT)/Makefile
-	@echo "Configuration done"
+	@echo "Configuration done using "$(shell basename \
+		$(RTE_CONFIG_TEMPLATE) | sed "s/defconfig_//g")
 endif
 
 $(RTE_OUTPUT):
diff --git a/mk/rte.sdkroot.mk b/mk/rte.sdkroot.mk
index 2843b7d..076a2d7 100644
--- a/mk/rte.sdkroot.mk
+++ b/mk/rte.sdkroot.mk
@@ -88,8 +88,8 @@ export ROOTDIRS-y ROOTDIRS- ROOTDIRS-n
 .PHONY: default
 default: all
 
-.PHONY: config showconfigs showversion showversionum
-config showconfigs showversion showversionum:
+.PHONY: defconfig config showconfigs showversion showversionum
+defconfig config showconfigs showversion showversionum:
 	$(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkconfig.mk $@
 
 .PHONY: cscope gtags tags etags
-- 
2.7.4

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [dpdk-dev] [PATCH v3 1/3] mk: add sensible default target with defconfig
  2017-08-04 10:05                   ` Thomas Monjalon
@ 2017-08-04 10:42                     ` Hunt, David
  0 siblings, 0 replies; 36+ messages in thread
From: Hunt, David @ 2017-08-04 10:42 UTC (permalink / raw)
  To: Thomas Monjalon; +Cc: dev, shreyansh.jain


On 4/8/2017 11:05 AM, Thomas Monjalon wrote:
> 04/08/2017 11:53, Hunt, David:
>> On 4/8/2017 10:36 AM, Thomas Monjalon wrote:
>>> 04/08/2017 10:22, Hunt, David:
>>>> From: Thomas Monjalon [mailto:thomas@monjalon.net]
>>>> 07/06/2017 16:37, David Hunt:
>>>>> Users can now use 'make defconfig' to generate a configuration using
>>>>> the most appropriate defaults for the current machine.
>>>>>
>>>>> <arch-machine-execenv-toolchain>
>>>>>     arch taken from uname -m
>>>>>     machine defaults to native
>>>>>     execenv is taken from uname, Linux=linuxapp, otherwise bsdapp
>>>>>     toolchain is taken from $CC -v to see which compiler to use
>>>>>
>>>>> Signed-off-by: David Hunt <david.hunt@intel.com>
>>>>> Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
>>>> Looks to be a good idea if it is really automatic.
>>>>
>>>>> +                ${CC} -v 2>&1 | \
>>>>> +                grep " version " | cut -d ' ' -f 1)
>>>> Unfortunately, it depends on $CC which is not commonly exported.
>>>> What about defaulting to gcc?
>>>>
>>>>> -	@echo "Configuration done"
>>>>> +	@echo "Configuration done using "$(shell basename \
>>>>> +		$(RTE_CONFIG_TEMPLATE) | sed "s/defconfig_//g")
>>>> RTE_CONFIG_TEMPLATE is not defined in this patch (and I do not see the benefit in next patch).
>>>>
>>>> Thomas,
>>>>        Does this mean that this patch is not going into this release? It has been acked for almost a month now, with no further comment. The one hour between your comment and the release of RC4 did not give me a reasonable amount of time to address your concerns. I also feel that the lack of comments in the last month should mean that the patch should be applied as is. If changes are required, I am happy to address in the next release.
>>> You're right, I'm very sorry not taking time to review it before.
>>> I think only the first patch should be integrated, without the comment for
>>> RTE_CONFIG_TEMPLATE.
>>> Opinion?
>> OK, I would be OK with the first patch. However, I think the
>> RTE_CONFIG_TEMPLATE comment part of the patch is fine, we just tested it
>> here. It's only RTE_TEMPLATE I'm introducing in the second patch, nor
>> RTE_CONFIG_TEMPLATE. That existed before this patch set. So the echo
>> command in the first patch works fine, and shows the user what template
>> the script has used to configure itself.
> Ah OK I totally missed it :)
>
>> I could upload another patch with just the first patch (and the relevant
>> 2 lines from the docs patch) as a v4?
> Yes perfect
>

Thomas,
OK, V5 sent. (v4 had 1 line missing in docs). There's just the one patch 
in the set now.
Thanks,
Dave.

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [dpdk-dev] [PATCH v5] mk: add sensible default target with defconfig
  2017-08-04 10:39             ` [dpdk-dev] [PATCH v5] " David Hunt
@ 2017-08-05  8:24               ` Thomas Monjalon
  0 siblings, 0 replies; 36+ messages in thread
From: Thomas Monjalon @ 2017-08-05  8:24 UTC (permalink / raw)
  To: David Hunt; +Cc: dev

04/08/2017 12:39, David Hunt:
> Users can now use 'make defconfig' to generate a configuration using
> the most appropriate defaults for the current machine.
> 
> <arch-machine-execenv-toolchain>
>   arch taken from uname -m
>   machine defaults to native
>   execenv is taken from uname, Linux=linuxapp, otherwise bsdapp
>   toolchain is taken from $CC -v to see which compiler to use
> 
> Signed-off-by: David Hunt <david.hunt@intel.com>
> Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
> Tested-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
> ---
[...]
> --- a/doc/build-sdk-quick.txt
> +++ b/doc/build-sdk-quick.txt
> @@ -1,7 +1,10 @@
>  Basic build
> +	make defconfig && make
> +	or
>  	make config T=x86_64-native-linuxapp-gcc && make

Nice :)

> +	@echo "Configuration done using "$(shell basename \
> +		$(RTE_CONFIG_TEMPLATE) | sed "s/defconfig_//g")

Excuse me for being pedantic with Makefile, I will avoid shell invocation:

+       @echo "Configuration done using" \
+               $(patsubst defconfig_%,%,$(notdir $(RTE_CONFIG_TEMPLATE)))


Applied with my pedantic change, thanks :)

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [dpdk-dev] [PATCH v3 3/3] doc: update build-sdk-quick txt file
  2017-06-12 12:50           ` Mcnamara, John
@ 2018-02-13 12:18             ` Ferruh Yigit
  2018-02-13 23:41               ` Thomas Monjalon
  0 siblings, 1 reply; 36+ messages in thread
From: Ferruh Yigit @ 2018-02-13 12:18 UTC (permalink / raw)
  To: Mcnamara, John, Hunt, David, dev; +Cc: thomas, shreyansh.jain

On 6/12/2017 1:50 PM, Mcnamara, John wrote:
> 
> 
>> -----Original Message-----
>> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of David Hunt
>> Sent: Wednesday, June 7, 2017 3:38 PM
>> To: dev@dpdk.org
>> Cc: thomas@monjalon.net; shreyansh.jain@nxp.com; Hunt, David
>> <david.hunt@intel.com>
>> Subject: [dpdk-dev] [PATCH v3 3/3] doc: update build-sdk-quick txt file
>>
>>   * Add in information about 'make defconfig'
>>   * Add in information about RTE_TEMPLATE environment variable
>>   * Explain the default directory for 'O=' a bit better
>>   * Clean up text alignment
>>
>> Signed-off-by: David Hunt <david.hunt@intel.com>
> 
> Acked-by: John McNamara <john.mcnamara@intel.com>

Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [dpdk-dev] [PATCH v3 3/3] doc: update build-sdk-quick txt file
  2018-02-13 12:18             ` Ferruh Yigit
@ 2018-02-13 23:41               ` Thomas Monjalon
  2018-04-11  8:44                 ` Hunt, David
  0 siblings, 1 reply; 36+ messages in thread
From: Thomas Monjalon @ 2018-02-13 23:41 UTC (permalink / raw)
  To: Ferruh Yigit, Mcnamara, John, Hunt, David; +Cc: dev, shreyansh.jain

13/02/2018 13:18, Ferruh Yigit:
> On 6/12/2017 1:50 PM, Mcnamara, John wrote:
> >> -----Original Message-----
> >> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of David Hunt
> >> Sent: Wednesday, June 7, 2017 3:38 PM
> >> To: dev@dpdk.org
> >> Cc: thomas@monjalon.net; shreyansh.jain@nxp.com; Hunt, David
> >> <david.hunt@intel.com>
> >> Subject: [dpdk-dev] [PATCH v3 3/3] doc: update build-sdk-quick txt file
> >>
> >>   * Add in information about 'make defconfig'
> >>   * Add in information about RTE_TEMPLATE environment variable
> >>   * Explain the default directory for 'O=' a bit better
> >>   * Clean up text alignment
> >>
> >> Signed-off-by: David Hunt <david.hunt@intel.com>
> > 
> > Acked-by: John McNamara <john.mcnamara@intel.com>
> 
> Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>

I made some comments in patch 2 about RTE_TEMPLATE and got no reply
(in August).

This patch is dependent on RTE_TEMPLATE.

One more nit: the indent is broken for T variable explanation.

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [dpdk-dev] [PATCH v3 3/3] doc: update build-sdk-quick txt file
  2018-02-13 23:41               ` Thomas Monjalon
@ 2018-04-11  8:44                 ` Hunt, David
  2018-04-11  8:49                   ` Thomas Monjalon
  0 siblings, 1 reply; 36+ messages in thread
From: Hunt, David @ 2018-04-11  8:44 UTC (permalink / raw)
  To: Thomas Monjalon, Ferruh Yigit, Mcnamara, John; +Cc: dev, shreyansh.jain

Hi Thomas


On 13/2/2018 11:41 PM, Thomas Monjalon wrote:
> 13/02/2018 13:18, Ferruh Yigit:
>> On 6/12/2017 1:50 PM, Mcnamara, John wrote:
>>>> -----Original Message-----
>>>> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of David Hunt
>>>> Sent: Wednesday, June 7, 2017 3:38 PM
>>>> To: dev@dpdk.org
>>>> Cc: thomas@monjalon.net; shreyansh.jain@nxp.com; Hunt, David
>>>> <david.hunt@intel.com>
>>>> Subject: [dpdk-dev] [PATCH v3 3/3] doc: update build-sdk-quick txt file
>>>>
>>>>    * Add in information about 'make defconfig'
>>>>    * Add in information about RTE_TEMPLATE environment variable
>>>>    * Explain the default directory for 'O=' a bit better
>>>>    * Clean up text alignment
>>>>
>>>> Signed-off-by: David Hunt <david.hunt@intel.com>
>>> Acked-by: John McNamara <john.mcnamara@intel.com>
>> Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
> I made some comments in patch 2 about RTE_TEMPLATE and got no reply
> (in August).

Since you correctly point out that "make install T=" is an old syntax, and
this variable only encourages this, let's drop this patch altogether.

There are two patches in patchwork relevant to this cahange, one is
the change, and the other is the docs update. There was a third part,
which was for the "make defconfig" functionality, which has already
been merged, including a portion of 25113, so both of the following
can be closed off.

http://dpdk.org/dev/patchwork/patch/25112/
http://dpdk.org/dev/patchwork/patch/25113/



> This patch is dependent on RTE_TEMPLATE.
>
> One more nit: the indent is broken for T variable explanation.

^ permalink raw reply	[flat|nested] 36+ messages in thread

* Re: [dpdk-dev] [PATCH v3 3/3] doc: update build-sdk-quick txt file
  2018-04-11  8:44                 ` Hunt, David
@ 2018-04-11  8:49                   ` Thomas Monjalon
  0 siblings, 0 replies; 36+ messages in thread
From: Thomas Monjalon @ 2018-04-11  8:49 UTC (permalink / raw)
  To: Hunt, David; +Cc: Ferruh Yigit, Mcnamara, John, dev, shreyansh.jain

11/04/2018 10:44, Hunt, David:
> On 13/2/2018 11:41 PM, Thomas Monjalon wrote:
> > I made some comments in patch 2 about RTE_TEMPLATE and got no reply
> > (in August).
> 
> Since you correctly point out that "make install T=" is an old syntax, and
> this variable only encourages this, let's drop this patch altogether.
> 
> There are two patches in patchwork relevant to this cahange, one is
> the change, and the other is the docs update. There was a third part,
> which was for the "make defconfig" functionality, which has already
> been merged, including a portion of 25113, so both of the following
> can be closed off.
> 
> http://dpdk.org/dev/patchwork/patch/25112/
> http://dpdk.org/dev/patchwork/patch/25113/

OK, thanks for the update.

^ permalink raw reply	[flat|nested] 36+ messages in thread

end of thread, other threads:[~2018-04-11  8:49 UTC | newest]

Thread overview: 36+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-23 10:28 [dpdk-dev] mk: make config enhancements David Hunt
2017-05-23 10:28 ` [dpdk-dev] [PATCH v1 1/2] mk: allow use of environment var for make config David Hunt
2017-05-23 10:28 ` [dpdk-dev] [PATCH v1 2/2] mk: add sensible default target with defconfig David Hunt
2017-05-24  6:10   ` Shreyansh Jain
2017-05-25 13:04     ` Hunt, David
2017-05-25 13:19       ` Shreyansh Jain
2017-05-26  8:52   ` [dpdk-dev] [PATCH v2 0/2] mk: make config enhancements David Hunt
2017-05-26  8:52     ` [dpdk-dev] [PATCH v2 1/2] mk: allow use of environment var for make config David Hunt
2017-06-07  8:39       ` Hunt, David
2017-06-07  9:36         ` Shreyansh Jain
2017-06-07 10:28           ` Hunt, David
2017-06-07 11:46             ` Shreyansh Jain
2017-06-07 12:07               ` Bruce Richardson
2017-06-07 14:37       ` [dpdk-dev] [PATCH v3 0/3] mk: make config enhancements David Hunt
2017-06-07 14:37         ` [dpdk-dev] [PATCH v3 1/3] mk: add sensible default target with defconfig David Hunt
2017-06-12  8:36           ` Jerin Jacob
2017-08-03 22:39           ` Thomas Monjalon
2017-08-04  8:22             ` Hunt, David
2017-08-04  9:36               ` Thomas Monjalon
2017-08-04  9:53                 ` Hunt, David
2017-08-04 10:05                   ` Thomas Monjalon
2017-08-04 10:42                     ` Hunt, David
2017-08-04 10:28           ` [dpdk-dev] [PATCH v4] " David Hunt
2017-08-04 10:39             ` [dpdk-dev] [PATCH v5] " David Hunt
2017-08-05  8:24               ` Thomas Monjalon
2017-06-07 14:37         ` [dpdk-dev] [PATCH v3 2/3] mk: allow use of environment var for template David Hunt
2017-06-12  8:37           ` Jerin Jacob
2017-08-03 22:42           ` Thomas Monjalon
2017-06-07 14:37         ` [dpdk-dev] [PATCH v3 3/3] doc: update build-sdk-quick txt file David Hunt
2017-06-12 12:50           ` Mcnamara, John
2018-02-13 12:18             ` Ferruh Yigit
2018-02-13 23:41               ` Thomas Monjalon
2018-04-11  8:44                 ` Hunt, David
2018-04-11  8:49                   ` Thomas Monjalon
2017-05-26  8:52     ` [dpdk-dev] [PATCH v2 2/2] mk: add sensible default target with defconfig David Hunt
2017-05-29  7:31     ` [dpdk-dev] [PATCH v2 0/2] mk: make config enhancements Shreyansh Jain

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).