[vlc-devel] [PATCHv2] win32: build.sh: add an interactive mode

Steve Lhomme robux4 at ycbcr.xyz
Thu Apr 19 10:11:32 CEST 2018


Le 18/04/2018 à 18:39, Simon Latapie a écrit :
> Adds an option to get a shell with the right environment set to build
> VLC.
> ---
>   extras/package/win32/build.sh | 28 +++++++++++++++++++++++-----
>   1 file changed, 23 insertions(+), 5 deletions(-)
>
> diff --git a/extras/package/win32/build.sh b/extras/package/win32/build.sh
> index fac89cabb7..911f30e8b4 100755
> --- a/extras/package/win32/build.sh
> +++ b/extras/package/win32/build.sh
> @@ -25,12 +25,13 @@ OPTIONS:
>      -c            Create a Prebuilt contrib package (rarely used)
>      -l            Enable translations (can be slow)
>      -i <n|r|u>    Create an Installer (n: nightly, r: release, u: unsigned release archive)
> +   -s            Interactive shell (get correct environment variables for build)
>      -b <url>      Enable breakpad support and send crash reports to this URL
>   EOF
>   }
>   
>   ARCH="x86_64"
> -while getopts "hra:pcli:b:" OPTION
> +while getopts "hra:pcli:sb:" OPTION
>   do
>        case $OPTION in
>            h)
> @@ -56,6 +57,9 @@ do
>            i)
>                INSTALLER=$OPTARG
>            ;;
> +         s)
> +             INTERACTIVE="yes"
> +         ;;
>            b)
>                BREAKPAD=$OPTARG
>            ;;
> @@ -87,13 +91,30 @@ TRIPLET=$ARCH-w64-mingw32
>   
>   info "Building extra tools"
>   cd extras/tools
> +# bootstrap only if needed in interactive mode
> +if [ "$INTERACTIVE" != "yes" || ! -f ./Makefile ]; then
>   ./bootstrap
> +fi
>   make -j$JOBS
>   export PATH=$PWD/build/bin:$PATH
>   cd ../../
>   
> -info "Building contribs"
>   export USE_FFMPEG=1
> +export PKG_CONFIG_LIBDIR=$PWD/contrib/$TRIPLET/lib/pkgconfig
> +export PATH=$PWD/contrib/$TRIPLET/bin:$PATH
> +
> +if [ "$INTERACTIVE" = "yes" ]; then
> +if [ "x$SHELL" != "x" ]; then
> +exec $SHELL

I would have called it VLCSHELL or VLC_SHELL. This may use some unwanted 
things. It's also nicer in the environment to spot the VLC related stuff.

> +else
> +exec /bin/sh
> +fi
> +exit $?
> +fi
> +
> +info "Building contribs"
> +echo $PATH
> +
>   mkdir -p contrib/contrib-$SHORTARCH && cd contrib/contrib-$SHORTARCH
>   if [ ! -z "$BREAKPAD" ]; then
>        CONTRIBFLAGS="$CONTRIBFLAGS --enable-breakpad"
> @@ -115,9 +136,6 @@ fi
>   cd ../..
>   
>   info "Bootstrapping"
> -export PKG_CONFIG_LIBDIR=$PWD/contrib/$TRIPLET/lib/pkgconfig
> -export PATH=$PWD/contrib/$TRIPLET/bin:$PATH
> -echo $PATH
>   
>   ./bootstrap
>   



More information about the vlc-devel mailing list