On 02.09.2016 14:16, Aric Stewart wrote:
Signed-off-by: Aric Stewart aric@codeweavers.com
configure | 117 ++++++++++++++++++++++++++++++++++++++++++++++++++++ configure.ac | 14 +++++++ include/config.h.in | 6 +++ 3 files changed, 137 insertions(+)
v3-0006-configure-Add-support-for-udev.txt
diff --git a/configure b/configure index 9808e11..3904a8b 100755 --- a/configure +++ b/configure @@ -652,6 +652,8 @@ FONTCONFIG_CFLAGS CUPS_CFLAGS CAPI20_LIBS CAPI20_CFLAGS +UDEV_LIBS +UDEV_CFLAGS OSS4_CFLAGS ALSA_LIBS GSTREAMER_LIBS @@ -1589,6 +1591,8 @@ GSTREAMER_CFLAGS GSTREAMER_LIBS CAPI20_CFLAGS CAPI20_LIBS +UDEV_LIBS +UDEV_CFLAGS FONTCONFIG_CFLAGS FONTCONFIG_LIBS JPEG_CFLAGS @@ -2273,6 +2277,7 @@ Optional Packages: --without-sane do not use SANE (scanner support) --without-tiff do not use TIFF --without-v4l do not use v4l1 (v4l support)
- --without-udev do not use udev --without-xcomposite do not use the Xcomposite extension --without-xcursor do not use the Xcursor extension --without-xinerama do not use Xinerama (multi-monitor support)
@@ -2342,6 +2347,8 @@ Some influential environment variables: CAPI20_CFLAGS C compiler flags for capi20, overriding pkg-config CAPI20_LIBS Linker flags for capi20, overriding pkg-config
- UDEV_CFLAGS C compiler flags for udev, overriding pkg-config
- UDEV_LIBS Linker flags for udev, overriding pkg-config FONTCONFIG_CFLAGS C compiler flags for fontconfig, overriding pkg-config FONTCONFIG_LIBS
@@ -3543,6 +3550,12 @@ if test "${with_tiff+set}" = set; then : fi
+# Check whether --with-udev was given. +if test "${with_udev+set}" = set; then :
- withval=$with_udev;
+fi
# Check whether --with-v4l was given. if test "${with_v4l+set}" = set; then : withval=$with_v4l; @@ -12899,6 +12912,108 @@ esac enable_wineoss_drv=${enable_wineoss_drv:-no} fi
+if test "x$with_udev" != "xno" +then
- if ${UDEV_CFLAGS:+false} :; then :
- if ${PKG_CONFIG+:} false; then :
- UDEV_CFLAGS=`$PKG_CONFIG --cflags udev 2>/dev/null`
+fi +fi
+if ${UDEV_LIBS:+false} :; then :
- if ${PKG_CONFIG+:} false; then :
- UDEV_LIBS=`$PKG_CONFIG --libs udev 2>/dev/null`
+fi +fi
+$as_echo "$as_me:${as_lineno-$LINENO}: udev cflags: $UDEV_CFLAGS" >&5 +$as_echo "$as_me:${as_lineno-$LINENO}: udev libs: $UDEV_LIBS" >&5 +ac_save_CPPFLAGS=$CPPFLAGS +CPPFLAGS="$CPPFLAGS $UDEV_CFLAGS" +for ac_header in libudev.h +do :
- ac_fn_c_check_header_mongrel "$LINENO" "libudev.h" "ac_cv_header_libudev_h" "$ac_includes_default"
+if test "x$ac_cv_header_libudev_h" = xyes; then :
- cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBUDEV_H 1 +_ACEOF
+fi
+done
- if test "$ac_cv_header_libudev_h" = "yes" -a "$ac_cv_header_libudev_h" = "yes"
- then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -ludev" >&5
+$as_echo_n "checking for -ludev... " >&6; } +if ${ac_cv_lib_soname_udev+:} false; then :
- $as_echo_n "(cached) " >&6
+else
- ac_check_soname_save_LIBS=$LIBS
+LIBS="-ludev $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 udev_new (); +int +main () +{ +return udev_new ();
- ;
- return 0;
+} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then :
- case "$LIBEXT" in
- dll) ac_cv_lib_soname_udev=`$ac_cv_path_LDD conftest.exe | grep "udev" | sed -e "s/dll.*/dll/"';2,$d'` ;;
- dylib) ac_cv_lib_soname_udev=`$OTOOL -L conftest$ac_exeext | grep "libudev\.[0-9A-Za-z.]*dylib" | sed -e "s/^.*/(libudev.[0-9A-Za-z.]*dylib).*$/\1/"';2,$d'` ;;
- *) ac_cv_lib_soname_udev=`$READELF -d conftest$ac_exeext | grep "NEEDED.*libudev\.$LIBEXT" | sed -e "s/^.*\[\(libudev\.$LIBEXT[^ ]*\)\].*$/\1/"';2,$d'`
if ${ac_cv_lib_soname_udev:+false} :; then :
- ac_cv_lib_soname_udev=`$LDD conftest$ac_exeext | grep "libudev\.$LIBEXT" | sed -e "s/^.*(libudev.$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_udev:+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_udev" >&5
+$as_echo "$ac_cv_lib_soname_udev" >&6; }
+cat >>confdefs.h <<_ACEOF +#define SONAME_LIBUDEV "$ac_cv_lib_soname_udev" +_ACEOF
UDEV_LIBS="-ludev"
+fi
- fi
+CPPFLAGS=$ac_save_CPPFLAGS +test -z "$UDEV_CFLAGS" || UDEV_CFLAGS=`echo " $UDEV_CFLAGS" | sed 's/ -I([^/])/ -I$(top_builddir)/\1/g'` +test -z "$UDEV_LIBS" || UDEV_LIBS=`echo " $UDEV_LIBS" | sed 's/ -L([^/])/ -L$(top_builddir)/\1/g'`
+fi +if test "x$ac_cv_lib_soname_udev" = "x"; then :
- case "x$with_udev" in
- x) as_fn_append wine_notices "|libudev ${notice_platform}development files not found, hidraw HID will not be supported." ;;
- xno) ;;
- *) as_fn_error $? "libudev ${notice_platform}development files not found, hidraw HID will not be supported.
+This is an error since --with-udev was requested." "$LINENO" 5 ;; +esac +fi
if test "x$with_capi" != "xno" then if ${CAPI20_CFLAGS:+false} :; then : @@ -17349,6 +17464,8 @@ ALSA_LIBS = $ALSA_LIBS OSS4_CFLAGS = $OSS4_CFLAGS CAPI20_CFLAGS = $CAPI20_CFLAGS CAPI20_LIBS = $CAPI20_LIBS +UDEV_CFLAGS = $UDEV_CFLAGS +UDEV_LIBS = $UDEV_LIBS CUPS_CFLAGS = $CUPS_CFLAGS FONTCONFIG_CFLAGS = $FONTCONFIG_CFLAGS FONTCONFIG_LIBS = $FONTCONFIG_LIBS diff --git a/configure.ac b/configure.ac index f02ab98..524777d 100644 --- a/configure.ac +++ b/configure.ac @@ -103,6 +103,7 @@ AC_ARG_WITH(zlib, AS_HELP_STRING([--without-zlib],[do not use Zlib (data co
AC_ARG_WITH(wine-tools,AS_HELP_STRING([--with-wine-tools=DIR],[use Wine tools from directory DIR])) AC_ARG_WITH(wine64, AS_HELP_STRING([--with-wine64=DIR],[use the 64-bit Wine in DIR for a Wow64 build])) +AC_ARG_WITH(udev, AS_HELP_STRING([--without-udev],[do not use udev]))
This list is sorted alphabetically.
AC_CANONICAL_HOST
@@ -1519,6 +1520,19 @@ WINE_NOTICE_WITH(oss,[test "x$ac_cv_member_oss_sysinfo_numaudioengines" != xyes] [OSS sound system found but too old (OSSv4 needed), OSS won't be supported.], [enable_wineoss_drv])
+dnl **** Check for libudev****
There is a space missing before the "****".
+if test "x$with_udev" != "xno" +then
- WINE_PACKAGE_FLAGS(UDEV,[udev],,,,
- [AC_CHECK_HEADERS([libudev.h])
- if test "$ac_cv_header_libudev_h" = "yes" -a "$ac_cv_header_libudev_h" = "yes"
- then
WINE_CHECK_SONAME(udev,udev_new,AC_SUBST(UDEV_LIBS,"-ludev"),,[$UDEV_LIBS])
Do we want to link directly against udev or load it at runtime (wine_dlopen)? For direct linking it would be better to use AC_CHECK_LIB to match the existing configure.ac code (the only exception I've found is OpenAL). For loading at runtime there is no need to define UDEV_LIBS.
- fi])
+fi +WINE_NOTICE_WITH(udev,[test "x$ac_cv_lib_soname_udev" = "x"],
[libudev ${notice_platform}development files not found, hidraw HID not supported.])
dnl **** Check for capi4linux **** if test "x$with_capi" != "xno" then diff --git a/include/config.h.in b/include/config.h.in index 382beb6..b9f9f19 100644 --- a/include/config.h.in +++ b/include/config.h.in @@ -378,6 +378,9 @@ /* Define to 1 if you have the <libproc.h> header file. */ #undef HAVE_LIBPROC_H
+/* Define to 1 if you have the <libudev.h> header file. */ +#undef HAVE_LIBUDEV_H
/* Define to 1 if you have the <libunwind.h> header file. */ #undef HAVE_LIBUNWIND_H
@@ -1466,6 +1469,9 @@ /* Define to the soname of the libXxf86vm library. */ #undef SONAME_LIBXXF86VM
+/* Define to the soname of the libudev library. */ +#undef SONAME_LIBUDEV
/* Define to 1 if the `S_IS*' macros in <sys/stat.h> do not work properly. */ #undef STAT_MACROS_BROKEN