mk: fix printing target name when build completes

Message ID 20190604092127.25000-2-kkanas@marvell.com
State Rejected, archived
Delegated to: Thomas Monjalon
Headers show
Series
  • mk: fix printing target name when build completes
Related show

Checks

Context Check Description
ci/Intel-compilation fail Compilation issues
ci/mellanox-Performance-Testing success Performance Testing PASS
ci/intel-Performance-Testing success Performance Testing PASS
ci/checkpatch success coding style OK

Commit Message

Krzysztof Kanas June 4, 2019, 9:21 a.m.
From: Krzysztof Kanas <kkanas@marvell.com>

The configuration for native-linux-* targets is done using symbolic
links, e.g
config/defconfig_x86_64-native-linux-gcc
which points to
config/defconfig_x86_64-native-linuxapp-gcc.

When configuring mk will output correct target based on
RTE_CONFIG_TEMPLATE.

When building mk will use RTE_TARGET variable which is crated out of
CONFIG_RTE_EXEC_ENV, and will be different from configuration

Fix by setting CONFIG_RTE_EXEC_ENV to record correct value, also adjust
makefile tests for CONFIG_RTE_EXEC_ENV.

Bugzilla ID: 288
Fixes: b283164694b6 ("mk: print target when reporting build complete")
Cc: bruce.richardson@intel.com
Cc: jasvinder.singh@intel.com

Signed-off-by: Krzysztof Kanas <kkanas@marvell.com>
---
 config/defconfig_x86_64-native-linuxapp-gcc | 1 +
 drivers/net/softnic/Makefile                | 2 +-
 mk/rte.sdkbuild.mk                          | 2 +-
 3 files changed, 3 insertions(+), 2 deletions(-)

Comments

Thomas Monjalon July 30, 2019, 9:35 p.m. | #1
04/06/2019 11:21, kkanas@marvell.com:
> --- a/config/defconfig_x86_64-native-linuxapp-gcc
> +++ b/config/defconfig_x86_64-native-linuxapp-gcc
> +CONFIG_RTE_EXEC_ENV="linux"

Why do you do this change in this file?

I think changing this variable can break backward compatibility.
Bruce Richardson July 31, 2019, 8:29 a.m. | #2
On Tue, Jul 30, 2019 at 11:35:52PM +0200, Thomas Monjalon wrote:
> 04/06/2019 11:21, kkanas@marvell.com:
> > --- a/config/defconfig_x86_64-native-linuxapp-gcc
> > +++ b/config/defconfig_x86_64-native-linuxapp-gcc
> > +CONFIG_RTE_EXEC_ENV="linux"
> 
> Why do you do this change in this file?
> 
> I think changing this variable can break backward compatibility.
> 
I think it will, which is why I did not change it back in the original set.
In terms of incorrect printouts, what actually needs to be done to fix this
is to record the original $T value requested when doing the "make config"
or "make install T=" command. For the make install case, we can just print
$T at the end, but for the case where "make config" and "make" are run
separately, some new value would need to be added to the .config file.

Regards,
/Bruce

Patch

diff --git a/config/defconfig_x86_64-native-linuxapp-gcc b/config/defconfig_x86_64-native-linuxapp-gcc
index db67066a57e3..b1f584427f1d 100644
--- a/config/defconfig_x86_64-native-linuxapp-gcc
+++ b/config/defconfig_x86_64-native-linuxapp-gcc
@@ -4,6 +4,7 @@ 
 #include "common_linux"
 
 CONFIG_RTE_MACHINE="native"
+CONFIG_RTE_EXEC_ENV="linux"
 
 CONFIG_RTE_ARCH="x86_64"
 CONFIG_RTE_ARCH_X86_64=y
diff --git a/drivers/net/softnic/Makefile b/drivers/net/softnic/Makefile
index 64885dd86aeb..29a6af7bb75e 100644
--- a/drivers/net/softnic/Makefile
+++ b/drivers/net/softnic/Makefile
@@ -45,7 +45,7 @@  SRCS-$(CONFIG_RTE_LIBRTE_PMD_SOFTNIC) += conn.c
 #
 SYMLINK-y-include += rte_eth_softnic.h
 
-ifneq ($(CONFIG_RTE_EXEC_ENV),"linuxapp")
+ifneq ($(patsubst "linux%","linux",$(CONFIG_RTE_EXEC_ENV)),"linux")
 $(info Softnic PMD can only operate in a linux environment, \
 please change the definition of the RTE_TARGET environment variable)
 all:
diff --git a/mk/rte.sdkbuild.mk b/mk/rte.sdkbuild.mk
index b512de1ecdf3..8bb0f52bb343 100644
--- a/mk/rte.sdkbuild.mk
+++ b/mk/rte.sdkbuild.mk
@@ -27,7 +27,7 @@  CLEANDIRS = $(addsuffix _clean,$(ROOTDIRS-y) $(ROOTDIRS-n) $(ROOTDIRS-))
 
 .PHONY: build
 build: $(ROOTDIRS-y)
-	@echo "Build complete [$(RTE_TARGET)]"
+	@echo "Build complete [$(patsubst defconfig_%,%,$(notdir $(RTE_CONFIG_TEMPLATE)))]"
 
 .PHONY: clean
 clean: $(CLEANDIRS)