[vlc-devel] [PATCH 1/2] package: macosx: forward ac_cv symbols to $@

Alexandre Janniaux ajanni at videolabs.io
Sun Feb 21 12:22:27 UTC 2021


Hi,

On Sun, Feb 21, 2021 at 07:58:59AM +0100, david.fuhrmann at gmail.com wrote:
>
>
> > Am 20.02.2021 um 10:21 schrieb Alexandre Janniaux <ajanni at videolabs.io>:
> >
> > configure will store the command used when reconfiguring as long as the
> > ac_cv_ variables are passed as parameter to the configure execution
> > instead of being an environment variable.
> >
> > So as to stay compatible with other clients of this script, use export
> > as default command when no argument is given to keep the previous
> > behaviour.
> > ---
> > extras/package/macosx/env.build.sh | 54 +++++++++++++++++-------------
> > 1 file changed, 30 insertions(+), 24 deletions(-)
> >
> > diff --git a/extras/package/macosx/env.build.sh b/extras/package/macosx/env.build.sh
> > index ef1316465a..fd2f219a29 100755
> > --- a/extras/package/macosx/env.build.sh
> > +++ b/extras/package/macosx/env.build.sh
> > @@ -77,36 +77,42 @@ vlcSetBaseEnvironment() {
> > }
> >
> > vlcSetSymbolEnvironment() {
> > +    ARGS=( "$@" )
> > +    if [ "$#" -lt 2 ]; then
> > +        ARGS+=( export )
> > +    fi
>
> Hi, I do not really understand this logic here: why do you care about the arguments of the overall bash script when you are constructing the export line below?
>
> I think you should rather use a local parameter for this function to decide whether to use export or not. Or just return the list below here, and take care about export or no export in a different place...
>

This patch is wrong as-is (ARGS not used, -lt 2 should be -lt 1),
I'll send a fixed version later with more comments.

The logic behind ARGS is just to keep the previous behaviour right,
it can be removed later once every callsite would have been fixed.
This is because I didn't test on macosx, and to be fair I tested on
iOS but probably completely messed up the actual testing since it
wouldn't even work, I'm not sure how it resulted in a correct build
back then.

The core idea of this change is to not use export anymore, and be
sure the configuration we are using is kept for later build, mostly
because I usually use make to build and it breaks when there is a
reconf and some files depending on the function where the detection
is overriden here is recompiled. As a side-effect, since I've
integrated the current buildsystem in some XCode project generation
tool, which will be using make, it prevents compilation from this
XCode project to fail randomly when it triggers a reconfiguration.

I hope this is clearer.


> >     echo "Setting symbol environment"
> >
> >     # The following symbols do not exist on the minimal macOS / iOS, so they are disabled
> >     # here. This allows compilation also with newer macOS SDKs.
> >     # List assumes macOS 10.10 / iOS 8 at minimum.
> >
> > -    # Added symbols in macOS 10.12 / iOS 10 / watchOS 3
> > -    export ac_cv_func_basename_r=no
> > -    export ac_cv_func_clock_getres=no
> > -    export ac_cv_func_clock_gettime=no
> > -    export ac_cv_func_clock_settime=no
> > -    export ac_cv_func_dirname_r=no
> > -    export ac_cv_func_getentropy=no
> > -    export ac_cv_func_mkostemp=no
> > -    export ac_cv_func_mkostemps=no
> > -    export ac_cv_func_timingsafe_bcmp=no
> > -
> > -    # Added symbols in macOS 10.13 / iOS 11 / watchOS 4 / tvOS 11
> > -    export ac_cv_func_open_wmemstream=no
> > -    export ac_cv_func_fmemopen=no
> > -    export ac_cv_func_open_memstream=no
> > -    export ac_cv_func_futimens=no
> > -    export ac_cv_func_utimensat=no
> > -
> > -    # Added symbol in macOS 10.14 / iOS 12 / tvOS 9
> > -    export ac_cv_func_thread_get_register_pointer_values=no
> > -
> > -    # Added symbols in macOS 10.15 / iOS 13 / tvOS 13
> > -    export ac_cv_func_aligned_alloc=no
> > -    export ac_cv_func_timespec_get=no
> > +    # - Added symbols in macOS 10.12 / iOS 10 / watchOS 3
> > +    # - Added symbols in macOS 10.13 / iOS 11 / watchOS 4 / tvOS 11
> > +    # - Added symbol in macOS 10.14 / iOS 12 / tvOS 9
> > +    # - Added symbols in macOS 10.15 / iOS 13 / tvOS 13
> > +    "$@" \
> > +    \
> > +    ac_cv_func_basename_r=no \
> > +    ac_cv_func_clock_getres=no \
> > +    ac_cv_func_clock_gettime=no \
> > +    ac_cv_func_clock_settime=no \
> > +    ac_cv_func_dirname_r=no \
> > +    ac_cv_func_getentropy=no \
> > +    ac_cv_func_mkostemp=no \
> > +    ac_cv_func_mkostemps=no \
> > +    ac_cv_func_timingsafe_bcmp=no \
> > +    \
> > +    ac_cv_func_open_wmemstream=no \
> > +    ac_cv_func_fmemopen=no \
> > +    ac_cv_func_open_memstream=no \
> > +    ac_cv_func_futimens=no \
> > +    ac_cv_func_utimensat=no \
> > +    \
> > +    ac_cv_func_thread_get_register_pointer_values=no \
> > +    \
> > +    ac_cv_func_aligned_alloc=no \
> > +    ac_cv_func_timespec_get=no
> > }
> >
> > vlcSetContribEnvironment() {
> > --
> > 2.28.0
> >
> > _______________________________________________
> > vlc-devel mailing list
> > To unsubscribe or modify your subscription options:
> > https://mailman.videolan.org/listinfo/vlc-devel
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel


More information about the vlc-devel mailing list