[vlc-devel] [PATCH] package: win32: Don't use linker script for import libraries
Steve Lhomme
robux4 at ycbcr.xyz
Wed Oct 9 11:39:35 CEST 2019
Aren't these .lib compatible with MSVC ? Meaning a program built in MSVC
could link to libvlc even if VLC was not built with it.
On 2019-10-09 10:50, Martin Storsjö wrote:
> Previously, the original linker generated import libraries were
> copied into the lib directory with names "libvlc.lib" and
> "libvlccore.lib", only to be overwritten by dlltool in the next
> step.
>
> The duplication appeared in ab72243a1f1; before that, the files
> were copied keeping their original names.
>
> Later, 4ab7dfbf8fc added import libraries containing only linker
> script, with names vlc.lib and vlccore.lib (which are picked up by
> GNU ld but are an uncommon naming pattern for mingw libraries), as
> a convenience for mingw toolchains, being able to only specify
> -lvlc -lvlccore.
>
> Instead of providing libraries (with the intention of being used
> by mingw tools) with the more foreign (to mingw) names "vlc.lib"
> and "vlccore.lib", name them "libvlc.dll.a" and "libvlccore.dll.a",
> and make them a copy of the dlltool generated import library instead
> of being a linker script (for compatibility with lld).
> ---
> We could also just keep them named "vlc.lib"/"vlccore.lib", but I don't
> see the point in that, if they are only there for the purpose of being
> found and used by mingw tools.
> ---
> extras/package/win32/package.mak | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/extras/package/win32/package.mak b/extras/package/win32/package.mak
> index 1ce3d8c58f..e31dad9e19 100644
> --- a/extras/package/win32/package.mak
> +++ b/extras/package/win32/package.mak
> @@ -29,12 +29,10 @@ package-win-sdk: package-win-install
> mkdir -p "$(win32_destdir)/sdk/lib/"
> cp -r $(prefix)/include "$(win32_destdir)/sdk"
> cp -r $(prefix)/lib/pkgconfig "$(win32_destdir)/sdk/lib"
> - cp -rv $(prefix)/lib/libvlc.dll.a "$(win32_destdir)/sdk/lib/libvlc.lib"
> - cp -rv $(prefix)/lib/libvlccore.dll.a "$(win32_destdir)/sdk/lib/libvlccore.lib"
> $(DLLTOOL) -D libvlc.dll -l "$(win32_destdir)/sdk/lib/libvlc.lib" -d "$(top_builddir)/lib/.libs/libvlc.dll.def"
> - echo "INPUT(libvlc.lib)" > "$(win32_destdir)/sdk/lib/vlc.lib"
> + cp -rv "$(win32_destdir)/sdk/lib/libvlc.lib" "$(win32_destdir)/sdk/lib/libvlc.dll.a"
> $(DLLTOOL) -D libvlccore.dll -l "$(win32_destdir)/sdk/lib/libvlccore.lib" -d "$(top_builddir)/src/.libs/libvlccore.dll.def"
> - echo "INPUT(libvlccore.lib)" > "$(win32_destdir)/sdk/lib/vlccore.lib"
> + cp -rv "$(win32_destdir)/sdk/lib/libvlccore.lib" "$(win32_destdir)/sdk/lib/libvlccore.dll.a"
>
> package-win-common: package-win-install package-win-sdk
> # Executables, major libs
> --
> 2.17.1
>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
>
More information about the vlc-devel
mailing list