configure: Test for response file support in a way that works with busybox-w32

Don't use /dev/null as test input file for the test for response
file support.

Busybox on Windows does provide POSIX utilities to the point of
being able to build and test ffmpeg, but it doesn't provide full
POSIX emulation like msys2 and cygwin do.

Busybox utils do handle paths like /dev/null themselves. But when
busybox invokes a native Windows executable (like the "$ar" tool
in this test), it passes such a path as-is. Msys2 on the other hand
rewrites unixy paths in command line parameters - even when prefixed;
e.g. "@/dev/null" gets rewritten into "@nul".

Instead of testing with a /dev/null input, test with a real temp
file instead.
This commit is contained in:
Martin Storsjö
2026-06-27 11:32:54 +00:00
parent d26ba5377d
commit 32d7e9d71e
Vendored
+3 -1
View File
@@ -5144,6 +5144,7 @@ tmpfile TMPO .o
tmpfile TMPS .S
tmpfile TMPSH .sh
tmpfile TMPV .ver
tmpfile TMPRSP .rsp
unset -f mktemp
@@ -8268,7 +8269,8 @@ esac
if [ "$response_files" != "no" ]; then
ar_out=${FFTMPDIR}/test$LIBSUF
respfile="@/dev/null"
echo > "$TMPRSP"
respfile="@$TMPRSP"
out_arg="$(echo $ar_o | sed "s;\$@;$ar_out;g")"
if test_cmd $ar $arflags $out_arg $respfile; then
response_files="yes"