[FFmpeg-devel] [PATCH] mswindres: Use '-' instead of '/' for rc.exe options

Ziemowit Laski zlaski at ziemas.net
Sat Feb 4 21:52:14 EET 2023


Hello Gentlefolk,

I've been bringing up FFMPEG using Visual Studio 2022 and the MINGW64 environment, and came across sundry things that absolutely needed fixes, so I thought I'd submit them as a series of small patches for you to consider.  Here is the first patch.

--Zem
===========================================================================
When building FFMPEG from the MINGW/MSYS shell under Windows, one must not use forward slashes ('/') for command-line options.  MINGW/MSYS interprets these as absolute paths and then automatically rewrites them into equivalent Windows paths.  For example, the '/logo' switch below gets rewritten to something like 'C:/Program Files/Git/logo', and this obviously breaks the build.  Thankfully, most M$ tools accept dashes ('-') as well.

Signed-off-by: Ziemowit Łąski <15880281+zlaski at users.noreply.github.com>
---
 compat/windows/mswindres | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/compat/windows/mswindres b/compat/windows/mswindres
index 450525a33e..ed32796230 100755
--- a/compat/windows/mswindres
+++ b/compat/windows/mswindres
@@ -10,12 +10,12 @@ if [ $# -lt 2 ]; then
     exit 0
 fi
 
-EXTRA_OPTS="/nologo"
+EXTRA_OPTS="-nologo"
 
 while [ $# -gt 2 ]; do
     case $1 in
-    -D*) EXTRA_OPTS="$EXTRA_OPTS /d$(echo $1 | sed -e "s/^..//" -e "s/ /\\\\ /g")" ;;
-    -I*) EXTRA_OPTS="$EXTRA_OPTS /i$(echo $1 | sed -e "s/^..//" -e "s/ /\\\\ /g")" ;;
+    -D*) EXTRA_OPTS="$EXTRA_OPTS -d$(echo $1 | sed -e "s/^..//" -e "s/ /\\\\ /g")" ;;
+    -I*) EXTRA_OPTS="$EXTRA_OPTS -i$(echo $1 | sed -e "s/^..//" -e "s/ /\\\\ /g")" ;;
     -o)  OPT_OUT="$2"; shift ;;
     esac
     shift
@@ -29,4 +29,4 @@ else
 fi
 
 eval set -- $EXTRA_OPTS
-rc.exe "$@" /fo "$OUT" "$IN"
+rc.exe "$@" -fo "$OUT" "$IN"
-- 
2.39.1.windows.1



More information about the ffmpeg-devel mailing list