From 4b362d016c57c14570efeb9c38dfcc5cf2c0910d Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Fri, 8 Jan 2021 14:56:45 +0100 Subject: [PATCH] configure: Check for linker delayload support on mingw hosts. Fixes PE-only builds with llvm-mingw. Signed-off-by: Jacek Caban Signed-off-by: Alexandre Julliard --- configure | 27 ++++++++++++++++++++++++++- configure.ac | 3 ++- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/configure b/configure index e6ee28a616d..75fef4144fc 100755 --- a/configure +++ b/configure @@ -17456,7 +17456,32 @@ fi ;; MSVCRTFLAGS="" case $host_os in - mingw32*) ;; + mingw32*) { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wl,-delayload,autoconftest.dll" >&5 +$as_echo_n "checking whether the compiler supports -Wl,-delayload,autoconftest.dll... " >&6; } +if ${ac_cv_cflags__Wl__delayload_autoconftest_dll+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_wine_try_cflags_saved=$CFLAGS +CFLAGS="$CFLAGS -Wl,-delayload,autoconftest.dll" +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__Wl__delayload_autoconftest_dll=yes +else + ac_cv_cflags__Wl__delayload_autoconftest_dll=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__Wl__delayload_autoconftest_dll" >&5 +$as_echo "$ac_cv_cflags__Wl__delayload_autoconftest_dll" >&6; } +if test "x$ac_cv_cflags__Wl__delayload_autoconftest_dll" = xyes; then : + DELAYLOADFLAG="-Wl,-delayload," + +fi ;; *) { $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; } if ${ac_cv_cflags__fno_builtin+:} false; then : diff --git a/configure.ac b/configure.ac index beabfeb761c..2c4bd667e8f 100644 --- a/configure.ac +++ b/configure.ac @@ -2060,7 +2060,8 @@ char*f(const char *h,char n) {return strchr(h,n);}]])],[ac_cv_c_logicalop_noisy= dnl Disable gcc builtins except for Mingw AC_SUBST(MSVCRTFLAGS,"") case $host_os in - mingw32*) ;; + mingw32*) dnl Check for delayload linker support + WINE_TRY_CFLAGS([-Wl,-delayload,autoconftest.dll],[AC_SUBST(DELAYLOADFLAG,["-Wl,-delayload,"])]) ;; *) WINE_TRY_CFLAGS([-fno-builtin],[MSVCRTFLAGS="$MSVCRTFLAGS -fno-builtin"]) WINE_TRY_CFLAGS([-fshort-wchar],[MSVCRTFLAGS="$MSVCRTFLAGS -fshort-wchar"]) ;; esac