Hi,

On Sat, 4 Feb 2023, Ziemowit Laski wrote:

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.

FWIW, this setup is definitely being used by lots of others already - so whenever there's such an issue, the main question to ask is why others haven't run into the issue before. But improvements are definitely welcome!

For this patch, the answer to that question is that configure has a test, which checks if "$windres --version" works, and if not, it doesn't try to use the tool. So in many cases, the mswindres hasn't been used at all.

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

You should probably talk about the option '/nologo' here, there's no '/logo' option afaik.

obviously breaks the build. Thankfully, most M$ tools accept dashes ('-') as well.

Signed-off-by: Ziemowit Łąski <15880281+zla...@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"

These changes seem fine, but you're apparently not touching the case at the top, used for --version, where it is calling 'rc.exe /?'. For me, this causes configure to decide to not use the tool at all. (It seems like current msys2 rewrites "rc.exe /?" so that it fails, while git bash doesn't rewrite it in that way, so that "rc.exe /?" works there.)

So I guess that's the explanation for the issue you're seeing - you're running in an environment where the "rc.exe /?" check succeeds (so the tool is taken into use, unlike it is for me), but then failed at actual use. While it for me, building in msys2, didn't try to use the tool at all. (And in cross-msvc builds, it enabled and used the tool just fine.)

Anyway, with the commit message fixed, and the case of /? changed into -?, this patch would seem fine to me - thanks for your contribution!

// Martin
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to