From: Mike Crowe <mac@mcrowe.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH] Upgrade libusb to v1.0.3 and add new libusb-compat package for compatibility with old packages that expect the pre-1.0 API.
Date: Thu, 11 Feb 2010 13:32:49 +0000 [thread overview]
Message-ID: <20100211133249.GA32287@mcrowe.com> (raw)
Switch to using AUTOTARGETS while we're at it.
I'm not certain that libusb-compat-0.1.3-pkgconfig.patch is essential
but it doesn't seem to do any harm.
Also update usb_modeswitch to depend on libusb-compat rather than
libusb.
Signed-off-by: Mike Crowe <mac@mcrowe.com>
---
package/Config.in | 1 +
package/libusb-compat/Config.in | 7 ++
.../libusb-compat-0.1.3-pkgconfig.patch | 10 +++
package/libusb-compat/libusb-compat.mk | 15 ++++
package/libusb/libusb-0.1.12-nocpp.patch | 20 -----
package/libusb/libusb.mk | 86 +++-----------------
package/usb_modeswitch/Config.in | 2 +-
package/usb_modeswitch/usb_modeswitch.mk | 2 +-
8 files changed, 45 insertions(+), 98 deletions(-)
create mode 100644 package/libusb-compat/Config.in
create mode 100644 package/libusb-compat/libusb-compat-0.1.3-pkgconfig.patch
create mode 100644 package/libusb-compat/libusb-compat.mk
delete mode 100644 package/libusb/libusb-0.1.12-nocpp.patch
diff --git a/package/Config.in b/package/Config.in
index 5ddd63c..72f65b6 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -251,6 +251,7 @@ source "package/iostat/Config.in"
source "package/libaio/Config.in"
source "package/libraw1394/Config.in"
source "package/libusb/Config.in"
+source "package/libusb-compat/Config.in"
source "package/lm-sensors/Config.in"
source "package/lvm2/Config.in"
source "package/mdadm/Config.in"
diff --git a/package/libusb-compat/Config.in b/package/libusb-compat/Config.in
new file mode 100644
index 0000000..f6f49ca
--- /dev/null
+++ b/package/libusb-compat/Config.in
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_LIBUSB_COMPAT
+ bool "libusb-compat"
+ depends on BR2_PACKAGE_LIBUSB
+ help
+ libusb-0.1 compatibility layer for libusb-1.0.
+
+ http://libusb.sourceforge.net/
diff --git a/package/libusb-compat/libusb-compat-0.1.3-pkgconfig.patch b/package/libusb-compat/libusb-compat-0.1.3-pkgconfig.patch
new file mode 100644
index 0000000..e5ba786
--- /dev/null
+++ b/package/libusb-compat/libusb-compat-0.1.3-pkgconfig.patch
@@ -0,0 +1,10 @@
+--- libusb-compat-0.1.3.orig/libusb.pc.in 2008-06-18 00:13:02.000000000 +0100
++++ libusb-compat-0.1.3/libusb.pc.in 2009-09-16 12:06:50.000000000 +0100
+@@ -9,6 +9,7 @@ emulated_by=libusb-1.0
+ Name: libusb
+ Description: USB access library (libusb-1.0 compat wrapper)
+ Version: @LIBUSB01_VERSION@
++Requires: libusb-1.0
+ Libs: -L${libdir} -lusb
+ Cflags: -I${includedir}
+
diff --git a/package/libusb-compat/libusb-compat.mk b/package/libusb-compat/libusb-compat.mk
new file mode 100644
index 0000000..e61bbd4
--- /dev/null
+++ b/package/libusb-compat/libusb-compat.mk
@@ -0,0 +1,15 @@
+#############################################################
+#
+# libusb-compat
+#
+#############################################################
+LIBUSB_COMPAT_VERSION = 0.1.3
+LIBUSB_COMPAT_SOURCE = libusb-compat-$(LIBUSB_COMPAT_VERSION).tar.bz2
+LIBUSB_COMPAT_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/project/libusb/libusb-compat-0.1/libusb-compat-$(LIBUSB_COMPAT_VERSION)
+LIBUSB_COMPAT_AUTOCONF = NO
+LIBUSB_COMPAT_LIBTOOL_PATCH = NO
+LIBUSB_COMPAT_DEPENDENCIES = uclibc host-pkg-config libusb
+LIBUSB_COMPAT_INSTALL_STAGING = YES
+LIBUSB_COMPAT_INSTALL_TARGET = YES
+
+$(eval $(call AUTOTARGETS,package,libusb-compat))
diff --git a/package/libusb/libusb-0.1.12-nocpp.patch b/package/libusb/libusb-0.1.12-nocpp.patch
deleted file mode 100644
index de1a8c7..0000000
--- a/package/libusb/libusb-0.1.12-nocpp.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- libusb-0.1.12/Makefile.am 2006-03-04 13:52:46.000000000 +1100
-+++ libusb-0.1.12/Makefile.am.new 2007-11-08 16:25:38.000000000 +1100
-@@ -4,7 +4,7 @@
- # gnu strictness chokes on README being autogenerated
- AUTOMAKE_OPTIONS = 1.4 foreign
-
--SUBDIRS = . tests doc
-+SUBDIRS = . doc
-
- AM_CFLAGS = -Werror
-
-@@ -19,7 +19,7 @@
- apidocs/footer.html apidocs/doxygen.css apidocs/doxygen.png libusb.pc.in
- EXTRA_libusb_la_SOURCE = linux.c linux.h bsd.c darwin.c
-
--lib_LTLIBRARIES = libusb.la libusbpp.la
-+lib_LTLIBRARIES = libusb.la
-
- pkgconfig_DATA = libusb.pc
-
diff --git a/package/libusb/libusb.mk b/package/libusb/libusb.mk
index adf3e20..3a8bbd7 100644
--- a/package/libusb/libusb.mk
+++ b/package/libusb/libusb.mk
@@ -3,79 +3,13 @@
# libusb
#
#############################################################
-LIBUSB_VERSION:=0.1.12
-LIBUSB_PATCH_FILE:=libusb_$(LIBUSB_VERSION)-10.diff.gz
-LIBUSB_SOURCE:=libusb_$(LIBUSB_VERSION).orig.tar.gz
-LIBUSB_SITE:=http://snapshot.debian.net/archive/2008/04/27/debian/pool/main/libu/libusb
-LIBUSB_DIR:=$(BUILD_DIR)/libusb-$(LIBUSB_VERSION)
-LIBUSB_CAT:=$(ZCAT)
-LIBUSB_BINARY:=usr/lib/libusb.so
-
-ifneq ($(LIBUSB_PATCH_FILE),)
-LIBUSB_PATCH=$(DL_DIR)/$(LIBUSB_PATCH_FILE)
-$(LIBUSB_PATCH):
- $(call DOWNLOAD,$(LIBUSB_SITE),$(LIBUSB_PATCH_FILE))
-endif
-$(DL_DIR)/$(LIBUSB_SOURCE): $(LIBUSB_PATCH)
- $(call DOWNLOAD,$(LIBUSB_SITE),$(LIBUSB_SOURCE))
- touch -c $@
-
-libusb-source: $(DL_DIR)/$(LIBUSB_SOURCE) $(LIBUSB_PATCH)
-
-libusb-unpacked: $(LIBUSB_DIR)/.unpacked
-$(LIBUSB_DIR)/.unpacked: $(DL_DIR)/$(LIBUSB_SOURCE)
- $(LIBUSB_CAT) $(DL_DIR)/$(LIBUSB_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
-ifneq ($(LIBUSB_PATCH_FILE),)
- (cd $(LIBUSB_DIR) && $(LIBUSB_CAT) $(LIBUSB_PATCH) | patch -p1)
-endif
- toolchain/patch-kernel.sh $(LIBUSB_DIR) package/libusb/ libusb-$(LIBUSB_VERSION)\*.patch*
- $(SED) 's,^all:.*,all:,g' $(LIBUSB_DIR)/tests/Makefile.in
- $(SED) 's,^install:.*,install:,g' $(LIBUSB_DIR)/tests/Makefile.in
- $(CONFIG_UPDATE) $(LIBUSB_DIR)
- cd $(LIBUSB_DIR) && $(AUTORECONF)
- touch $@
-
-$(LIBUSB_DIR)/.configured: $(LIBUSB_DIR)/.unpacked
- (cd $(LIBUSB_DIR); rm -rf config.cache; \
- $(TARGET_CONFIGURE_OPTS) \
- $(TARGET_CONFIGURE_ARGS) \
- ac_cv_header_regex_h=no \
- ./configure $(QUIET) \
- --target=$(GNU_TARGET_NAME) \
- --host=$(GNU_TARGET_NAME) \
- --build=$(GNU_HOST_NAME) \
- --prefix=$(STAGING_DIR)/usr \
- --disable-debug \
- --disable-build-docs \
- )
- touch $@
-
-$(STAGING_DIR)/usr/lib/libusb.so: $(LIBUSB_DIR)/.configured
- $(MAKE) -C $(LIBUSB_DIR)
- $(MAKE) -C $(LIBUSB_DIR) install
-
-$(TARGET_DIR)/$(LIBUSB_BINARY): $(STAGING_DIR)/usr/lib/libusb.so
- cp -dpf $(STAGING_DIR)/usr/lib/libusb*.so* $(TARGET_DIR)/usr/lib/
- $(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/lib/libusb*.so*
-
-libusb: host-pkg-config host-autoconf host-automake host-libtool $(TARGET_DIR)/$(LIBUSB_BINARY)
-
-libusb-clean:
- rm -f $(STAGING_DIR)/bin/libusb-config
- rm -f $(STAGING_DIR)/usr/includes/usb*.h
- rm -f $(STAGING_DIR)/lib/libusb*
- rm -rf $(STAGING_DIR)/lib/pkgconfig
- rm -f $(TARGET_DIR)/usr/lib/libusb*
- -$(MAKE) -C $(LIBUSB_DIR) clean
-
-libusb-dirclean:
- rm -rf $(LIBUSB_DIR)
-
-#############################################################
-#
-# Toplevel Makefile options
-#
-#############################################################
-ifeq ($(BR2_PACKAGE_LIBUSB),y)
-TARGETS+=libusb
-endif
+LIBUSB_VERSION = 1.0.3
+LIBUSB_SOURCE = libusb-$(LIBUSB_VERSION).tar.bz2
+LIBUSB_SITE = http://$(BR2_SOURCEFORGE_MIRROR).dl.sourceforge.net/project/libusb/libusb-1.0/libusb-$(LIBUSB_VERSION)
+LIBUSB_AUTORECONF = NO
+LIBUSB_LIBTOOL_PATCH = NO
+LIBUSB_DEPENDENCIES = uclibc host-pkg-config
+LIBUSB_INSTALL_STAGING = YES
+LIBUSB_INSTALL_TARGET = YES
+
+$(eval $(call AUTOTARGETS,package,libusb))
diff --git a/package/usb_modeswitch/Config.in b/package/usb_modeswitch/Config.in
index 41cd3a0..f9fa76e 100644
--- a/package/usb_modeswitch/Config.in
+++ b/package/usb_modeswitch/Config.in
@@ -1,6 +1,6 @@
config BR2_PACKAGE_USB_MODESWITCH
bool "usb_modeswitch"
- select BR2_PACKAGE_LIBUSB
+ select BR2_PACKAGE_LIBUSB_COMPAT
help
USB mode switcher.
Used to switch mode on multiple-function devices
diff --git a/package/usb_modeswitch/usb_modeswitch.mk b/package/usb_modeswitch/usb_modeswitch.mk
index 306d803..377bc3b 100644
--- a/package/usb_modeswitch/usb_modeswitch.mk
+++ b/package/usb_modeswitch/usb_modeswitch.mk
@@ -8,7 +8,7 @@ USB_MODESWITCH_VERSION = 1.0.7
USB_MODESWITCH_SOURCE = usb_modeswitch-$(USB_MODESWITCH_VERSION).tar.bz2
USB_MODESWITCH_SITE = http://www.draisberghof.de/usb_modeswitch
USB_MODESWITCH_INSTALL_TARGET_OPT = DESTDIR=$(TARGET_DIR) install
-USB_MODESWITCH_DEPENDENCIES = libusb
+USB_MODESWITCH_DEPENDENCIES = libusb-compat
USB_MODESWITCH_MAKE_OPT = CC="$(TARGET_CC)" OPTS="$(TARGET_CFLAGS)"
$(eval $(call AUTOTARGETS,package,usb_modeswitch))
--
1.5.6.5
reply other threads:[~2010-02-11 13:32 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100211133249.GA32287@mcrowe.com \
--to=mac@mcrowe.com \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.