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: bce6c42c4a
("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>
This commit is contained in:
parent
b8c835909e
commit
6ace79505d
@ -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),)
|
||||
|
Loading…
Reference in New Issue
Block a user