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

Alexandre Janniaux ajanni at videolabs.io
Fri May 1 15:58:22 CEST 2020


I'll move the hook from contrib/bootstrap to the apple script,
if everyone agree.

Regards,
--
Alexandre Janniaux
Videolabs

On Wed, Apr 29, 2020 at 10:40:56PM +0200, Alexandre Janniaux wrote:
> It allows building the contrib with make directly, without needing to
> call the build script again or redefine the correct environment
> variables before.
> ---
>  contrib/bootstrap                |  9 ++++++++
>  extras/package/apple/build.sh    |  1 +
>  extras/package/apple/symbols.mak | 37 ++++++++++++++++++++++++++++++++
>  3 files changed, 47 insertions(+)
>  create mode 100644 extras/package/apple/symbols.mak
>
> diff --git a/contrib/bootstrap b/contrib/bootstrap
> index 5ed5f6f25d3..2394201e3ef 100755
> --- a/contrib/bootstrap
> +++ b/contrib/bootstrap
> @@ -258,12 +258,16 @@ test -z "$WITH_OPTIMIZATION" || add_make_enabled "WITH_OPTIMIZATION"
>  test -z "$ENABLE_PDB" || add_make_enabled "ENABLE_PDB"
>  test "`uname -o 2>/dev/null`" != "Msys" || add_make "CMAKE_GENERATOR := -G \"MSYS Makefiles\""
>
> +# Additional file used by Darwin to opt-out some function detection
> +SYMBOL_FILE=
> +
>  #
>  # Checks
>  #
>  OS="${HOST#*-}" # strip architecture
>  case "${OS}" in
>  	*-darwin*)
> +		SYMBOL_FILE="\$(TOPSRC)/../extras/package/apple/symbols.mak"
>  		if test -z "$BUILDFORIOS"
>  		then
>  			check_macosx_sdk
> @@ -358,6 +362,11 @@ TOPSRC_BUILT=$(python3 -c "import os; print(os.path.relpath('$BOOTSTRAP_PATH', '
>  add_make "TOPSRC = $TOPSRC"
>  add_make "TOPSRC_BUILT = $TOPSRC_BUILT"
>  add_make "TOPDST = .."
> +
> +if [ ! -z "${SYMBOL_FILE}" ]; then
> +add_make "include ${SYMBOL_FILE}"
> +fi
> +
>  add_make "-include config.mak"
>  add_make 'include $(TOPSRC)/src/main.mak'
>  echo "Bootstrap completed."
> diff --git a/extras/package/apple/build.sh b/extras/package/apple/build.sh
> index 35c7b87293d..8bb9ef12494 100755
> --- a/extras/package/apple/build.sh
> +++ b/extras/package/apple/build.sh
> @@ -556,6 +556,7 @@ fi
>
>  # Set symbol blacklist for autoconf
>  vlcSetSymbolEnvironment > /dev/null
> +. "${VLC_SCRIPT_DIR}/symbols.mak"
>
>  # Combine settings from config file
>  VLC_CONTRIB_OPTIONS=( "${VLC_CONTRIB_OPTIONS_BASE[@]}" )
> diff --git a/extras/package/apple/symbols.mak b/extras/package/apple/symbols.mak
> new file mode 100644
> index 00000000000..50afaefa002
> --- /dev/null
> +++ b/extras/package/apple/symbols.mak
> @@ -0,0 +1,37 @@
> +#
> +# WARNING:
> +#
> +# This file is sourced in bash scripts and included in Makefile.
> +# It must not use syntax elements other than:
> +#  - foo=bar (without spaces around = character)
> +#  - export foo
> +#  - export foo=bar
> +
> +# 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
> --
> 2.26.2
>


More information about the vlc-devel mailing list