summaryrefslogtreecommitdiff
path: root/sysutils/lcdproc/files/patch-configure.in
blob: dbe33248518c55f708ac419737a011c7d9397c1a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
--- configure.in.orig	2011-02-19 16:17:22.000000000 +0100
+++ configure.in	2011-02-19 21:29:50.000000000 +0100
@@ -4,6 +4,7 @@
 AC_INIT(lcdproc, 0.5.4, lcdproc@lists.omnipotent.net)
 AC_CONFIG_SRCDIR([clients/lcdproc/batt.c])
 AM_INIT_AUTOMAKE(1.7)
+PKG_PROG_PKG_CONFIG()
 
 AC_CONFIG_HEADERS(config.h)
 
@@ -248,26 +249,63 @@
 
 dnl ######################################################################
 dnl libusb support
+dnl Stolen from the gnupg project and modified for LCDproc's need.
+dnl
+dnl Copyright (C) 2004, 2005 Free Software Foundation, Inc.
 dnl ######################################################################
 AC_MSG_CHECKING([if libusb support has been enabled]);
-AC_ARG_ENABLE(libusb,
-	[AS_HELP_STRING([--disable-libusb],[disable USB support using libusb])],
-	[ if test "$enableval" != "no"; then
-		enable_libusb="yes"
-	fi ],
-	[ enable_libusb=yes ]
-)
-AC_MSG_RESULT($enable_libusb)
+AC_ARG_WITH(libusb,
+	AC_HELP_STRING([--with-libusb=DIR],
+		[look for the libusb library in DIR]),
+		[_do_libusb=$withval],[_do_libusb=yes])
+AC_MSG_RESULT($_do_libusb) 
+
+if test "$_do_libusb" != "no" ; then
+	if test -d "$withval" ; then
+		CPPFLAGS="${CPPFLAGS} -I$withval/include"
+		LDFLAGS="${LDFLAGS} -L$withval/lib"
+		AC_PATH_PROG([_usb_config],["$_do_libusb/bin/libusb-config"])
+	else
+		AC_PATH_PROG([_usb_config],[libusb-config])
+	fi
 
-if test "$enable_libusb" = "yes"; then
-	ifdef([PKG_CHECK_MODULES],
-		[PKG_CHECK_MODULES(LIBUSB, libusb,
-			[AC_DEFINE(HAVE_LIBUSB, [1], [Define to 1 if you have libusb])],
-			[ enable_libusb=no ])],
-		[AC_MSG_WARN([pkg-config not (fully) installed; drivers requiring libusb may not be built])])
+	_libusb_save_libs=$LIBS
+	_libusb_save_cflags=$CFLAGS
+
+	if test x$_usb_config != "x" ; then
+		_libusb_try_libs=`$_usb_config --libs`
+		_libusb_try_cflags=`$_usb_config --cflags`
+	else
+		_libusb_try_libs="-lusb"
+		_libusb_try_cflags=""
+	fi
+
+	LIBS="$LIBS $_libusb_try_libs"
+	CFLAGS="$CFLAGS $_libusb_try_cflags"
+
+	AC_MSG_CHECKING([whether libusb is present and sane])
+
+	AC_LINK_IFELSE(AC_LANG_PROGRAM([#include <usb.h>],[
+		usb_interrupt_write(NULL,0,NULL,0,0);
+		]),enable_libusb=yes,enable_libusb=no)
+
+	AC_MSG_RESULT([$enable_libusb])
+
+	if test "$enable_libusb" = "yes" ; then
+		AC_DEFINE(HAVE_LIBUSB, [1], [Define to 1 if you have libusb])
+		AC_SUBST(LIBUSB_CFLAGS, $_libusb_try_cflags)
+		AC_SUBST(LIBUSB_LIBS, $_libusb_try_libs)
+	fi
+
+	LIBS=$_libusb_save_libs
+	CFLAGS=$_libusb_save_cflags
+
+	unset _libusb_save_libs
+	unset _libusb_save_cflags
+	unset _libusb_try_libs
+	unset _libusb_try_cflags
 fi
-AC_SUBST(LIBUSB_LIBS)
-AC_SUBST(LIBUSB_CFLAGS)
+
 
 dnl ######################################################################
 dnl libftdi support