mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-19 05:55:07 +00:00
configure: Only add -FIstdlib.h for msvc/icl if necessary
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. Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
parent
9b4b96c0de
commit
0cff125200
15
configure
vendored
15
configure
vendored
@ -3057,7 +3057,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)
|
||||
@ -3080,7 +3080,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)
|
||||
@ -4678,6 +4678,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
|
||||
|
Loading…
Reference in New Issue
Block a user