[vlc-devel] [RFC] Merging extras/tools & contribs

Hugo Beauzée-Luyssen hugo at beauzee.fr
Fri Feb 8 11:26:53 CET 2019


A few words of context: we (well, Pierre) started looking into using qmlcachegen to pre-compile our QML files. It works nicely on linux, but things get trickier when cross compiling. The tool is in a separate Qt package (qtdeclarative), and requires Qt to be built (or at least a minimal subset of it, ie. QtBootstrap)
Said tool will therefor look for installed Qt bits in the contribs $prefix, which also contains (or is likely to contain) an install of winpthreads, and therefor a pthread.h. The fun begins when the tool tries to use pthread.h assuming it's a regular linux pthread implementation, but ends up using the winpthread's one.

TL;DR: Mixing native build & cross compilation in the same folders is not a good idea and will cause pain, if it hasn't already (hint: it already has)

There are various solutions to the specific problem. We could also build the Qt tools in extras/tools but it feels wrong to download Qt twice, and I think there are various features from the contribs buildsystem which would be a welcome improvement when building tools (noticeably the ability of handling dependencies), and a cleaner code with better split between various packages.
There might be some workarounds for this specific issue (#include_next, building qt first, but that option is definitely not future proof and won't work when rebuilding some contribs at a later point).

IMO, the best option is to support building native tools from the contribs. The exact plan is not clearly defined yet, but I'd like to have your opinion first, before starting to tackle this.

Opinion, ideas and comments are welcome :)


  Hugo Beauzée-Luyssen
  hugo at beauzee.fr

More information about the vlc-devel mailing list