/branches/gl-inet/package/libs/libusb-compat/Makefile |
@@ -0,0 +1,53 @@ |
# |
# Copyright (C) 2010-2015 OpenWrt.org |
# |
# This is free software, licensed under the GNU General Public License v2. |
# See /LICENSE for more information. |
# |
|
include $(TOPDIR)/rules.mk |
|
PKG_NAME:=libusb-compat |
PKG_VERSION:=0.1.5 |
PKG_RELEASE:=1 |
|
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 |
PKG_SOURCE_URL:=@SF/libusb |
PKG_HASH:=404ef4b6b324be79ac1bfb3d839eac860fbc929e6acb1ef88793a6ea328bc55a |
|
PKG_INSTALL:=1 |
PKG_BUILD_PARALLEL:=1 |
PKG_LICENSE:=LGPL-2.1 |
|
PKG_MAINTAINER := Felix Fietkau <nbd@nbd.name> |
|
include $(INCLUDE_DIR)/package.mk |
|
define Package/libusb-compat |
SECTION:=libs |
CATEGORY:=Libraries |
TITLE:=libusb-0.1 compatibility library |
DEPENDS:=+libusb-1.0 |
URL:=http://libusb.wiki.sourceforge.net/ |
endef |
|
define Package/libusb-compat/description |
libusb is a C library that gives applications easy access to USB devices on |
many different operating systems. |
endef |
|
TARGET_CFLAGS += $(FPIC) |
|
define Build/InstallDev |
$(INSTALL_DIR) $(1) |
$(CP) $(PKG_INSTALL_DIR)/* $(1)/ |
$(INSTALL_DIR) $(2)/bin |
$(CP) $(PKG_INSTALL_DIR)/usr/bin/libusb-config $(2)/bin/ |
endef |
|
define Package/libusb-compat/install |
$(INSTALL_DIR) $(1)/usr/lib |
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libusb-0.1.so* $(1)/usr/lib/ |
endef |
|
$(eval $(call BuildPackage,libusb-compat)) |
/branches/gl-inet/package/libs/libusb-compat/patches/001-fix-musl-stdint.patch |
@@ -0,0 +1,185 @@ |
--- a/libusb/usb.h |
+++ b/libusb/usb.h |
@@ -27,6 +27,7 @@ |
|
#include <unistd.h> |
#include <stdlib.h> |
+#include <stdint.h> |
#include <limits.h> |
|
#include <dirent.h> |
@@ -78,40 +79,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; |
}; |
|
/* 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]; |
}; |
|
/* 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; */ |
/* ... */ |
}; |
|
/* 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; |
+ uint8_t bDescriptorType; |
+ uint8_t bEndpointAddress; |
+ uint8_t bmAttributes; |
+ uint16_t wMaxPacketSize; |
+ uint8_t bInterval; |
+ uint8_t bRefresh; |
+ uint8_t bSynchAddress; |
|
unsigned char *extra; /* Extra descriptors */ |
int extralen; |
@@ -129,15 +130,15 @@ struct usb_endpoint_descriptor { |
/* 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; |
+ uint8_t bDescriptorType; |
+ uint8_t bInterfaceNumber; |
+ uint8_t bAlternateSetting; |
+ uint8_t bNumEndpoints; |
+ uint8_t bInterfaceClass; |
+ uint8_t bInterfaceSubClass; |
+ uint8_t bInterfaceProtocol; |
+ uint8_t iInterface; |
|
struct usb_endpoint_descriptor *endpoint; |
|
@@ -155,14 +156,14 @@ struct usb_interface { |
/* 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; |
+ uint8_t bDescriptorType; |
+ uint16_t wTotalLength; |
+ uint8_t bNumInterfaces; |
+ uint8_t bConfigurationValue; |
+ uint8_t iConfiguration; |
+ uint8_t bmAttributes; |
+ uint8_t MaxPower; |
|
struct usb_interface *interface; |
|
@@ -172,28 +173,28 @@ struct usb_config_descriptor { |
|
/* 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; |
}; |
|
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; |
}; |
|
/* |
@@ -254,7 +255,7 @@ struct usb_device { |
|
void *dev; /* Darwin support */ |
|
- u_int8_t devnum; |
+ uint8_t devnum; |
|
unsigned char num_children; |
struct usb_device **children; |
@@ -266,7 +267,7 @@ struct usb_bus { |
char dirname[PATH_MAX + 1]; |
|
struct usb_device *devices; |
- u_int32_t location; |
+ uint32_t location; |
|
struct usb_device *root_dev; |
}; |