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: ff37ca5d3773 ("devtools: use a common prefix for temporary files")

Reported-by: Shuai Zhu <shuaix....@intel.com>
Signed-off-by: Ferruh Yigit <ferruh.yi...@intel.com>
---
v2:
* keep using mktemp, add -xc to compiler
---
 buildtools/auto-config-h.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/buildtools/auto-config-h.sh b/buildtools/auto-config-h.sh
index 6130429eb..5b613c35f 100755
--- a/buildtools/auto-config-h.sh
+++ b/buildtools/auto-config-h.sh
@@ -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 "\
-- 
2.17.2

Reply via email to