diff --git a/configure b/configure index 72251ba1211..dae14db0cd4 100755 --- a/configure +++ b/configure @@ -11701,6 +11701,44 @@ $as_echo "$ac_cv_cflags__Werror" >&6; } if test $ac_cv_cflags__Werror = yes; then : EXTRACFLAGS="$EXTRACFLAGS -Werror" fi + fi + + saved_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -Werror" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ms_hook_prologue attribute" >&5 +$as_echo_n "checking for ms_hook_prologue attribute... " >&6; } +if test "${ac_cv_have_ms_hook_prologue+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int __attribute__((__ms_hook_prologue__)) test(void) { return 0; } +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_have_ms_hook_prologue="yes" +else + ac_cv_have_ms_hook_prologue="no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_ms_hook_prologue" >&5 +$as_echo "$ac_cv_have_ms_hook_prologue" >&6; } + CFLAGS="$saved_CFLAGS" + if test "$ac_cv_have_ms_hook_prologue" = "yes" + then + +$as_echo "#define DECLSPEC_HOTPATCH __attribute__((__ms_hook_prologue__))" >>confdefs.h + + else + $as_echo "#define DECLSPEC_HOTPATCH /* */" >>confdefs.h + fi fi diff --git a/configure.ac b/configure.ac index 813b198a743..5210c35c76e 100644 --- a/configure.ac +++ b/configure.ac @@ -1505,6 +1505,21 @@ then then WINE_TRY_CFLAGS([-Werror]) fi + + dnl Check for ms_hook_prologue support + saved_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -Werror" + AC_CACHE_CHECK([for ms_hook_prologue attribute], ac_cv_have_ms_hook_prologue, + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[int __attribute__((__ms_hook_prologue__)) test(void) { return 0; }]])], + [ac_cv_have_ms_hook_prologue="yes"],[ac_cv_have_ms_hook_prologue="no"])) + CFLAGS="$saved_CFLAGS" + if test "$ac_cv_have_ms_hook_prologue" = "yes" + then + AC_DEFINE(DECLSPEC_HOTPATCH, [__attribute__((__ms_hook_prologue__))], + [Define to a function attribute for Microsoft hotpatch assembly prefix.]) + else + AC_DEFINE(DECLSPEC_HOTPATCH, [/* */]) + fi fi dnl **** Check for underscore on external symbols **** diff --git a/include/config.h.in b/include/config.h.in index 0be8f4dde28..16b2e90bc70 100644 --- a/include/config.h.in +++ b/include/config.h.in @@ -2,6 +2,9 @@ #define __WINE_CONFIG_H +/* Define to a function attribute for Microsoft hotpatch assembly prefix. */ +#undef DECLSPEC_HOTPATCH + /* Define to the file extension for executables. */ #undef EXEEXT