[vlc-devel] [PATCH] contrib: allow building contribs out of the source tree

Steve Lhomme robux4 at ycbcr.xyz
Fri Jun 14 16:27:33 CEST 2019


Compared to the previous version, the pathes are relative, so existing 
environment will produce exactly the same Makefile.

python is used to get the relative path. We already require it for meson.

On 2019-06-14 16:25, Steve Lhomme wrote:
> The resulting contrib can be used via --with-contrib in the configure script.
> 
> The local Makefile to build contribs is now specific to the build folder.
> ---
>   contrib/bootstrap | 20 ++++++++++----------
>   1 file changed, 10 insertions(+), 10 deletions(-)
> 
> diff --git a/contrib/bootstrap b/contrib/bootstrap
> index 7ad8b33c67..eff9787465 100755
> --- a/contrib/bootstrap
> +++ b/contrib/bootstrap
> @@ -52,12 +52,6 @@ AD_CLAUSES=
>   WITH_OPTIMIZATION="1"
>   ENABLE_PDB=
>   
> -if test ! -f "../../contrib/src/main.mak"
> -then
> -	echo "$0 must be run from a subdirectory"
> -	exit 1
> -fi
> -
>   while test -n "$1"
>   do
>   	case "$1" in
> @@ -382,10 +376,16 @@ esac
>   #
>   # Results output
>   #
> -add_make "TOPSRC = .."
> -add_make "TOPSRC_BUILT = ../.."
> -add_make "TOPDST = .."
> +BOOTSTRAP_PATH="$( cd "$(dirname "$0")" ; pwd -P )"
> +CURRENT_PATH="$( pwd -P )"
> +# location of the contrib/src folder from the root of the contrib build folder
> +TOPSRC=$(python -c "import os; print(os.path.relpath('$BOOTSTRAP_PATH', '$CURRENT_PATH'))")
> +# location of the contrib/src folder from a built library folder
> +TOPSRC_BUILT=$(python -c "import os; print(os.path.relpath('$BOOTSTRAP_PATH', '$CURRENT_PATH/libfoo'))")
> +add_make "TOPSRC = $TOPSRC"
> +add_make "TOPSRC_BUILT = $TOPSRC_BUILT"
> +add_make "TOPDST = ."
>   add_make 'include $(TOPSRC)/src/main.mak'
>   echo "Bootstrap completed."
>   make help
> -mkdir -p ../../contrib/tarballs || exit $?
> +mkdir -p $BOOTSTRAP_PATH/tarballs || exit $?
> -- 
> 2.17.1
> 
> _______________________________________________
> 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