[vlc-devel] [PATCH 5/5] win32: package: install generated .pdb files with package-win-common

Martin Storsjö martin at martin.st
Thu May 16 11:18:02 CEST 2019


On Thu, 16 May 2019, Martin Storsjö wrote:

> On Thu, 16 May 2019, Steve Lhomme wrote:
>
>> ---
>> extras/package/win32/package.mak | 11 +++++++++++
>> 1 file changed, 11 insertions(+)
>>
>> diff --git a/extras/package/win32/package.mak 
> b/extras/package/win32/package.mak
>> index 0d7e57bde6..54eabae64d 100644
>> --- a/extras/package/win32/package.mak
>> +++ b/extras/package/win32/package.mak
>> @@ -40,6 +40,11 @@ package-win-sdk: package-win-install
>> package-win-common: package-win-install package-win-sdk
>> # Executables, major libs
>> 	find $(prefix) -maxdepth 4 \( -name "*$(LIBEXT)" -o -name 
> "*$(EXEEXT)" \) -exec cp {} "$(win32_destdir)/" \;
>> +if HAVE_PDB
>> +	for dir in bin lib src; do \
>> +	  cp $$dir/.libs/*.pdb $(win32_destdir); \
>> +	done
>> +endif
>> 
>> # Text files, clean them from mail addresses
>> 	for file in AUTHORS THANKS ; \
>> @@ -55,6 +60,12 @@ package-win-common: package-win-install package-win-sdk
>> 		mkdir -p "$$plugin_destdir"; \
>> 		find "$$plugindir" -type f \( -not -name '*.la' -and -not 
> -name '*.a' \) -exec cp -v "{}" "$$plugin_destdir" \; ;\
>> 	done
>> +if HAVE_PDB
>> +	for plugindir in $(prefix)/lib/vlc/plugins/*/; do \
>> +		plugin_destdir="$(win32_destdir)/plugins/`basename 
> $$plugindir`"; \
>> +		for plugin in $$(find "$$plugindir" -type f \( -not -name 
> '*.la' -and -not -name '*.a' \)); do cp modules/.libs/$$(basename "$$plugin" 
> | sed s/dll/pdb/) "$$plugin_destdir"; done; \
>> +	done
>> +endif
>
> This patch seems confused. The produced pdb files are not in the .libs 
> subdir, but directly in the normal directory (next to the .la files).
>
> When building with these patches, building fails at the install stage as 
> the "cp $$dir/.libs/*.pdb" command fails as there is no such file.
>
> If you want them to be placed in the .libs subdir (to make running in the 
> build tree easier), then you'd need to change patch 4/5 to place the 
> output pdb in the .libs subdir instead.

Sorry, now I see, your libtool patch does this (I didn't try that one as I 
thought it was only necessary for the --generate-pdb option).

I guess it's tolerable then.

I would have preferred to patch libtool less (yes, we require a few 
libtool patches in general, but the fewer the better; and the existing 
ones that I added are at least "upstreamed" to msys2) and keep the extra 
pdb specific logic in the vlc makefile. But I agree it's cleaner to have 
all the handling of the .libs subdir in libtool, consistently.

// Martin


More information about the vlc-devel mailing list