Piotr Caban : configure: Add configure checks for Xfixes library.

Alexandre Julliard julliard at winehq.org
Wed May 24 17:17:34 CDT 2017


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

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Wed May 24 15:17:44 2017 +0200

configure: Add configure checks for Xfixes library.

Signed-off-by: Piotr Caban <piotr at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 configure           | 90 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 configure.ac        | 13 ++++++++
 include/config.h.in |  6 ++++
 3 files changed, 109 insertions(+)

diff --git a/configure b/configure
index 6623896..da270dd 100755
--- a/configure
+++ b/configure
@@ -853,6 +853,7 @@ with_udev
 with_v4l
 with_xcomposite
 with_xcursor
+with_xfixes
 with_xinerama
 with_xinput
 with_xinput2
@@ -2363,6 +2364,7 @@ Optional Packages:
   --without-v4l           do not use v4l1 (v4l support)
   --without-xcomposite    do not use the Xcomposite extension
   --without-xcursor       do not use the Xcursor extension
+  --without-xfixes        do not use Xfixes for clipboard change notifications
   --without-xinerama      do not use Xinerama (multi-monitor support)
   --without-xinput        do not use the Xinput extension
   --without-xinput2       do not use the Xinput 2 extension
@@ -3657,6 +3659,12 @@ if test "${with_xcursor+set}" = set; then :
 fi
 
 
+# Check whether --with-xfixes was given.
+if test "${with_xfixes+set}" = set; then :
+  withval=$with_xfixes; if test "x$withval" = "xno"; then ac_cv_header_X11_extensions_Xfixes_h=no; fi
+fi
+
+
 # Check whether --with-xinerama was given.
 if test "${with_xinerama+set}" = set; then :
   withval=$with_xinerama; if test "x$withval" = "xno"; then ac_cv_header_X11_extensions_Xinerama_h=no; fi
@@ -9834,6 +9842,7 @@ fi
                       X11/extensions/XInput2.h \
                       X11/extensions/XShm.h \
                       X11/extensions/Xcomposite.h \
+                      X11/extensions/Xfixes.h \
                       X11/extensions/Xinerama.h \
                       X11/extensions/Xrandr.h \
                       X11/extensions/Xrender.h \
@@ -10473,6 +10482,87 @@ esac
 
 fi
 
+                if test "$ac_cv_header_X11_extensions_Xfixes_h" = "yes"
+        then
+                cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <X11/Xlib.h>
+#include <X11/extensions/Xfixes.h>
+int
+main ()
+{
+static typeof(XFixesQueryVersion) * func; if (func) return 0;
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -lXfixes" >&5
+$as_echo_n "checking for -lXfixes... " >&6; }
+if ${ac_cv_lib_soname_Xfixes+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_soname_save_LIBS=$LIBS
+LIBS="-lXfixes $X_LIBS $X_EXTRA_LIBS $LIBS"
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char XFixesQueryVersion ();
+int
+main ()
+{
+return XFixesQueryVersion ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  case "$LIBEXT" in
+    dll) ac_cv_lib_soname_Xfixes=`$ac_cv_path_LDD conftest.exe | grep "Xfixes" | sed -e "s/dll.*/dll/"';2,$d'` ;;
+    dylib) ac_cv_lib_soname_Xfixes=`$OTOOL -L conftest$ac_exeext | grep "libXfixes\\.[0-9A-Za-z.]*dylib" | sed -e "s/^.*\/\(libXfixes\.[0-9A-Za-z.]*dylib\).*$/\1/"';2,$d'` ;;
+    *) ac_cv_lib_soname_Xfixes=`$READELF -d conftest$ac_exeext | grep "NEEDED.*libXfixes\\.$LIBEXT" | sed -e "s/^.*\\[\\(libXfixes\\.$LIBEXT[^	 ]*\\)\\].*$/\1/"';2,$d'`
+       if ${ac_cv_lib_soname_Xfixes:+false} :; then :
+  ac_cv_lib_soname_Xfixes=`$LDD conftest$ac_exeext | grep "libXfixes\\.$LIBEXT" | sed -e "s/^.*\(libXfixes\.$LIBEXT[^	 ]*\).*$/\1/"';2,$d'`
+fi ;;
+  esac
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+  LIBS=$ac_check_soname_save_LIBS
+fi
+if ${ac_cv_lib_soname_Xfixes:+false} :; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: not found" >&5
+$as_echo "not found" >&6; }
+
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_soname_Xfixes" >&5
+$as_echo "$ac_cv_lib_soname_Xfixes" >&6; }
+
+cat >>confdefs.h <<_ACEOF
+#define SONAME_LIBXFIXES "$ac_cv_lib_soname_Xfixes"
+_ACEOF
+
+
+fi
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+        fi
+        if test "x$ac_cv_lib_soname_Xfixes" = "x"; then :
+  case "x$with_xfixes" in
+  x)   as_fn_append wine_notices "|libxfixes ${notice_platform}development files not found, Xfixes won't be supported." ;;
+  xno) ;;
+  *)   as_fn_error $? "libxfixes ${notice_platform}development files not found, Xfixes won't be supported.
+This is an error since --with-xfixes was requested." "$LINENO" 5 ;;
+esac
+
+fi
+
                 if test "$ac_cv_header_X11_extensions_Xinerama_h" = "yes"
         then
                 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
