[vlc-devel] [PATCH v3] package/win32: build.sh: add option to do more checks during VLC compilation

Steve Lhomme robux4 at ycbcr.xyz
Wed Mar 18 11:31:23 CET 2020


This time it's an option in the build file.

We could add an option in VLC to add these flags, so they can be tested 
in the configure script.

On 2020-03-18 11:27, Steve Lhomme wrote:
> Mismatching pointers are usually a result of using the incorrect pointer and
> might trigger crashes.
> 
> Missing initializers are useful for structures of callbacks, to make sure a new
> callback is not missing by accident. It's always possible to put NULL, on
> purpose, knowingly.
> 
> Both flags produce no error on win32/win64 with clang or gcc. But they cannot
> be set globally outside of the build script as many contribs will likely fail
> these tests and we shouldn't refuse/patch a contrib just for that.
> 
> I have been compiling with these flags for weeks without issues. It helped find
> some issue (48442d3536edae578f1a384e73346d1e2a4c0061) that were pushed
> unnoticed without these checks.
> ---
>   extras/package/win32/build.sh | 9 ++++++++-
>   1 file changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/extras/package/win32/build.sh b/extras/package/win32/build.sh
> index 08f69519b01..8901b21bbc5 100755
> --- a/extras/package/win32/build.sh
> +++ b/extras/package/win32/build.sh
> @@ -28,11 +28,12 @@ OPTIONS:
>      -s            Interactive shell (get correct environment variables for build)
>      -b <url>      Enable breakpad support and send crash reports to this URL
>      -d            Create PDB files during the build
> +   -x            Add extra checks when compiling
>   EOF
>   }
>   
>   ARCH="x86_64"
> -while getopts "hra:pcli:sb:d" OPTION
> +while getopts "hra:pcli:sb:dx" OPTION
>   do
>        case $OPTION in
>            h)
> @@ -67,6 +68,9 @@ do
>            d)
>                WITH_PDB="yes"
>            ;;
> +         x)
> +             EXTRA_CHECKS="yes"
> +         ;;
>        esac
>   done
>   shift $(($OPTIND - 1))
> @@ -223,6 +227,9 @@ fi
>   if [ ! -z "$WITH_PDB" ]; then
>       CONFIGFLAGS="$CONFIGFLAGS --enable-pdb"
>   fi
> +if [ ! -z "$EXTRA_CHECKS" ]; then
> +    CFLAGS="$CFLAGS -Werror=incompatible-pointer-types -Werror=missing-field-initializers"
> +fi
>   
>   ${SCRIPT_PATH}/configure.sh --host=$TRIPLET --with-contrib=../contrib/$TRIPLET $CONFIGFLAGS
>   
> -- 
> 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