From f8d6d0fbf12b3247a37885cd0a5cd32ddc1f01b3 Mon Sep 17 00:00:00 2001 From: Ziemowit Laski Date: Fri, 10 Feb 2023 02:43:05 +0000 Subject: [PATCH] compat: Use '-' instead of '/' for rc.exe options MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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@users.noreply.github.com> Signed-off-by: Martin Storsjö --- 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"