diff options
Diffstat (limited to 'recipes/libusb')
-rw-r--r-- | recipes/libusb/files/configure_fix.patch | 17 | ||||
-rw-r--r-- | recipes/libusb/libusb-0.1.10a/ARMfix.patch | 20 | ||||
-rw-r--r-- | recipes/libusb/libusb-0.1.10a/debian-changes.patch | 407 | ||||
-rw-r--r-- | recipes/libusb/libusb-0.1.8/amd64-fPIC.patch | 11 | ||||
-rw-r--r-- | recipes/libusb/libusb-0.1.8/configure.patch | 99 | ||||
-rw-r--r-- | recipes/libusb/libusb-0.1.8/pkgconfig.patch | 68 | ||||
-rw-r--r-- | recipes/libusb/libusb-compat-0.0.9+0.1.0-beta2/0.1.0-beta1-gcc3.4-fix.patch | 13 | ||||
-rw-r--r-- | recipes/libusb/libusb-compat_0.0.9+0.1.0-beta2.bb | 39 | ||||
-rw-r--r-- | recipes/libusb/libusb-compat_0.1.0.bb | 36 | ||||
-rw-r--r-- | recipes/libusb/libusb-native_0.1.10a.bb | 4 | ||||
-rw-r--r-- | recipes/libusb/libusb-native_0.1.12.bb | 3 | ||||
-rw-r--r-- | recipes/libusb/libusb1-0.9.2/0.9.0-gcc3.4-compat-fix.patch | 13 | ||||
-rw-r--r-- | recipes/libusb/libusb1_0.9.2.bb | 30 | ||||
-rw-r--r-- | recipes/libusb/libusb1_1.0.0.bb | 29 | ||||
-rw-r--r-- | recipes/libusb/libusb_0.0.0.bb | 27 | ||||
-rw-r--r-- | recipes/libusb/libusb_0.1.10a.bb | 39 | ||||
-rw-r--r-- | recipes/libusb/libusb_0.1.12.bb | 36 |
17 files changed, 891 insertions, 0 deletions
diff --git a/recipes/libusb/files/configure_fix.patch b/recipes/libusb/files/configure_fix.patch new file mode 100644 index 0000000000..f01f0143f5 --- /dev/null +++ b/recipes/libusb/files/configure_fix.patch @@ -0,0 +1,17 @@ +For some reason libtool 2.2.2 can't cope with this, LT_LANG(C++) works though. + +RP - 14/4/08 + +Index: libusb-0.1.12/configure.in +=================================================================== +--- libusb-0.1.12.orig/configure.in 2008-04-14 22:08:26.000000000 +0100 ++++ libusb-0.1.12/configure.in 2008-04-14 22:09:43.000000000 +0100 +@@ -149,7 +149,7 @@ + fi + + # Checks for programs. +-AC_LANG_CPLUSPLUS ++AC_PROG_CXX + AC_PROG_CC + AM_PROG_CC_C_O + AC_PROG_INSTALL diff --git a/recipes/libusb/libusb-0.1.10a/ARMfix.patch b/recipes/libusb/libusb-0.1.10a/ARMfix.patch new file mode 100644 index 0000000000..803bd99bab --- /dev/null +++ b/recipes/libusb/libusb-0.1.10a/ARMfix.patch @@ -0,0 +1,20 @@ +--- /tmp/usb.c 2005-07-22 01:45:43.606167000 +0200 ++++ libusb-0.1.10a/usb.c 2005-07-22 01:47:22.527128728 +0200 +@@ -156,7 +156,7 @@ + * Some ports fetch the descriptors on scanning (like Linux) so we don't + * need to fetch them again. + */ +- if (!dev->config) { ++/* if (!dev->config) { */ + usb_dev_handle *udev; + + udev = usb_open(dev); +@@ -165,7 +165,7 @@ + + usb_close(udev); + } +- } ++/* }*/ + + changes++; + diff --git a/recipes/libusb/libusb-0.1.10a/debian-changes.patch b/recipes/libusb/libusb-0.1.10a/debian-changes.patch new file mode 100644 index 0000000000..6f79bc7950 --- /dev/null +++ b/recipes/libusb/libusb-0.1.10a/debian-changes.patch @@ -0,0 +1,407 @@ +diff -urN libusb_0.1.10a.orig/bsd.c libusb-0.1.10a/bsd.c +--- libusb_0.1.10a.orig/bsd.c 2004-02-18 08:34:52.000000000 +0100 ++++ libusb-0.1.10a/bsd.c 2005-06-30 19:40:00.000000000 +0200 +@@ -25,6 +25,10 @@ + * for both read and write. + */ + ++#if defined(__FreeBSD__) && !defined(__FreeBSD_kernel__) ++#define __FreeBSD_kernel__ __FreeBSD__ ++#endif ++ + #include <stdlib.h> + #include <unistd.h> + #include <string.h> +@@ -142,7 +146,7 @@ + USB_ERROR(-ENOMEM); + dev->impl_info = info; + +-#if __FreeBSD__ ++#ifdef __FreeBSD_kernel__ + snprintf(ctlpath, PATH_MAX, "%s", dev->device->filename); + #else + snprintf(ctlpath, PATH_MAX, "%s.00", dev->device->filename); +@@ -255,7 +259,7 @@ + ep = UE_GET_ADDR(ep); + + if (info->ep_fd[ep] < 0) { +-#if __FreeBSD__ ++#ifdef __FreeBSD_kernel__ + snprintf(buf, sizeof(buf) - 1, "%s.%d", dev->device->filename, ep); + #else + snprintf(buf, sizeof(buf) - 1, "%s.%02d", dev->device->filename, ep); +@@ -286,7 +290,7 @@ + fd = ensure_ep_open(dev, ep, O_WRONLY); + if (fd < 0) { + if (usb_debug >= 2) { +-#if __FreeBSD__ ++#ifdef __FreeBSD_kernel__ + fprintf (stderr, "usb_bulk_write: got negative open file descriptor for endpoint %d\n", UE_GET_ADDR(ep)); + #else + fprintf (stderr, "usb_bulk_write: got negative open file descriptor for endpoint %02d\n", UE_GET_ADDR(ep)); +@@ -302,7 +306,7 @@ + + ret = write(fd, bytes, size); + if (ret < 0) +-#if __FreeBSD__ ++#ifdef __FreeBSD_kernel__ + USB_ERROR_STR(-errno, "error writing to bulk endpoint %s.%d: %s", + dev->device->filename, UE_GET_ADDR(ep), strerror(errno)); + #else +@@ -324,7 +328,7 @@ + fd = ensure_ep_open(dev, ep, O_RDONLY); + if (fd < 0) { + if (usb_debug >= 2) { +-#if __FreeBSD__ ++#ifdef __FreeBSD_kernel__ + fprintf (stderr, "usb_bulk_read: got negative open file descriptor for endpoint %d\n", UE_GET_ADDR(ep)); + #else + fprintf (stderr, "usb_bulk_read: got negative open file descriptor for endpoint %02d\n", UE_GET_ADDR(ep)); +@@ -343,7 +347,7 @@ + + ret = read(fd, bytes, size); + if (ret < 0) +-#if __FreeBSD__ ++#ifdef __FreeBSD_kernel__ + USB_ERROR_STR(-errno, "error reading from bulk endpoint %s.%d: %s", + dev->device->filename, UE_GET_ADDR(ep), strerror(errno)); + #else +@@ -365,7 +369,7 @@ + fd = ensure_ep_open(dev, ep, O_WRONLY); + if (fd < 0) { + if (usb_debug >= 2) { +-#if __FreeBSD__ ++#ifdef __FreeBSD_kernel__ + fprintf (stderr, "usb_interrupt_write: got negative open file descriptor for endpoint %d\n", UE_GET_ADDR(ep)); + #else + fprintf (stderr, "usb_interrupt_write: got negative open file descriptor for endpoint %02d\n", UE_GET_ADDR(ep)); +@@ -382,7 +386,7 @@ + do { + ret = write(fd, bytes+sent, size-sent); + if (ret < 0) +-#if __FreeBSD__ ++#ifdef __FreeBSD_kernel__ + USB_ERROR_STR(-errno, "error writing to interrupt endpoint %s.%d: %s", + dev->device->filename, UE_GET_ADDR(ep), strerror(errno)); + #else +@@ -407,7 +411,7 @@ + fd = ensure_ep_open(dev, ep, O_RDONLY); + if (fd < 0) { + if (usb_debug >= 2) { +-#if __FreeBSD__ ++#ifdef __FreeBSD_kernel__ + fprintf (stderr, "usb_interrupt_read: got negative open file descriptor for endpoint %d\n", UE_GET_ADDR(ep)); + #else + fprintf (stderr, "usb_interrupt_read: got negative open file descriptor for endpoint %02d\n", UE_GET_ADDR(ep)); +@@ -427,7 +431,7 @@ + do { + ret = read(fd, bytes+retrieved, size-retrieved); + if (ret < 0) +-#if __FreeBSD__ ++#ifdef __FreeBSD_kernel__ + USB_ERROR_STR(-errno, "error reading from interrupt endpoint %s.%d: %s", + dev->device->filename, UE_GET_ADDR(ep), strerror(errno)); + #else +@@ -543,7 +547,7 @@ + /* best not to play with things we don't understand */ + continue; + +-#if __FreeBSD__ ++#ifdef __FreeBSD_kernel__ + snprintf(buf, sizeof(buf) - 1, "/dev/%s", di.udi_devnames[0]); + #else + snprintf(buf, sizeof(buf) - 1, "/dev/%s.00", di.udi_devnames[0]); +diff -urN libusb_0.1.10a.orig/linux.c libusb-0.1.10a/linux.c +--- libusb_0.1.10a.orig/linux.c 2005-02-11 03:16:10.000000000 +0100 ++++ libusb-0.1.10a/linux.c 2005-06-30 19:40:00.000000000 +0200 +@@ -156,6 +156,8 @@ + return ret; + } + ++#define URB_USERCONTEXT_COOKIE ((void *)0x1) ++ + /* Reading and writing are the same except for the endpoint */ + static int usb_urb_transfer(usb_dev_handle *dev, int ep, int urbtype, + char *bytes, int size, int timeout) +@@ -163,14 +165,16 @@ + struct usb_urb urb; + unsigned int bytesdone = 0, requested; + struct timeval tv, tv_ref, tv_now; +- void *context; ++ struct usb_urb *context; + int ret, waiting; + + /* +- * FIXME: The use of the URB interface is incorrect here if there are +- * multiple callers at the same time. We assume we're the only caller +- * and if we get completions from another caller, this code will fail +- * in interesting ways. ++ * HACK: The use of urb.usercontext is a hack to get threaded applications ++ * sort of working again. Threaded support is still not recommended, but ++ * this should allow applications to work in the common cases. Basically, ++ * if we get the completion for an URB we're not waiting for, then we update ++ * the usercontext pointer to 1 for the other threads URB and it will see ++ * the change after it wakes up from the the timeout. Ugly, but it works. + */ + + /* +@@ -198,10 +202,10 @@ + urb.flags = 0; + urb.buffer = bytes + bytesdone; + urb.buffer_length = requested; +- urb.usercontext = (void *)ep; + urb.signr = 0; + urb.actual_length = 0; + urb.number_of_packets = 0; /* don't do isochronous yet */ ++ urb.usercontext = NULL; + + ret = ioctl(dev->fd, IOCTL_USB_SUBMITURB, &urb); + if (ret < 0) { +@@ -212,18 +216,28 @@ + FD_ZERO(&writefds); + FD_SET(dev->fd, &writefds); + ++restart: + waiting = 1; +- while (((ret = ioctl(dev->fd, IOCTL_USB_REAPURBNDELAY, &context)) == -1) && waiting) { ++ context = NULL; ++ while (!urb.usercontext && ((ret = ioctl(dev->fd, IOCTL_USB_REAPURBNDELAY, &context)) == -1) && waiting) { + tv.tv_sec = 0; + tv.tv_usec = 1000; // 1 msec + select(dev->fd + 1, NULL, &writefds, NULL, &tv); //sub second wait + +- /* compare with actual time, as the select timeout is not that precise */ +- gettimeofday(&tv_now, NULL); ++ if (timeout) { ++ /* compare with actual time, as the select timeout is not that precise */ ++ gettimeofday(&tv_now, NULL); ++ ++ if ((tv_now.tv_sec > tv_ref.tv_sec) || ++ ((tv_now.tv_sec == tv_ref.tv_sec) && (tv_now.tv_usec >= tv_ref.tv_usec))) ++ waiting = 0; ++ } ++ } + +- if ((tv_now.tv_sec > tv_ref.tv_sec) || +- ((tv_now.tv_sec == tv_ref.tv_sec) && (tv_now.tv_usec >= tv_ref.tv_usec))) +- waiting = 0; ++ if (context && context != &urb) { ++ context->usercontext = URB_USERCONTEXT_COOKIE; ++ /* We need to restart since we got a successful URB, but not ours */ ++ goto restart; + } + + /* +@@ -231,14 +245,14 @@ + * something happened during the reaping and we should return that + * error now + */ +- if (ret < 0 && errno != EAGAIN) ++ if (ret < 0 && !urb.usercontext && errno != EAGAIN) + USB_ERROR_STR(-errno, "error reaping URB: %s", strerror(errno)); + + bytesdone += urb.actual_length; +- } while (ret == 0 && bytesdone < size && urb.actual_length == requested); ++ } while ((ret == 0 || urb.usercontext) && bytesdone < size && urb.actual_length == requested); + + /* If the URB didn't complete in success or error, then let's unlink it */ +- if (ret < 0) { ++ if (ret < 0 && !urb.usercontext) { + int rc; + + if (!waiting) +diff -urN libusb_0.1.10a.orig/usb.h.in libusb-0.1.10a/usb.h.in +--- libusb_0.1.10a.orig/usb.h.in 2004-08-03 20:20:38.000000000 +0200 ++++ libusb-0.1.10a/usb.h.in 2005-06-30 19:40:00.000000000 +0200 +@@ -13,8 +13,9 @@ + + #include <unistd.h> + #include <stdlib.h> ++#include <stdint.h> + #include <limits.h> +- ++#include <sys/param.h> + #include <dirent.h> + + /* +@@ -63,40 +64,40 @@ + + /* All standard descriptors have these 2 fields in common */ + struct usb_descriptor_header { +- u_int8_t bLength; +- u_int8_t bDescriptorType; +-}; ++ uint8_t bLength; ++ uint8_t bDescriptorType; ++} __attribute__ ((packed)); + + /* String descriptor */ + struct usb_string_descriptor { +- u_int8_t bLength; +- u_int8_t bDescriptorType; +- u_int16_t wData[1]; +-}; ++ uint8_t bLength; ++ uint8_t bDescriptorType; ++ uint16_t wData[1]; ++} __attribute__ ((packed)); + + /* HID descriptor */ + struct usb_hid_descriptor { +- u_int8_t bLength; +- u_int8_t bDescriptorType; +- u_int16_t bcdHID; +- u_int8_t bCountryCode; +- u_int8_t bNumDescriptors; +- /* u_int8_t bReportDescriptorType; */ +- /* u_int16_t wDescriptorLength; */ ++ uint8_t bLength; ++ uint8_t bDescriptorType; ++ uint16_t bcdHID; ++ uint8_t bCountryCode; ++ uint8_t bNumDescriptors; ++ /* uint8_t bReportDescriptorType; */ ++ /* uint16_t wDescriptorLength; */ + /* ... */ +-}; ++} __attribute__ ((packed)); + + /* Endpoint descriptor */ + #define USB_MAXENDPOINTS 32 + struct usb_endpoint_descriptor { +- u_int8_t bLength; +- u_int8_t bDescriptorType; +- u_int8_t bEndpointAddress; +- u_int8_t bmAttributes; +- u_int16_t wMaxPacketSize; +- u_int8_t bInterval; +- u_int8_t bRefresh; +- u_int8_t bSynchAddress; ++ uint8_t bLength __attribute__ ((packed)); ++ uint8_t bDescriptorType __attribute__ ((packed)); ++ uint8_t bEndpointAddress __attribute__ ((packed)); ++ uint8_t bmAttributes __attribute__ ((packed)); ++ uint16_t wMaxPacketSize __attribute__ ((packed)); ++ uint8_t bInterval __attribute__ ((packed)); ++ uint8_t bRefresh __attribute__ ((packed)); ++ uint8_t bSynchAddress __attribute__ ((packed)); + + unsigned char *extra; /* Extra descriptors */ + int extralen; +@@ -114,15 +115,15 @@ + /* Interface descriptor */ + #define USB_MAXINTERFACES 32 + struct usb_interface_descriptor { +- u_int8_t bLength; +- u_int8_t bDescriptorType; +- u_int8_t bInterfaceNumber; +- u_int8_t bAlternateSetting; +- u_int8_t bNumEndpoints; +- u_int8_t bInterfaceClass; +- u_int8_t bInterfaceSubClass; +- u_int8_t bInterfaceProtocol; +- u_int8_t iInterface; ++ uint8_t bLength __attribute__ ((packed));; ++ uint8_t bDescriptorType __attribute__ ((packed));; ++ uint8_t bInterfaceNumber __attribute__ ((packed));; ++ uint8_t bAlternateSetting __attribute__ ((packed));; ++ uint8_t bNumEndpoints __attribute__ ((packed));; ++ uint8_t bInterfaceClass __attribute__ ((packed));; ++ uint8_t bInterfaceSubClass __attribute__ ((packed));; ++ uint8_t bInterfaceProtocol __attribute__ ((packed));; ++ uint8_t iInterface __attribute__ ((packed));; + + struct usb_endpoint_descriptor *endpoint; + +@@ -140,14 +141,14 @@ + /* Configuration descriptor information.. */ + #define USB_MAXCONFIG 8 + struct usb_config_descriptor { +- u_int8_t bLength; +- u_int8_t bDescriptorType; +- u_int16_t wTotalLength; +- u_int8_t bNumInterfaces; +- u_int8_t bConfigurationValue; +- u_int8_t iConfiguration; +- u_int8_t bmAttributes; +- u_int8_t MaxPower; ++ uint8_t bLength __attribute__ ((packed)); ++ uint8_t bDescriptorType __attribute__ ((packed)); ++ uint16_t wTotalLength __attribute__ ((packed)); ++ uint8_t bNumInterfaces __attribute__ ((packed)); ++ uint8_t bConfigurationValue __attribute__ ((packed)); ++ uint8_t iConfiguration __attribute__ ((packed)); ++ uint8_t bmAttributes __attribute__ ((packed)); ++ uint8_t MaxPower __attribute__ ((packed)); + + struct usb_interface *interface; + +@@ -157,29 +158,29 @@ + + /* Device descriptor */ + struct usb_device_descriptor { +- u_int8_t bLength; +- u_int8_t bDescriptorType; +- u_int16_t bcdUSB; +- u_int8_t bDeviceClass; +- u_int8_t bDeviceSubClass; +- u_int8_t bDeviceProtocol; +- u_int8_t bMaxPacketSize0; +- u_int16_t idVendor; +- u_int16_t idProduct; +- u_int16_t bcdDevice; +- u_int8_t iManufacturer; +- u_int8_t iProduct; +- u_int8_t iSerialNumber; +- u_int8_t bNumConfigurations; +-}; ++ uint8_t bLength; ++ uint8_t bDescriptorType; ++ uint16_t bcdUSB; ++ uint8_t bDeviceClass; ++ uint8_t bDeviceSubClass; ++ uint8_t bDeviceProtocol; ++ uint8_t bMaxPacketSize0; ++ uint16_t idVendor; ++ uint16_t idProduct; ++ uint16_t bcdDevice; ++ uint8_t iManufacturer; ++ uint8_t iProduct; ++ uint8_t iSerialNumber; ++ uint8_t bNumConfigurations; ++} __attribute__ ((packed)); + + struct usb_ctrl_setup { +- u_int8_t bRequestType; +- u_int8_t bRequest; +- u_int16_t wValue; +- u_int16_t wIndex; +- u_int16_t wLength; +-}; ++ uint8_t bRequestType; ++ uint8_t bRequest; ++ uint16_t wValue; ++ uint16_t wIndex; ++ uint16_t wLength; ++} __attribute__ ((packed)); + + /* + * Standard requests +@@ -249,7 +250,7 @@ + + void *dev; /* Darwin support */ + +- u_int8_t devnum; ++ uint8_t devnum; + + unsigned char num_children; + struct usb_device **children; +@@ -261,7 +262,7 @@ + char dirname[PATH_MAX + 1]; + + struct usb_device *devices; +- u_int32_t location; ++ uint32_t location; + + struct usb_device *root_dev; + }; diff --git a/recipes/libusb/libusb-0.1.8/amd64-fPIC.patch b/recipes/libusb/libusb-0.1.8/amd64-fPIC.patch new file mode 100644 index 0000000000..b8cfdbe697 --- /dev/null +++ b/recipes/libusb/libusb-0.1.8/amd64-fPIC.patch @@ -0,0 +1,11 @@ +--- Makefile.in.orig 2004-03-27 16:34:18.371955584 +0100 ++++ Makefile.in 2004-03-27 16:34:07.796563288 +0100 +@@ -54,7 +54,7 @@ + CC = @CC@ + CCDEPMODE = @CCDEPMODE@ + +-CFLAGS = $(CFLAGS_EXT) ++CFLAGS = $(CFLAGS_EXT) -fPIC + CPP = @CPP@ + CPPFLAGS = @CPPFLAGS@ + CXX = @CXX@ diff --git a/recipes/libusb/libusb-0.1.8/configure.patch b/recipes/libusb/libusb-0.1.8/configure.patch new file mode 100644 index 0000000000..6f014a9dcd --- /dev/null +++ b/recipes/libusb/libusb-0.1.8/configure.patch @@ -0,0 +1,99 @@ +--- libusb-0.1.8/configure.in~configure.patch 2004-02-12 03:27:18.000000000 +1100 ++++ libusb-0.1.8/configure.in 2004-11-03 20:17:45.949802575 +1100 +@@ -1,10 +1,11 @@ + # This configure.in is based off of the one that glib uses + + # require atleast autoconf 2.13 +-AC_PREREQ(2.13) ++AC_PREREQ(2.57) + + # init autoconf (and check for presence of usb.c) +-AC_INIT(usb.c) ++AC_INIT ++AC_CONFIG_SRCDIR([usb.c]) + + AH_TOP( + #undef LINUX_API +@@ -29,8 +30,8 @@ + + dnl we need to AC_DIVERT_PUSH/AC_DIVERT_POP these variable definitions so they + dnl are available for $ac_help expansion (don't we all *love* autoconf?) +-ifdef([AC_DIVERSION_NOTICE], [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], +- [AC_DIVERT_PUSH(NOTICE)]) ++dnl ifdef([AC_DIVERSION_NOTICE], [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], ++dnl [AC_DIVERT_PUSH(NOTICE)]) + + # + # The following version number definitions apply to libusb +@@ -52,7 +53,7 @@ + LIBUSB_BINARY_AGE=4 + LIBUSB_VERSION=$LIBUSB_MAJOR_VERSION.$LIBUSB_MINOR_VERSION.$LIBUSB_MICRO_VERSION + dnl +-AC_DIVERT_POP()dnl ++dnl AC_DIVERT_POP()dnl + + AC_SUBST(LIBUSB_MAJOR_VERSION) + AC_SUBST(LIBUSB_MINOR_VERSION) +@@ -81,7 +82,7 @@ + AM_INIT_AUTOMAKE($PACKAGE, $VERSION, no-define) + + # Specify a configuration file +-AM_CONFIG_HEADER(config.h) ++AC_CONFIG_HEADERS([config.h]) + + AC_DEFINE_UNQUOTED(LIBUSB_MAJOR_VERSION, $LIBUSB_MAJOR_VERSION) + AC_DEFINE_UNQUOTED(LIBUSB_MINOR_VERSION, $LIBUSB_MINOR_VERSION) +@@ -149,14 +150,14 @@ + + dnl figure debugging default, prior to $ac_help setup + dnl +-ifdef([AC_DIVERSION_NOTICE], [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], +- [AC_DIVERT_PUSH(NOTICE)]) ++dnl ifdef([AC_DIVERSION_NOTICE], [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], ++dnl [AC_DIVERT_PUSH(NOTICE)]) + if test `expr $LIBUSB_MINOR_VERSION \% 2` = 1 ; then + debug_default=yes + else + debug_default=minimum + fi +-AC_DIVERT_POP()dnl ++dnl AC_DIVERT_POP()dnl + + dnl declare --enable-* args and collect ac_help strings + AC_ARG_ENABLE(debug, [ --enable-debug=[no/minimum/yes] turn on debugging [default=$debug_default]],,enable_debug=$debug_default) +@@ -207,15 +208,11 @@ + + if test "$os_support" = "bsd"; then + AC_MSG_CHECKING(if dev/usb/usb.h uses new naming convention) +- AC_TRY_COMPILE( +- [#include <dev/usb/usb.h>], +- [int main(void) ++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <dev/usb/usb.h>]], [[int main(void) + { + int a = ((struct usb_ctl_request *)0L)->ucr_addr; + return 0; +- }], +- [AC_MSG_RESULT(yes)], +- [AC_MSG_RESULT(no) ++ }]])],[AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no) + AC_DEFINE_UNQUOTED(HAVE_OLD_DEV_USB_USB_H)]) + fi + +@@ -246,7 +243,7 @@ + + AM_CONDITIONAL(BUILD_DOCS, test "$build_docs" != "no") + +-AC_OUTPUT([ ++AC_CONFIG_FILES([ + Makefile + doc/Makefile + libusb.spec +@@ -255,5 +252,6 @@ + README + INSTALL.libusb + usb.h +-],[chmod +x libusb-config]) +- ++]) ++AC_CONFIG_COMMANDS([default],[[chmod +x libusb-config]],[[]]) ++AC_OUTPUT diff --git a/recipes/libusb/libusb-0.1.8/pkgconfig.patch b/recipes/libusb/libusb-0.1.8/pkgconfig.patch new file mode 100644 index 0000000000..737c89edb0 --- /dev/null +++ b/recipes/libusb/libusb-0.1.8/pkgconfig.patch @@ -0,0 +1,68 @@ +--- libusb-0.1.8.orig/libusb.pc.in ++++ libusb-0.1.8/libusb.pc.in +@@ -0,0 +1,11 @@ ++prefix=@prefix@ ++exec_prefix=@exec_prefix@ ++libdir=@libdir@ ++includedir=@includedir@ ++ ++Name: libusb ++Description: USB access library ++Version: @VERSION@ ++Libs: -L${libdir} -lusb ++Cflags: -I${includedir} ++ +--- libusb-0.1.8.orig/configure.in ++++ libusb-0.1.8/configure.in +@@ -219,6 +219,26 @@ + AC_DEFINE_UNQUOTED(HAVE_OLD_DEV_USB_USB_H)]) + fi + ++#pkg-config: pkg-config is a tool to simplify checks for libraries and versions. ++pkgconfig_msg="no (http://www.freedesktop.org/software/pkgconfig)" ++try_pkgconfig=true ++have_pkgconfig=false ++AC_ARG_WITH(pkgconfig, [ --without-pkgconfig don't use pkg-config],[ ++ if test x$withval = xno; then ++ try_pkgconfig=false ++ pkgconfig_msg="no (not requested)" ++ fi]) ++if $try_pkgconfig; then ++ AC_PATH_PROG(PKG_CONFIG,pkg-config) ++ if test -n "${PKG_CONFIG}"; then ++ have_pkgconfig=true ++ pkgconfig_msg="yes" ++ fi ++fi ++# guessing directory to install *.pc into ++pkgconfigdir='${libdir}/pkgconfig' ++AC_SUBST(pkgconfigdir) ++ + # Check if the user wants to enable documentation + AC_MSG_CHECKING(if we should build the documentation) + AC_ARG_ENABLE(build-docs, [ --disable-build-docs turn off building documentation], +@@ -249,6 +269,7 @@ + AC_OUTPUT([ + Makefile + doc/Makefile ++ libusb.pc + libusb.spec + libusb-config + tests/Makefile +--- libusb-0.1.8.orig/Makefile.am ++++ libusb-0.1.8/Makefile.am +@@ -12,11 +12,13 @@ + + bin_SCRIPTS = libusb-config + +-EXTRA_DIST = LICENSE libusb.spec.in libusb.spec libusb-config.in README.in README INSTALL.libusb.in INSTALL.libusb ++EXTRA_DIST = LICENSE libusb.spec.in libusb.spec libusb-config.in README.in README INSTALL.libusb.in INSTALL.libusb libusb.pc.in + EXTRA_libusb_la_SOURCE = linux.c linux.h bsd.c darwin.c + + lib_LTLIBRARIES = libusb.la + ++pkgconfig_DATA= libusb.pc ++ + if LINUX_API + OS_SUPPORT = linux.c linux.h + else diff --git a/recipes/libusb/libusb-compat-0.0.9+0.1.0-beta2/0.1.0-beta1-gcc3.4-fix.patch b/recipes/libusb/libusb-compat-0.0.9+0.1.0-beta2/0.1.0-beta1-gcc3.4-fix.patch new file mode 100644 index 0000000000..501ba3fb29 --- /dev/null +++ b/recipes/libusb/libusb-compat-0.0.9+0.1.0-beta2/0.1.0-beta1-gcc3.4-fix.patch @@ -0,0 +1,13 @@ +Index: libusb-compat-0.1.0-beta1/configure.ac +=================================================================== +--- libusb-compat-0.1.0-beta1.orig/configure.ac 2008-07-21 13:14:42.000000000 +0200 ++++ libusb-compat-0.1.0-beta1/configure.ac 2008-07-21 13:15:03.000000000 +0200 +@@ -55,7 +55,7 @@ + CFLAGS="$saved_cflags" + + AC_DEFINE([API_EXPORTED], [__attribute__((visibility("default")))], [Default visibility]) +-AM_CFLAGS="-std=gnu99 $inline_cflags -Wall -Wundef -Wunused -Wstrict-prototypes -Werror-implicit-function-declaration -Wno-pointer-sign -Wshadow" ++AM_CFLAGS="-std=gnu99 $inline_cflags -Wall -Wundef -Wunused -Wstrict-prototypes -Werror-implicit-function-declaration -Wshadow" + AC_SUBST(AM_CFLAGS) + + AC_CONFIG_FILES([libusb.pc] [libusb-config] [Makefile] [libusb/Makefile] [examples/Makefile]) diff --git a/recipes/libusb/libusb-compat_0.0.9+0.1.0-beta2.bb b/recipes/libusb/libusb-compat_0.0.9+0.1.0-beta2.bb new file mode 100644 index 0000000000..34cc1ac50d --- /dev/null +++ b/recipes/libusb/libusb-compat_0.0.9+0.1.0-beta2.bb @@ -0,0 +1,39 @@ +DESCRIPTION = "libusb is a library to provide userspace \ +access to USB devices." +HOMEPAGE = "http://libusb.sf.net" +SECTION = "libs" +LICENSE = "LGPL" + +PE = "1" +PR = "r0" + +DEPENDS = "libusb1" + +SRC_URI = "${SOURCEFORGE_MIRROR}/libusb/libusb-compat-0.1.0-beta2.tar.bz2 \ + file://0.1.0-beta1-gcc3.4-fix.patch;patch=1 \ + " + +S = "${WORKDIR}/libusb-compat-0.1.0-beta2" + +inherit autotools pkgconfig binconfig lib_package + +PARALLEL_MAKE = "" +EXTRA_OECONF = "--disable-build-docs" + +export CXXFLAGS += "-lstdc++ -I${STAGING_INCDIR}" + +do_stage() { + autotools_stage_all + install -m 755 ${S}/libusb-config ${STAGING_BINDIR} + # can we get rid of that? wouldn't a sed statement do as well? + sed -i 's:\-L${libdir} :-L${STAGING_LIBDIR} :' ${STAGING_BINDIR}/libusb-config + + if [ "${STAGING_BINDIR}" != "${STAGING_BINDIR_CROSS}" ]; then + install -d ${STAGING_BINDIR_CROSS}/ + mv ${STAGING_BINDIR}/libusb-config ${STAGING_BINDIR_CROSS}/libusb-config + fi +} + +PACKAGES =+ "libusbpp" + +FILES_libusbpp = "${libdir}/libusbpp*.so.*" diff --git a/recipes/libusb/libusb-compat_0.1.0.bb b/recipes/libusb/libusb-compat_0.1.0.bb new file mode 100644 index 0000000000..887765133a --- /dev/null +++ b/recipes/libusb/libusb-compat_0.1.0.bb @@ -0,0 +1,36 @@ +DESCRIPTION = "libusb is a library to provide userspace \ +access to USB devices." +HOMEPAGE = "http://libusb.sf.net" +SECTION = "libs" +LICENSE = "LGPL" + +PE = "1" +PR = "r0" + +DEPENDS = "libusb1" + +SRC_URI = "${SOURCEFORGE_MIRROR}/libusb/libusb-compat-${PV}.tar.bz2 \ + " + +inherit autotools pkgconfig binconfig lib_package + +PARALLEL_MAKE = "" +EXTRA_OECONF = "--disable-build-docs" + +export CXXFLAGS += "-lstdc++ -I${STAGING_INCDIR}" + +do_stage() { + autotools_stage_all + install -m 755 ${S}/libusb-config ${STAGING_BINDIR} + # can we get rid of that? wouldn't a sed statement do as well? + sed -i 's:\-L${libdir} :-L${STAGING_LIBDIR} :' ${STAGING_BINDIR}/libusb-config + + if [ "${STAGING_BINDIR}" != "${STAGING_BINDIR_CROSS}" ]; then + install -d ${STAGING_BINDIR_CROSS}/ + mv ${STAGING_BINDIR}/libusb-config ${STAGING_BINDIR_CROSS}/libusb-config + fi +} + +PACKAGES =+ "libusbpp" + +FILES_libusbpp = "${libdir}/libusbpp*.so.*" diff --git a/recipes/libusb/libusb-native_0.1.10a.bb b/recipes/libusb/libusb-native_0.1.10a.bb new file mode 100644 index 0000000000..a76768c3b6 --- /dev/null +++ b/recipes/libusb/libusb-native_0.1.10a.bb @@ -0,0 +1,4 @@ +require libusb_${PV}.bb +inherit native + +FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/libusb-0.1.10a" diff --git a/recipes/libusb/libusb-native_0.1.12.bb b/recipes/libusb/libusb-native_0.1.12.bb new file mode 100644 index 0000000000..637ded28e4 --- /dev/null +++ b/recipes/libusb/libusb-native_0.1.12.bb @@ -0,0 +1,3 @@ +require libusb_${PV}.bb +inherit native + diff --git a/recipes/libusb/libusb1-0.9.2/0.9.0-gcc3.4-compat-fix.patch b/recipes/libusb/libusb1-0.9.2/0.9.0-gcc3.4-compat-fix.patch new file mode 100644 index 0000000000..1b06945d1a --- /dev/null +++ b/recipes/libusb/libusb1-0.9.2/0.9.0-gcc3.4-compat-fix.patch @@ -0,0 +1,13 @@ +Index: libusb-0.9.0/configure.ac +=================================================================== +--- libusb-0.9.0.orig/configure.ac 2008-07-21 08:04:03.000000000 +0200 ++++ libusb-0.9.0/configure.ac 2008-07-21 08:04:16.000000000 +0200 +@@ -62,7 +62,7 @@ + CFLAGS="$saved_cflags" + + AC_DEFINE([API_EXPORTED], [__attribute__((visibility("default")))], [Default visibility]) +-AM_CFLAGS="-std=gnu99 $inline_cflags -Wall -Wundef -Wunused -Wstrict-prototypes -Werror-implicit-function-declaration -Wno-pointer-sign -Wshadow" ++AM_CFLAGS="-std=gnu99 $inline_cflags -Wall -Wundef -Wunused -Wstrict-prototypes -Werror-implicit-function-declaration -Wshadow" + AC_SUBST(AM_CFLAGS) + + AC_CONFIG_FILES([libusb-1.0.pc] [Makefile] [libusb/Makefile] [examples/Makefile] [doc/Makefile]) diff --git a/recipes/libusb/libusb1_0.9.2.bb b/recipes/libusb/libusb1_0.9.2.bb new file mode 100644 index 0000000000..2c144f053d --- /dev/null +++ b/recipes/libusb/libusb1_0.9.2.bb @@ -0,0 +1,30 @@ +DESCRIPTION = "libusb is a library to provide userspace \ +access to USB devices." +HOMEPAGE = "http://libusb.sf.net" +SECTION = "libs" +LICENSE = "LGPL" + +PR = "r0" + +SRC_URI = "\ + ${SOURCEFORGE_MIRROR}/libusb/libusb-${PV}.tar.bz2 \ + file://0.9.0-gcc3.4-compat-fix.patch;patch=1 \ +" +S = "${WORKDIR}/libusb-${PV}" + +inherit autotools pkgconfig binconfig lib_package + +PARALLEL_MAKE = "" +EXTRA_OECONF = "--disable-build-docs" + +export CXXFLAGS += "-lstdc++ -I${STAGING_INCDIR}" + +LIBTOOL = "${HOST_SYS}-libtool" +EXTRA_OEMAKE = "'LIBTOOL=${LIBTOOL}'" + +do_stage() { + autotools_stage_all +} + +PACKAGES =+ "libusbpp" +FILES_libusbpp = "${libdir}/libusbpp*.so.*" diff --git a/recipes/libusb/libusb1_1.0.0.bb b/recipes/libusb/libusb1_1.0.0.bb new file mode 100644 index 0000000000..8450a7c946 --- /dev/null +++ b/recipes/libusb/libusb1_1.0.0.bb @@ -0,0 +1,29 @@ +DESCRIPTION = "libusb is a library to provide userspace \ +access to USB devices." +HOMEPAGE = "http://libusb.sf.net" +SECTION = "libs" +LICENSE = "LGPL" + +PR = "r0" + +SRC_URI = "\ + ${SOURCEFORGE_MIRROR}/libusb/libusb-${PV}.tar.bz2 \ +" +S = "${WORKDIR}/libusb-${PV}" + +inherit autotools pkgconfig binconfig lib_package + +PARALLEL_MAKE = "" +EXTRA_OECONF = "--disable-build-docs" + +export CXXFLAGS += "-lstdc++ -I${STAGING_INCDIR}" + +LIBTOOL = "${HOST_SYS}-libtool" +EXTRA_OEMAKE = "'LIBTOOL=${LIBTOOL}'" + +do_stage() { + autotools_stage_all +} + +PACKAGES =+ "libusbpp" +FILES_libusbpp = "${libdir}/libusbpp*.so.*" diff --git a/recipes/libusb/libusb_0.0.0.bb b/recipes/libusb/libusb_0.0.0.bb new file mode 100644 index 0000000000..fe4595611d --- /dev/null +++ b/recipes/libusb/libusb_0.0.0.bb @@ -0,0 +1,27 @@ +DESCRIPTION = "libusb is a library to provide userspace access to USB \ +devices. This version is a metapackage that pulls in libusb-compat, \ +the replacement for libusb." + +# This version of libusb will never be pulled in automagically. The +# intention is that a distro wishing to use libusb1 and libusb-compat +# will place the following in the appropriate conf file: +# +# PREFERRED_VERSION_libusb = "0.0.0" +# +# This essentially results in the replacement of libusb by libusb-compat, +# and resolves the issues of some packages depending on libusb, while +# other (newer) ones depend on libusb-compat. +# +# Note that using this version of libusb will break certain packages +# that cannot work with libusb-compat (gnuradio is said to be such a +# packages, as is dfu-util). Unfortunately other packages (such as bluez) +# require libusb-compat -- there's no good solution for this conflict +# at this time. The fundamental problem is that both libusb and +# libusb-compat stage to the same libs (/usr/lib/libusb.a, for example), +# so if you have built both, the last one staged wins. +# +# This "hack" seems to be the most flexible and least intrusive workaround. + +DEFAULT_PREFERENCE = "-1" + +DEPENDS = "libusb-compat" diff --git a/recipes/libusb/libusb_0.1.10a.bb b/recipes/libusb/libusb_0.1.10a.bb new file mode 100644 index 0000000000..8648f96571 --- /dev/null +++ b/recipes/libusb/libusb_0.1.10a.bb @@ -0,0 +1,39 @@ +DESCRIPTION = "libusb is a library to provide userspace \ +access to USB devices." +SECTION = "libs" +LICENSE = "LGPL" +PR = "r7" + +SRC_URI = "${SOURCEFORGE_MIRROR}/libusb/libusb-${PV}.tar.gz \ + file://debian-changes.patch;patch=1" + +S = "${WORKDIR}/libusb-${PV}" + +inherit autotools pkgconfig + +PARALLEL_MAKE = "" + +EXTRA_OECONF = "--disable-build-docs" + +do_stage() { + oe_libinstall -a -so libusb ${STAGING_LIBDIR} + + install -d ${STAGING_BINDIR} + install -m 755 ${S}/libusb-config ${STAGING_BINDIR} + perl -pi -e 's:\-L${libdir} :-L${STAGING_LIBDIR} :' ${STAGING_BINDIR}/libusb-config + + if [ "${STAGING_BINDIR}" != "${STAGING_BINDIR_CROSS}" ]; then + install -d ${STAGING_BINDIR_CROSS}/ + mv ${STAGING_BINDIR}/libusb-config ${STAGING_BINDIR_CROSS}/libusb-config + fi + + install -d ${STAGING_INCDIR}/ + for X in usb.h + do + install -m 0644 ${S}/$X ${STAGING_INCDIR}/$X + done +} + +PACKAGES =+ "libusbpp" + +FILES_libusbpp = "${libdir}/libusbpp*.so.*" diff --git a/recipes/libusb/libusb_0.1.12.bb b/recipes/libusb/libusb_0.1.12.bb new file mode 100644 index 0000000000..3d6a213b45 --- /dev/null +++ b/recipes/libusb/libusb_0.1.12.bb @@ -0,0 +1,36 @@ +DESCRIPTION = "libusb is a library to provide userspace \ +access to USB devices." +HOMEPAGE = "http://libusb.sf.net" +SECTION = "libs" +LICENSE = "LGPL" +PR = "r3" + +SRC_URI = "${SOURCEFORGE_MIRROR}/libusb/libusb-${PV}.tar.gz \ + file://configure_fix.patch;patch=1" + +S = "${WORKDIR}/libusb-${PV}" + +inherit autotools pkgconfig binconfig lib_package + +PARALLEL_MAKE = "" +EXTRA_OECONF = "--disable-build-docs" + +export CXXFLAGS += "-lstdc++ -I${STAGING_INCDIR}" + +do_stage() { + + autotools_stage_all + install -m 755 ${S}/libusb-config ${STAGING_BINDIR} + # can we get rid of that? wouldn't a sed statement do as well? + sed -i 's:\-L${libdir} :-L${STAGING_LIBDIR} :' ${STAGING_BINDIR}/libusb-config + + if [ "${STAGING_BINDIR}" != "${STAGING_BINDIR_CROSS}" ]; then + install -d ${STAGING_BINDIR_CROSS}/ + mv ${STAGING_BINDIR}/libusb-config ${STAGING_BINDIR_CROSS}/libusb-config + fi + +} + +PACKAGES =+ "libusbpp" + +FILES_libusbpp = "${libdir}/libusbpp*.so.*" |