diff --git a/configure.ac b/configure.ac
index b5e76aa..db4d168 100644
--- a/configure.ac
+++ b/configure.ac
@@ -81,6 +81,8 @@ AC_ARG_WITH(xcomposite,AS_HELP_STRING([--without-xcomposite],[do not use the Xco
             [if test "x$withval" = "xno"; then ac_cv_header_X11_extensions_Xcomposite_h=no; fi])
 AC_ARG_WITH(xcursor,   AS_HELP_STRING([--without-xcursor],[do not use the Xcursor extension]),
             [if test "x$withval" = "xno"; then ac_cv_header_X11_Xcursor_Xcursor_h=no; fi])
+AC_ARG_WITH(xfixes,  AS_HELP_STRING([--without-xfixes],[do not use Xfixes for clipboard change notifications]),
+            [if test "x$withval" = "xno"; then ac_cv_header_X11_extensions_Xfixes_h=no; fi])
 AC_ARG_WITH(xinerama,  AS_HELP_STRING([--without-xinerama],[do not use Xinerama (multi-monitor support)]),
             [if test "x$withval" = "xno"; then ac_cv_header_X11_extensions_Xinerama_h=no; fi])
 AC_ARG_WITH(xinput,    AS_HELP_STRING([--without-xinput],[do not use the Xinput extension]),
@@ -999,6 +1001,7 @@ then
                       X11/extensions/XInput2.h \
                       X11/extensions/XShm.h \
                       X11/extensions/Xcomposite.h \
+                      X11/extensions/Xfixes.h \
                       X11/extensions/Xinerama.h \
                       X11/extensions/Xrandr.h \
                       X11/extensions/Xrender.h \
@@ -1096,6 +1099,16 @@ then
         WINE_NOTICE_WITH(xrandr,[test "x$ac_cv_lib_soname_Xrandr" = "x"],
                          [libxrandr ${notice_platform}development files not found, XRandr won't be supported.])
 
+        dnl *** Check for Xfixes extension
+        if test "$ac_cv_header_X11_extensions_Xfixes_h" = "yes"
+        then
+                AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <X11/Xlib.h>
+#include <X11/extensions/Xfixes.h>]], [[static typeof(XFixesQueryVersion) * func; if (func) return 0;]])],
+                  [WINE_CHECK_SONAME(Xfixes,XFixesQueryVersion,,,[$X_LIBS $X_EXTRA_LIBS])])
+        fi
+        WINE_NOTICE_WITH(xfixes,[test "x$ac_cv_lib_soname_Xfixes" = "x"],
+                         [libxfixes ${notice_platform}development files not found, Xfixes won't be supported.])
+
         dnl *** Check for Xinerama extension
         if test "$ac_cv_header_X11_extensions_Xinerama_h" = "yes"
         then
diff --git a/include/config.h.in b/include/config.h.in
index 1d4d6fa..7cdf70c 100644
--- a/include/config.h.in
+++ b/include/config.h.in
@@ -1251,6 +1251,9 @@
 /* Define to 1 if you have the <X11/extensions/xf86vmproto.h> header file. */
 #undef HAVE_X11_EXTENSIONS_XF86VMPROTO_H
 
+/* Define to 1 if you have the <X11/extensions/Xfixes.h> header file. */
+#undef HAVE_X11_EXTENSIONS_XFIXES_H
+
 /* Define to 1 if you have the <X11/extensions/Xinerama.h> header file. */
 #undef HAVE_X11_EXTENSIONS_XINERAMA_H
 
@@ -1472,6 +1475,9 @@
 /* Define to the soname of the libXext library. */
 #undef SONAME_LIBXEXT
 
+/* Define to the soname of the libXfixes library. */
+#undef SONAME_LIBXFIXES
+
 /* Define to the soname of the libXi library. */
 #undef SONAME_LIBXI
 




More information about the wine-cvs mailing list