Stefan Dösinger : configure: Check for ms_hook_prologue attribute support.

Alexandre Julliard julliard at winehq.org
Wed Oct 14 09:02:00 CDT 2009


Module: wine
Branch: master
Commit: fdac5e57d3fd8ebe5044a076ff27566d6122e93e
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=fdac5e57d3fd8ebe5044a076ff27566d6122e93e

Author: Stefan Dösinger <stefan at codeweavers.com>
Date:   Sat Sep 12 14:08:53 2009 +0200

configure: Check for ms_hook_prologue attribute support.

---

 configure           |   38 ++++++++++++++++++++++++++++++++++++++
 configure.ac        |   15 +++++++++++++++
 include/config.h.in |    3 +++
 3 files changed, 56 insertions(+), 0 deletions(-)

diff --git a/configure b/configure
index 72251ba..dae14db 100755
--- a/configure
+++ b/configure
@@ -11702,6 +11702,44 @@ 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 813b198..5210c35 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 0be8f4d..16b2e90 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
 




More information about the wine-cvs mailing list