On Sun, Jul 26, 2015 at 11:57 AM, Martin Storsjö <[email protected]> wrote:
> This is only necessary on MSVC 2010/2012 (and possibly on some
> ICL versions). This both avoids an extra hack on newer MSVC
> versions, and better documents what the extra compiler option
> is used for.
Good thing because setting the WINAPI_FAMILY from the command line was
setting it after including stdlib.h and thus likely including a lot of
windows stuff that are not available on WP/WinRT.
Forced includes are evil.
> ---
> configure | 15 +++++++++++++--
> 1 file changed, 13 insertions(+), 2 deletions(-)
>
> diff --git a/configure b/configure
> index 814dfbd..b67c4b5 100755
> --- a/configure
> +++ b/configure
> @@ -3062,7 +3062,7 @@ probe_cc(){
> _ld_lib='lib%.a'
> _ld_path='-libpath:'
> _flags='-nologo'
> - _cflags='-D_USE_MATH_DEFINES -D_CRT_SECURE_NO_WARNINGS
> -Dinline=__inline -FIstdlib.h -Dstrtoll=_strtoi64'
> + _cflags='-D_USE_MATH_DEFINES -D_CRT_SECURE_NO_WARNINGS
> -Dinline=__inline -Dstrtoll=_strtoi64'
> elif $_cc 2>&1 | grep -q Intel; then
> _type=icl
> _ident=$($_cc 2>&1 | head -n1)
> @@ -3085,7 +3085,7 @@ probe_cc(){
> _flags='-nologo -Qdiag-error:4044,10157'
> # -Qvec- -Qsimd- to prevent miscompilation, -GS for consistency
> # with MSVC which enables it by default.
> - _cflags='-D_USE_MATH_DEFINES -FIstdlib.h -Dstrtoll=_strtoi64 -Qms0
> -Qvec- -Qsimd- -GS'
> + _cflags='-D_USE_MATH_DEFINES -Dstrtoll=_strtoi64 -Qms0 -Qvec-
> -Qsimd- -GS'
> elif $_cc --version 2>/dev/null | grep -q ^cparser; then
> _type=cparser
> _ident=$($_cc --version | head -n1)
> @@ -4734,6 +4734,17 @@ elif enabled_any msvc icl; then
> fi
> # msvcrt10 x64 incorrectly enables log2, only msvcrt12 (MSVC 2013)
> onwards actually has log2.
> check_cpp_condition crtversion.h "_VC_CRT_MAJOR_VERSION >= 12" ||
> disable log2
> + # The CRT headers contain __declspec(restrict) in a few places, but if
> redefining
> + # restrict, this might break. MSVC 2010 and 2012 fail with
> __declspec(__restrict)
> + # (as it ends up if the restrict redefine is done before including
> stdlib.h), while
> + # MSVC 2013 and newer can handle it fine.
> + # If this declspec fails, force including stdlib.h before the restrict
> redefinition
> + # happens in config.h.
> + if [ $_restrict != restrict ]; then
> + check_cc <<EOF || add_cflags -FIstdlib.h
> +__declspec($_restrict) void* foo(int);
> +EOF
> + fi
> fi
>
> case $as_type in
> --
> 1.8.1.2
>
> _______________________________________________
> libav-devel mailing list
> [email protected]
> https://lists.libav.org/mailman/listinfo/libav-devel
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel