[vlc-devel] [PATCH] package/win32: use VLC_DEPLOYMENT_TARGET_CFLAGS environment variable to pass CFLAGS
Steve Lhomme
robux4 at ycbcr.xyz
Wed Dec 11 15:33:42 CET 2019
And here is the environment I use to build with PDBs:
VLC_DEPLOYMENT_TARGET_CFLAGS="-O0 -fdebug-prefix-map='/mnt/c/'='c:/'
-Werror=incompatible-pointer-types -Werror=partial-availability
-Werror=invalid-command-line-argument"
VLC_DEPLOYMENT_TARGET_CXXFLAGS="-O0 -fdebug-prefix-map='/mnt/c/'='c:/'
-Werror=incompatible-pointer-types -Werror=partial-availability
-Werror=invalid-command-line-argument"
On 2019-12-11 15:28, Steve Lhomme wrote:
> This is similar to a patch I already submitted. I cleaned up a bit and
> also use the environment variables to set the CFLAGS/CXXFLAGS when
> building VLC, since we can't put anything in CFLAGS/CXXFLAGS.
>
> I added -Werror=missing-field-initializers when building VLC to spot
> errors when some structure changes but the fields are not updated
> accordingly (saved me a few times). It kinda works with contribs, but we
> don't want to refuse a config if it doesn't build with this flag.
>
> On 2019-12-11 15:24, Steve Lhomme wrote:
>> So that Meson doesn't try to pick them.
>>
>> Similar to 5c76f3478cb038a550de21f6267d57c55c963391 on macos.
>> ---
>> extras/package/win32/build.sh | 37 ++++++++++++++++++++++++++++++++++-
>> 1 file changed, 36 insertions(+), 1 deletion(-)
>>
>> diff --git a/extras/package/win32/build.sh
>> b/extras/package/win32/build.sh
>> index 9607fcfe058..96c567743f9 100755
>> --- a/extras/package/win32/build.sh
>> +++ b/extras/package/win32/build.sh
>> @@ -106,6 +106,34 @@ else
>> COMPILING_WITH_CLANG=0
>> fi
>> +# Write config.mak for contribs
>> +# Globals:
>> +# VLC_DEPLOYMENT_TARGET_CFLAGS
>> +# VLC_DEPLOYMENT_TARGET_CXXFLAGS
>> +# VLC_DEPLOYMENT_TARGET_LDFLAGS
>> +write_config_mak()
>> +{
>> + # Flags to be used for C-like compilers (C, C++, Obj-C)
>> + local clike_flags="$VLC_DEPLOYMENT_TARGET_CFLAGS"
>> +
>> + # local vlc_cppflags="-arch $ARCH"
>> + local vlc_cflags="$clike_flags"
>> + local vlc_cxxflags="$VLC_DEPLOYMENT_TARGET_CXXFLAGS $clike_flags"
>> + local vlc_objcflags="$clike_flags"
>> +
>> + local vlc_ldflags="$VLC_DEPLOYMENT_TARGET_LDFLAGS"
>> +
>> + echo "Creating makefile..."
>> + test -e config.mak && unlink config.mak
>> + exec 3>config.mak || return $?
>> +
>> + printf '# This file was automatically generated!\n\n' >&3
>> + printf '%s := %s\n' "CFLAGS" "${vlc_cflags}" >&3
>> + printf '%s := %s\n' "CXXFLAGS" "${vlc_cxxflags}" >&3
>> + printf '%s := %s\n' "OBJCFLAGS" "${vlc_objcflags}" >&3
>> + printf '%s := %s\n' "LDFLAGS" "${vlc_ldflags}" >&3
>> +}
>> +
>> info "Building extra tools"
>> mkdir -p extras/tools
>> cd extras/tools
>> @@ -147,6 +175,11 @@ fi
>> if [ "$RELEASE" != "yes" ]; then
>> CONTRIBFLAGS="$CONTRIBFLAGS --disable-optim"
>> fi
>> +
>> +# Write config.mak with flags for the build and compiler overrides
>> +# Set flag to error on partial availability
>> +write_config_mak
>> +
>> ${SCRIPT_PATH}/../../../contrib/bootstrap --host=$TRIPLET $CONTRIBFLAGS
>> # Rebuild the contribs or use the prebuilt ones
>> @@ -190,7 +223,9 @@ if [ ! -z "$WITH_PDB" ]; then
>> CONFIGFLAGS="$CONFIGFLAGS --enable-pdb"
>> fi
>> -${SCRIPT_PATH}/configure.sh --host=$TRIPLET
>> --with-contrib=../contrib/$TRIPLET $CONFIGFLAGS
>> +${SCRIPT_PATH}/configure.sh --host=$TRIPLET
>> --with-contrib=../contrib/$TRIPLET $CONFIGFLAGS \
>> + CFLAGS="$VLC_DEPLOYMENT_TARGET_CFLAGS
>> -Werror=missing-field-initializers" \
>> + CXXFLAGS="$VLC_DEPLOYMENT_TARGET_CXXFLAGS
>> -Werror=missing-field-initializers"
>> info "Compiling"
>> make -j$JOBS
>> --
>> 2.17.1
>>
>> _______________________________________________
>> 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