[FFmpeg-devel] [PATCH v2] configure: add -Wl when linker is called indirectly
Kacper Michajlow
kasper93 at gmail.com
Fri Jun 27 01:09:02 EEST 2025
On Fri, 20 Jun 2025 at 01:52, Kacper Michajłow <kasper93 at gmail.com> wrote:
>
> It's possible to call linker indirectly through driver like Clang. In
> which cases linker args has to be prefixed with -Wl.
>
> Signed-off-by: Kacper Michajłow <kasper93 at gmail.com>
> ---
> configure | 6 +++++-
> 1 file changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/configure b/configure
> index c57da316cc..0dede08356 100755
> --- a/configure
> +++ b/configure
> @@ -5950,7 +5950,11 @@ case $target_os in
> SLIB_INSTALL_LINKS=
> SLIB_INSTALL_EXTRA_SHLIB='$(SLIBNAME:$(SLIBSUF)=.lib)'
> SLIB_INSTALL_EXTRA_LIB='$(SLIBNAME_WITH_MAJOR:$(SLIBSUF)=.def)'
> - SHFLAGS='-dll -def:$$(@:$(SLIBSUF)=.def) -implib:$(SUBDIR)$(SLIBNAME:$(SLIBSUF)=.lib)'
> + if test $ld_type = "clang"; then
> + SHFLAGS='-Wl,-dll -Wl,-def:$$(@:$(SLIBSUF)=.def) -Wl,-implib:$(SUBDIR)$(SLIBNAME:$(SLIBSUF)=.lib)'
> + else
> + SHFLAGS='-dll -def:$$(@:$(SLIBSUF)=.def) -implib:$(SUBDIR)$(SLIBNAME:$(SLIBSUF)=.lib)'
> + fi
> enabled x86_64 && objformat="win64" || objformat="win32"
> ranlib=:
> enable dos_paths
> --
> 2.45.1
>
Those two patches fixes those two FATE builds:
https://fate.ffmpeg.org/report.cgi?time=20250626214340&slot=amd64-clang-msvc
https://fate.ffmpeg.org/report.cgi?time=20250626214403&slot=amd64-clang-msvc-shared
SHFLAGS should really be safe as it is restricted to clang case only.
As for renaming static libs to .lib, I don't see a better way to just
rip the bandaid off. I understand it may require some small renaming
update for some users, but it keeps configure consistent with
expectations of llvm toolchain and generic Windows naming.
Thanks,
Kacper
More information about the ffmpeg-devel
mailing list