[vlc-devel] [PATCH 4/5] configure: add an option to generate PDB files when building

Steve Lhomme robux4 at ycbcr.xyz
Fri May 17 09:01:01 CEST 2019

On 2019-05-17 8:18, Martin Storsjö wrote:
> On Fri, 17 May 2019, Steve Lhomme wrote:
>> On 2019-05-16 21:35, Martin Storsjö wrote:
>>> On Thu, 16 May 2019, Steve Lhomme wrote:
>>>> This will only be enabled when building windows targets and will 
>>>> only work when
>>>> compiling with Clang.
>>>> ---
>>>> bin/Makefile.am   |  3 +++
>>>> configure.ac      | 13 +++++++++++++
>>>> lib/Makefile.am   |  3 +++
>>>> modules/common.am |  3 +++
>>>> src/Makefile.am   |  3 +++
>>>> 5 files changed, 25 insertions(+)
>>> Thanks; this patchset is much clearer.
>>> However, if we'd go with tweaking the lld option (which is 
>>> progressing fine upstream at https://reviews.llvm.org/D62004), we 
>>> could get rid of patch 1 (the libtool patch) altogether, and get rid 
>>> of all the changes to Makefile.am here, by just adding -Wl,-pdb= to 
>>> the global LDFLAGS.
>> One of the use of the libtool feature is that it handles the .pdb 
>> cleaning with "make clean".
> That's a valid point, but I don't see that handling in the libtool patch 
> in 1/5 in the latest series? The same would be to have it go along with 
> "make install" as well.

I left "make install" out on purpose because a build might be created 
with PDB for debugging but not "installed" as such. In the case of VLC 
it doesn't matter since we repackage the exectuables for distribution 
but other projects may not do that. If we want a chance to upstream the 
libtool patch it's better that way.

"make clean" actually deletes the .libs folder, so the .pdb is included 
libtool also handles removing the previous .pdb before creating a new 
one as shown with "V=1 make":

libtool: link: rm -fr  .libs/libwdummy_plugin.dll 
.libs/libwdummy_plugin.dll.a .libs/libwdummy_plugin.dll.def 
.libs/libwdummy_plugin.exp .libs/libwdummy_plugin.la 
.libs/libwdummy_plugin.lai .libs/libwdummy_plugin.pdb

>> I'm also not sure about pathes to find the .PDB when built with WSL (I 
>> haven't tried it yet). So I prefer to put the PDB next to the DLL, in 
>> the .libs folder. And that's a libtool folder, it's unknown to the 
>> makefiles.
> Yes, with the -Wl,-pdb= feature for implicitly naming the pdb file, it 
> will go there. Libtool calls the real linker with "-o 
> .libs/myplugin.dll", and the linker would in this case make the implicit 
> pdb output name .libs/myplugin.pdb.

Indeed, in the future we can get rid of this patch, hopefully. For now I 
think it's better to keep it.

More information about the vlc-devel mailing list