makefiles: Use -fshort-wchar when building with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
40a76a212b
commit
945efdb6f3
|
@ -42,7 +42,7 @@ CPPFLAGS = @CPPFLAGS@
|
||||||
CROSSCFLAGS = @CROSSCFLAGS@
|
CROSSCFLAGS = @CROSSCFLAGS@
|
||||||
EXTRACFLAGS = @EXTRACFLAGS@
|
EXTRACFLAGS = @EXTRACFLAGS@
|
||||||
EXTRACROSSCFLAGS= @EXTRACROSSCFLAGS@
|
EXTRACROSSCFLAGS= @EXTRACROSSCFLAGS@
|
||||||
MSVCRTFLAGS = @BUILTINFLAG@
|
MSVCRTFLAGS = @MSVCRTFLAGS@
|
||||||
TARGETFLAGS = @TARGETFLAGS@
|
TARGETFLAGS = @TARGETFLAGS@
|
||||||
LDDLLFLAGS = @LDDLLFLAGS@
|
LDDLLFLAGS = @LDDLLFLAGS@
|
||||||
LDEXECFLAGS = @LDEXECFLAGS@
|
LDEXECFLAGS = @LDEXECFLAGS@
|
||||||
|
|
|
@ -631,7 +631,8 @@ RT_LIBS
|
||||||
POLL_LIBS
|
POLL_LIBS
|
||||||
DL_LIBS
|
DL_LIBS
|
||||||
TOOLSEXT
|
TOOLSEXT
|
||||||
BUILTINFLAG
|
UNWINDFLAGS
|
||||||
|
MSVCRTFLAGS
|
||||||
EXCESS_PRECISION_CFLAGS
|
EXCESS_PRECISION_CFLAGS
|
||||||
EXTRACFLAGS
|
EXTRACFLAGS
|
||||||
VKD3D_LIBS
|
VKD3D_LIBS
|
||||||
|
@ -17121,7 +17122,9 @@ fi ;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
case $host_os in
|
MSVCRTFLAGS=""
|
||||||
|
|
||||||
|
case $host_os in
|
||||||
cygwin*|mingw32*) ;;
|
cygwin*|mingw32*) ;;
|
||||||
*) { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -fno-builtin" >&5
|
*) { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -fno-builtin" >&5
|
||||||
$as_echo_n "checking whether the compiler supports -fno-builtin... " >&6; }
|
$as_echo_n "checking whether the compiler supports -fno-builtin... " >&6; }
|
||||||
|
@ -17146,8 +17149,32 @@ fi
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cflags__fno_builtin" >&5
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cflags__fno_builtin" >&5
|
||||||
$as_echo "$ac_cv_cflags__fno_builtin" >&6; }
|
$as_echo "$ac_cv_cflags__fno_builtin" >&6; }
|
||||||
if test "x$ac_cv_cflags__fno_builtin" = xyes; then :
|
if test "x$ac_cv_cflags__fno_builtin" = xyes; then :
|
||||||
BUILTINFLAG="-fno-builtin"
|
MSVCRTFLAGS="$MSVCRTFLAGS -fno-builtin"
|
||||||
|
fi
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -fshort-wchar" >&5
|
||||||
|
$as_echo_n "checking whether the compiler supports -fshort-wchar... " >&6; }
|
||||||
|
if ${ac_cv_cflags__fshort_wchar+:} false; then :
|
||||||
|
$as_echo_n "(cached) " >&6
|
||||||
|
else
|
||||||
|
ac_wine_try_cflags_saved=$CFLAGS
|
||||||
|
CFLAGS="$CFLAGS -fshort-wchar"
|
||||||
|
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||||
|
/* end confdefs.h. */
|
||||||
|
int main(int argc, char **argv) { return 0; }
|
||||||
|
_ACEOF
|
||||||
|
if ac_fn_c_try_link "$LINENO"; then :
|
||||||
|
ac_cv_cflags__fshort_wchar=yes
|
||||||
|
else
|
||||||
|
ac_cv_cflags__fshort_wchar=no
|
||||||
|
fi
|
||||||
|
rm -f core conftest.err conftest.$ac_objext \
|
||||||
|
conftest$ac_exeext conftest.$ac_ext
|
||||||
|
CFLAGS=$ac_wine_try_cflags_saved
|
||||||
|
fi
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cflags__fshort_wchar" >&5
|
||||||
|
$as_echo "$ac_cv_cflags__fshort_wchar" >&6; }
|
||||||
|
if test "x$ac_cv_cflags__fshort_wchar" = xyes; then :
|
||||||
|
MSVCRTFLAGS="$MSVCRTFLAGS -fshort-wchar"
|
||||||
fi ;;
|
fi ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
|
|
@ -2011,9 +2011,11 @@ char*f(const char *h,char n) {return strchr(h,n);}]])],[ac_cv_c_logicalop_noisy=
|
||||||
done
|
done
|
||||||
|
|
||||||
dnl Disable gcc builtins except for Mingw
|
dnl Disable gcc builtins except for Mingw
|
||||||
|
AC_SUBST(MSVCRTFLAGS,"")
|
||||||
case $host_os in
|
case $host_os in
|
||||||
cygwin*|mingw32*) ;;
|
cygwin*|mingw32*) ;;
|
||||||
*) WINE_TRY_CFLAGS([-fno-builtin],[AC_SUBST(BUILTINFLAG,"-fno-builtin")]) ;;
|
*) WINE_TRY_CFLAGS([-fno-builtin],[MSVCRTFLAGS="$MSVCRTFLAGS -fno-builtin"])
|
||||||
|
WINE_TRY_CFLAGS([-fshort-wchar],[MSVCRTFLAGS="$MSVCRTFLAGS -fshort-wchar"]) ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
dnl gcc-4.6+ omits frame pointers by default, breaking some copy protections
|
dnl gcc-4.6+ omits frame pointers by default, breaking some copy protections
|
||||||
|
|
|
@ -462,6 +462,10 @@ struct strarray get_ld_command(void)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (target_cpu == CPU_ARM && target_platform != PLATFORM_WINDOWS)
|
||||||
|
strarray_add( &args, "--no-wchar-size-warning", NULL );
|
||||||
|
|
||||||
return args;
|
return args;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -477,6 +477,8 @@ static strarray *get_link_args( struct options *opts, const char *output_name )
|
||||||
|
|
||||||
strarray_add( flags, "-shared" );
|
strarray_add( flags, "-shared" );
|
||||||
strarray_add( flags, "-Wl,-Bsymbolic" );
|
strarray_add( flags, "-Wl,-Bsymbolic" );
|
||||||
|
if (!opts->noshortwchar && opts->target_cpu == CPU_ARM)
|
||||||
|
strarray_add( flags, "-Wl,--no-wchar-size-warning" );
|
||||||
|
|
||||||
/* Try all options first - this is likely to succeed on modern compilers */
|
/* Try all options first - this is likely to succeed on modern compilers */
|
||||||
if (!try_link( opts->prefix, link_tool, "-fPIC -shared -Wl,-Bsymbolic "
|
if (!try_link( opts->prefix, link_tool, "-fPIC -shared -Wl,-Bsymbolic "
|
||||||
|
|
Loading…
Reference in New Issue