[FFmpeg-devel] [PATCH] configure: Set MSVC as_default later.
Martin Storsjö
martin at martin.st
Sat Jan 16 00:25:07 EET 2021
On Fri, 15 Jan 2021, Reimar.Doeffinger at gmx.de wrote:
> From: Reimar Döffinger <Reimar.Doeffinger at gmx.de>
>
> 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
More information about the ffmpeg-devel
mailing list