[vlc-devel] [PATCH] contrib: allow using prebuilt packages when cross-compiling

Alexandre Janniaux ajanni at videolabs.io
Thu Jan 30 17:37:35 CET 2020


Hi,

On Thu, Jan 30, 2020 at 04:37:57PM +0100, Steve Lhomme wrote:
> On 2020-01-30 16:34, Alexandre Janniaux wrote:
> > Hi,
> >
> > While I want such patch as much as you want, this doesn't
> > respect the original intent of this, which is avoiding using
> > system libraries for targets when we don't want to, so it
> > should probably be enabled with an option somehow imho.
> >
> > An example of such issue would be linking some system
> > library while building for android, because you have an
> > environment alike available system-wide for other purpose,
> > and not shipping the shared object that was linked.
>
> That's a side effect of using pkg-config incorrectly (wrong
> PKG_CONFIG_LIBDIR, direct pkg-config instead of $TRIPLET-pkg-config, etc).
> When using pkg-config properly you don't need to care if you're going to hit
> system libraries while cross-compiling, because it will never find them.

But using pkg-config incorrectly leads to really time wasting
issues, especially for people who only wants to compile with
default settings and know nothing of the build system or
pkgconfig.

In the case you really want this by default, I think you should
at least add documentation and potentially a flag to disable
this behaviour.

My point of view on this is that the default shouldn't be a time
loss, thus disabled, although one could argue compiling the
contribs is time loss too.

If you have a folder aarch64-linux-android21 in your system at
the library path given, you don't want to incorrectly always
use it in VLC android builds by default and that is exactly
what this patch is doing. Although having such folder is rare
for people not knowing about pkgconfig, it can become really
confusing, and more or less force people to know about
pkgconfig.

By default in cross compilation, you don't know what will get
installed to the target in the end, except contribs. Only the
user building for the target does.

Regards,
--
Alexandre Janniaux
Videolabs


More information about the vlc-devel mailing list