[vlc-devel] [PATCH v2 13/17] contrib: use makefile instead of environment variable

Alexandre Janniaux ajanni at videolabs.io
Thu Apr 30 12:02:41 CEST 2020


On Thu, Apr 30, 2020 at 12:38:02PM +0300, Martin Storsjö wrote:
> On Thu, 30 Apr 2020, Alexandre Janniaux wrote:
> > I'll rephrase the long commit message as follow locally:
> >
> > ```
> > MacOSX builds and iOS builds need fixups for the autoconf function
> > lookup as functions might be available with newer SDK but not available
> > with the target SDK currently supported, and autoconf doesn't detect
> > that correctly. These fixups are made through environment variables
> > declared in extras/package/macosx/env.build.sh. They are also needed
> > both for contribs and VLC itself.
> >
> > As long as reconfiguration doesn't happen, it is possible to compile
> > VLC using make without sourcing the script. However the contribs are
> > not storing those exports and might fail during the middle of build
> > if the sourcing has been forgotten.
> >
> > This patch allows building the contrib with make directly, without
> > needing to call the build script again or redefine the correct
> > environment variables before.
> > ```
> Thanks, that clarifies things a bit more.
> From looking at the patch - it adds a new copy of these autotools overrides
> - but with them in place here, could the old ones be removed? (That makes
> the patch much easier to read for a casual observer like me - "move hack
> from place X to Y" - instead of something that looks like a completely new
> hack.) :-)

I can add the code move for macosx, but I didn't want to
change both MacOSX and apple build scripts at the same time,
especially since I cannot compile for MacOSX yet on my linux
because of build script issues.

I expected the change in extras/package/apple/build.sh to be
enough to understand but just realised right now that it was
missing the line deletion:

 vlcSetSymbolEnvironment > /dev/null
+. "${VLC_SCRIPT_DIR}/symbols.mak"

should have been

-vlcSetSymbolEnvironment > /dev/null
+. "${VLC_SCRIPT_DIR}/symbols.mak"

The sourcing of env.build.sh could then be removed after
usage of vlcGetRootDir is removed but I didn't investigate
why it was needed to follow symlinks and such and who is
using this feature.

That being fixed, I'll also try moving the macosx part and
test it to clarify this patch.

> > I didn't go further for having better autoconf integration as we
> > plan to move VLC to meson. I consider that the build script is
> > enough since it forces a new configuration.
> While VLC itself would be moved to meson, I wouldn't think the configure
> build would be migrated to that yet - and this patch is about contribs
> right?

Yes, absolutely for both points, but for the configure script
this is a preexisting issue and I usually go by the build
script, but sometimes I want to add and test new contribs and
this is where this patch comes handy. In addition, some people
on IRC sometimes request help on some contribs and not taking
into account this difference with Linux contribs waste a lot
of time.

I hope the intent is clearer,

Alexandre Janniaux

More information about the vlc-devel mailing list