[FFmpeg-devel] [PATCH] Use '-' instead of '/' for rc.exe options (take 2)
Ziemowit Laski
zlaski at ziemas.net
Fri Feb 10 04:43:05 EET 2023
Second version of my patch. Please let me know if I forgot something.
--Zem
===========================================================================
When building FFMPEG in the MSYS environment under Windows, one must not use forward slashes ('/') for command-line options. It appears that the MSYS shell interprets these as absolute paths and then automatically rewrites them into equivalent Windows paths. For example, the '/nologo' switch below gets rewritten to something like 'C:/Program Files/Git/nologo', 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 | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/compat/windows/mswindres b/compat/windows/mswindres index 450525a33e..8c14c96bae 100755
--- a/compat/windows/mswindres
+++ b/compat/windows/mswindres
@@ -1,7 +1,7 @@
#!/bin/sh
if [ "$1" = "--version" ]; then
- rc.exe /?
+ rc.exe -?
exit $?
fi
@@ -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