PR #21636 opened by Martin Storsjö (mstorsjo) URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21636 Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21636.patch
With this in place, it's possible to build and run all tests on Windows with busybox-w32 instead of msys2. From 86589724d5df1c2d7d5ff7c79bb35a41f6187766 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= <[email protected]> Date: Wed, 3 Dec 2025 21:10:25 +0000 Subject: [PATCH 1/2] configure: Recognize uname "Windows_NT" as using an .exe suffix Busybox-w32 [1] works for building ffmpeg on Windows (as an alternative to msys2, cygwin or WSL). On busybox-w32, "uname" returns "Windows_NT"; recognize this in exesuf() as having an .exe suffix. If building in this environment with a mingw toolchain, one has to explicitly set --target-os=mingw32. (We probably don't want to imply that this uname, set as target_os_default, would default to mingw?) But despite what is set with --target-os, one can't override the configure variable "host_os", which exesuf() has to recognize. [1] https://github.com/rmyorston/busybox-w32 (cherry picked from commit 6149ceadebecc357f350a6979174dbd24f5dca28) --- configure | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure b/configure index 747cbe6f40..c931b867c5 100755 --- a/configure +++ b/configure @@ -4827,7 +4827,7 @@ fi exesuf() { case $1 in - mingw32*|mingw64*|msys*|win32|win64|cygwin*|*-dos|freedos|opendos|os/2*|symbian) echo .exe ;; + mingw32*|mingw64*|msys*|win32|win64|cygwin*|*-dos|freedos|opendos|os/2*|symbian|windows_nt) echo .exe ;; esac } -- 2.52.0 From 322ba6115410386bba35707ce5ad0d571c1f6d73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Storsj=C3=B6?= <[email protected]> Date: Wed, 3 Dec 2025 21:36:45 +0000 Subject: [PATCH 2/2] tests: Fix fate-run.sh to handle busybox-w32 absolute paths Busybox-w32 uses regular Windows style paths with drive letters, but with forward slashes; thus an absolute path starts with "c:/". Make the target_path() function in fate-run.sh (which converts a potentially relative path to an absolute one, under the target_path prefix) handle this case. With this in place, running fate tests almost works in busybox-w32 - only one issue remains. A patch [1] has been sent to upstream busybox for fixing that issue (which also is present if running fate tests on busybox on Linux), but it hasn't been responded to yet. [1] https://lists.busybox.net/pipermail/busybox/2025-December/091851.html (cherry picked from commit 06a17fdafcb3c3cd91f85b3685768d522c52286d) --- tests/fate-run.sh | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/tests/fate-run.sh b/tests/fate-run.sh index efc8b3bc6a..83abdeb6d2 100755 --- a/tests/fate-run.sh +++ b/tests/fate-run.sh @@ -43,8 +43,17 @@ esac target_path(){ - test ${1} = ${1#/} && p=${target_path}/ - echo ${p}${1} + case ${1} in + [a-zA-Z]:/*) + echo ${1} + ;; + /*) + echo ${1} + ;; + *) + echo ${target_path}/${1} + ;; + esac } # $1=value1, $2=value2, $3=threshold -- 2.52.0 _______________________________________________ ffmpeg-devel mailing list -- [email protected] To unsubscribe send an email to [email protected]
