Re: [FFmpeg-devel] [PATCH] configure: Set MSVC as_default later.
On Sat, 16 Jan 2021, Reimar Döffinger wrote: On 15 Jan 2021, at 23:25, Martin Storsjö wrote: On Fri, 15 Jan 2021, reimar.doeffin...@gmx.de wrote: From: Reimar Döffinger It would get immediately overridden to $cc, which in case of gas-preprocessor missing would result in it trying to use cl.exe for asm files instead of erroring out. This is because cl.exe does not fail but just print a warning when it is given a file it does not know what to do with it... As this setup seems to work fine in the setups I've tried, can you think of why it's overwritten with $cc in your cases? With the line : ${as_default:=$cc} it only sets as_default to $cc if $as_default is empty. Actually after a few debug prints it’s clear what actually happens: $arch is not set at that point unless specified on command-line. Not sure if it’s reasonable to just check arch_default as fallback or such? Yeah that sounds sensible - maybe just "case ${arch-${arch_default}}" would work? You can't really do that here. Probe_cc only should set the existing set of _type/_ident/_ldflags/_cflags* etc variables, which are picked up by the caller of probe_cc. probe_cc is called separately for both host and target compilers, so if e.g. cross compiling, with MSVC as host compiler, with a different compiler for the target, this wouldn't do the right thing. Then the armcc logic in there is broken I guess? I would say so, yes - ideally that should be changed behave like the other vars like _cflags_* and picked up by caller, only for the target compiler case. // 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".
Re: [FFmpeg-devel] [PATCH] configure: Set MSVC as_default later.
> On 15 Jan 2021, at 23:25, Martin Storsjö wrote: > > On Fri, 15 Jan 2021, reimar.doeffin...@gmx.de wrote: > >> From: Reimar Döffinger >> >> It would get immediately overridden to $cc, which in case >> of gas-preprocessor missing would result in it trying >> to use cl.exe for asm files instead of erroring out. >> This is because cl.exe does not fail but just print a warning >> when it is given a file it does not know what to do with it... > > As this setup seems to work fine in the setups I've tried, can you think of > why it's overwritten with $cc in your cases? > > With the line >: ${as_default:=$cc} > it only sets as_default to $cc if $as_default is empty. Actually after a few debug prints it’s clear what actually happens: $arch is not set at that point unless specified on command-line. Not sure if it’s reasonable to just check arch_default as fallback or such? > You can't really do that here. Probe_cc only should set the existing set of > _type/_ident/_ldflags/_cflags* etc variables, which are picked up by the > caller of probe_cc. probe_cc is called separately for both host and target > compilers, so if e.g. cross compiling, with MSVC as host compiler, with a > different compiler for the target, this wouldn't do the right thing. Then the armcc logic in there is broken I guess? ___ 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".
Re: [FFmpeg-devel] [PATCH] configure: Set MSVC as_default later.
On Fri, 15 Jan 2021, reimar.doeffin...@gmx.de wrote: From: Reimar Döffinger It would get immediately overridden to $cc, which in case of gas-preprocessor missing would result in it trying to use cl.exe for asm files instead of erroring out. This is because cl.exe does not fail but just print a warning when it is given a file it does not know what to do with it... As this setup seems to work fine in the setups I've tried, can you think of why it's overwritten with $cc in your cases? With the line : ${as_default:=$cc} it only sets as_default to $cc if $as_default is empty. --- configure | 16 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/configure b/configure index 12b41cde1c..d3b665f6f9 100755 --- a/configure +++ b/configure @@ -4271,14 +4271,6 @@ case "$toolchain" in ld_default="$source_path/compat/windows/mslink" nm_default="dumpbin.exe -symbols" ar_default="lib.exe" -case "$arch" in -aarch64|arm64) -as_default="armasm64.exe" -;; -arm*) -as_default="armasm.exe" -;; -esac target_os_default="win32" # Use a relative path for TMPDIR. This makes sure all the # ffconf temp files are written with a relative path, avoiding @@ -4720,6 +4712,14 @@ probe_cc(){ _ld_path='-libpath:' elif $_cc -nologo- 2>&1 | grep -q Microsoft || { $_cc -v 2>&1 | grep -q clang && $_cc -? > /dev/null 2>&1; }; then _type=msvc +case "$arch" in +aarch64|arm64) +as_default="armasm64.exe" +;; +arm*) +as_default="armasm.exe" +;; +esac if $_cc -nologo- 2>&1 | grep -q Microsoft; then You can't really do that here. Probe_cc only should set the existing set of _type/_ident/_ldflags/_cflags* etc variables, which are picked up by the caller of probe_cc. probe_cc is called separately for both host and target compilers, so if e.g. cross compiling, with MSVC as host compiler, with a different compiler for the target, this wouldn't do the right thing. // 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".
[FFmpeg-devel] [PATCH] configure: Set MSVC as_default later.
From: Reimar Döffinger It would get immediately overridden to $cc, which in case of gas-preprocessor missing would result in it trying to use cl.exe for asm files instead of erroring out. This is because cl.exe does not fail but just print a warning when it is given a file it does not know what to do with it... --- configure | 16 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/configure b/configure index 12b41cde1c..d3b665f6f9 100755 --- a/configure +++ b/configure @@ -4271,14 +4271,6 @@ case "$toolchain" in ld_default="$source_path/compat/windows/mslink" nm_default="dumpbin.exe -symbols" ar_default="lib.exe" -case "$arch" in -aarch64|arm64) -as_default="armasm64.exe" -;; -arm*) -as_default="armasm.exe" -;; -esac target_os_default="win32" # Use a relative path for TMPDIR. This makes sure all the # ffconf temp files are written with a relative path, avoiding @@ -4720,6 +4712,14 @@ probe_cc(){ _ld_path='-libpath:' elif $_cc -nologo- 2>&1 | grep -q Microsoft || { $_cc -v 2>&1 | grep -q clang && $_cc -? > /dev/null 2>&1; }; then _type=msvc +case "$arch" in +aarch64|arm64) +as_default="armasm64.exe" +;; +arm*) +as_default="armasm.exe" +;; +esac if $_cc -nologo- 2>&1 | grep -q Microsoft; then _ident=$($_cc 2>&1 | head -n1 | tr -d '\r') else -- 2.24.3 (Apple Git-128) ___ 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".