summaryrefslogtreecommitdiff
path: root/mk
diff options
context:
space:
mode:
authorDavid Hunt <david.hunt@intel.com>2018-04-23 14:09:02 +0100
committerThomas Monjalon <thomas@monjalon.net>2018-04-23 22:55:36 +0200
commit6ace79505d326d05aaa3c57facca7ca8e1675b11 (patch)
treeef3e895f8f2a6e67f715f481010970e29e84f67b /mk
parentb8c835909ea2056151614780b801331eeeae5333 (diff)
downloaddpdk-6ace79505d326d05aaa3c57facca7ca8e1675b11.zip
dpdk-6ace79505d326d05aaa3c57facca7ca8e1675b11.tar.gz
dpdk-6ace79505d326d05aaa3c57facca7ca8e1675b11.tar.xz
mk: fix make defconfig on FreeBSD
On FreeBSD, make defconfig generates the config as "defconfig_x86_64-bsdapp-", which does not resolve to any known config file. On FreeBSD, we get amd64 out of "uname -m", which was not handled by the list of checks, but which now resolves to x86_64-native. Then we run '$CC --version', and use grep -o with the list of known compilers, and set to either gcc, icc or clang. Grep's '-o' option returns the matched word rather than the whole line, making the result easier to use. The remaining code in the patch then takes ${compiler}, the "uname -m" output and assembles them all together into a valid freebsd config name, i.e. "defconfig_x86_64-native-bsdapp-clang". Fixes: bce6c42c4ad5 ("mk: add sensible default target with defconfig") Cc: stable@dpdk.org Signed-off-by: David Hunt <david.hunt@intel.com> Tested-by: Anatoly Burakov <anatoly.burakov@intel.com>
Diffstat (limited to 'mk')
-rw-r--r--mk/rte.sdkconfig.mk19
1 files changed, 14 insertions, 5 deletions
diff --git a/mk/rte.sdkconfig.mk b/mk/rte.sdkconfig.mk
index 0664725..d90d62c 100644
--- a/mk/rte.sdkconfig.mk
+++ b/mk/rte.sdkconfig.mk
@@ -36,7 +36,6 @@ notemplate:
@echo "use T=template from the following list:"
@$(MAKE) -rR showconfigs | sed 's,^, ,'
-
.PHONY: defconfig
defconfig:
@$(MAKE) config T=$(shell \
@@ -47,15 +46,25 @@ defconfig:
print "arm-armv7a"} \
else if ($$0 == "ppc64") { \
print "ppc_64-power8"} \
+ else if ($$0 == "amd64") { \
+ print "x86_64-native"} \
else { \
- printf "%s-native", $$0} }')-$(shell \
+ 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)
+ print "bsdapp"} }' \
+ )-$(shell \
+ ${CC} --version | grep -o 'cc\|gcc\|icc\|clang' | awk \
+ '{ \
+ if ($$1 == "cc") { \
+ print "gcc" } \
+ else { \
+ print $$1 } \
+ }' \
+ )
.PHONY: config
ifeq ($(RTE_CONFIG_TEMPLATE),)