buildtools: fix build for some mktemp

build error:
== Build drivers/net/tap
mktemp: cannot create temp file /tmp/dpdk.auto-config-h.sh.XXX.c:
Invalid argument
.../buildtools/auto-config-h.sh: line 86: : No such file or directory
.../drivers/net/tap/Makefile:55: recipe for target
   'tap_autoconf.h.new' failed

Above error observed on Wind River Linux 8.0

`mktemp` command in that system has a restrictions to have X in
the template at the end and at least six of them.

Complied to mktemp requirements and add -xc flag to compiler to say
`temp` file is a C file

Fixes: ff37ca5d37 ("devtools: use a common prefix for temporary files")

Reported-by: Shuai Zhu <shuaix.zhu@intel.com>
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
This commit is contained in:
Ferruh Yigit 2018-10-27 01:38:15 +01:00 committed by Thomas Monjalon
parent 6e9270eab1
commit 3771edc354

View File

@ -23,7 +23,7 @@ name=${5:?define/type/function name required}
: ${CC:=cc}
temp=$(mktemp -t dpdk.${0##*/}.XXX.c)
temp=$(mktemp -t dpdk.${0##*/}.c.XXXXXX)
case $type in
define)
@ -86,7 +86,7 @@ printf "\
" "$include" "$code" > "${temp}" &&
if ${CC} ${CPPFLAGS} ${EXTRA_CPPFLAGS} ${CFLAGS} ${EXTRA_CFLAGS} \
${AUTO_CONFIG_CFLAGS} \
-c -o ${temp}.o "${temp}" 1>&${out} 2>&${err}
-xc -c -o ${temp}.o "${temp}" 1>&${out} 2>&${err}
then
rm -f "${temp}" "${temp}.o"
printf "\