summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Aring <alex.aring@gmail.com>2014-03-29 08:44:43 +0100
committerMichael Olbrich <m.olbrich@pengutronix.de>2014-04-03 08:18:59 +0200
commit127924094678e459b0d31cd81605317479d80c7f (patch)
treec981180e9f79b49d6d4139aaef1b44062519fa45
parentc3b43253a618292227d3a7678454ffc8d3478139 (diff)
downloadptxdist-127924094678e459b0d31cd81605317479d80c7f.tar.gz
ptxdist-127924094678e459b0d31cd81605317479d80c7f.tar.xz
libusb: drop libusb and use libusbx
This patch drops the libusb support and add the libusbx instead. We can do that because libusb and libusbx offers the same API, original text from libusbx project website: "If you are an existing user of libusb, you don't have to change anything. Just download the libusbx library and use it in your code. The library is designed as a drop in replacement for libusb, so please give it a try. If you don't like it, which we very much doubt, you can always revert..." Another point is that libusbx website says that the libusb project is somehow died and will not longer release new releases: "The reason for the fork is that, despite having dedicated members, libusb has still not been able to produce a new release for the past 2 years. When a project fails to produce regular releases, we consider that you, its user, are paying the ultimate price. This is because it means that patches and new feature are being witheld and you end up wasting your time." This patch fix also a few bugs which I detected: i) switch to "--disable-static", otherwise it was "--enable-shared --enable-static" ii) correct use of --disable-log and --enable-debug-log, there was an option for these two configure flags but also was a static "--disable-log --disable-debug-log" in the configure call, which makes no sense. iii) Fix Jürgen Beisert's mail address. iv) cleanup and remove _ENV and _PATH setting. new features: i) Add LIBUSB_SYSTEM_LOG which could enable --enable-system-log flag. ii) also adding some new disable flag --disable-tests-build iii) I add "--disable-udev" there but we should have a --enable-udev... The old one has no kind of udev support and I got a recursive dependency detection because udev-legacy needs usbutils which needs libusb. We should look at this in the near future. iv) change "libusb" entry to "libusbx" v) rename LIBUSB_DISBALE_LOG to LIBUSB_LOG and change logic. I also keep the patch from libusb and port it to libusbx because I saw that libusbx uses also pthreads. Signed-off-by: Alexander Aring <alex.aring@gmail.com> Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
-rw-r--r--patches/libusb-1.0.8/libusb-1.0.1-pkg-config.diff27
-rw-r--r--patches/libusb-1.0.8/series1
-rw-r--r--patches/libusbx-1.0.18/0001-libusbx-libusb-needs-librt-and-libpthread.patch35
-rw-r--r--patches/libusbx-1.0.18/series1
-rw-r--r--rules/libusb.in26
-rw-r--r--rules/libusb.make33
6 files changed, 62 insertions, 61 deletions
diff --git a/patches/libusb-1.0.8/libusb-1.0.1-pkg-config.diff b/patches/libusb-1.0.8/libusb-1.0.1-pkg-config.diff
deleted file mode 100644
index f3c05af0a..000000000
--- a/patches/libusb-1.0.8/libusb-1.0.1-pkg-config.diff
+++ /dev/null
@@ -1,27 +0,0 @@
-Subject: libusb needs librt and libpthread
-
-Add missing dependencies.
-
-Signed-off-by: Robert Schwebel <r.schwebel@pengutronix.de>
-
----
-# 20100603 rsc: The patch was closed upstream, and I don't
-# remember a use case any more :-( Let's keep it
-# here for the moment, until we have a user.
-# 20100101 rsc: added as http://libusb.org/ticket/24
-
- libusb-1.0.pc.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-Index: libusb-1.0.1/libusb-1.0.pc.in
-===================================================================
---- libusb-1.0.1.orig/libusb-1.0.pc.in
-+++ libusb-1.0.1/libusb-1.0.pc.in
-@@ -6,6 +6,6 @@ includedir=@includedir@
- Name: libusb-1.0
- Description: C API for USB device access from Linux userspace
- Version: @VERSION@
--Libs: -L${libdir} -lusb-1.0
-+Libs: -L${libdir} -lusb-1.0 -lrt -lpthread
- Cflags: -I${includedir}/libusb-1.0
-
diff --git a/patches/libusb-1.0.8/series b/patches/libusb-1.0.8/series
deleted file mode 100644
index 25e430f47..000000000
--- a/patches/libusb-1.0.8/series
+++ /dev/null
@@ -1 +0,0 @@
-libusb-1.0.1-pkg-config.diff
diff --git a/patches/libusbx-1.0.18/0001-libusbx-libusb-needs-librt-and-libpthread.patch b/patches/libusbx-1.0.18/0001-libusbx-libusb-needs-librt-and-libpthread.patch
new file mode 100644
index 000000000..2ee3f7275
--- /dev/null
+++ b/patches/libusbx-1.0.18/0001-libusbx-libusb-needs-librt-and-libpthread.patch
@@ -0,0 +1,35 @@
+From e5c3ffc155a33a9d8f97dc1524be9a776d4ed656 Mon Sep 17 00:00:00 2001
+From: Alexander Aring <alex.aring@gmail.com>
+Date: Fri, 28 Mar 2014 12:04:23 +0100
+Subject: [PATCH] libusbx: libusb needs librt and libpthread
+
+This patch is taken from the old libusb package and changes to apply the
+libusbx package. Original commit msg from patch is:
+
+Add missing dependencies.
+
+20100603 rsc: The patch was closed upstream, and I don't
+ remember a use case any more :-( Let's keep it
+ here for the moment, until we have a user.
+20100101 rsc: added as http://libusb.org/ticket/24
+
+Signed-off-by: Alexander Aring <alex.aring@gmail.com>
+---
+ libusb-1.0.pc.in | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libusb-1.0.pc.in b/libusb-1.0.pc.in
+index 7bc33c1..0c6fea7 100644
+--- a/libusb-1.0.pc.in
++++ b/libusb-1.0.pc.in
+@@ -6,6 +6,6 @@ includedir=@includedir@
+ Name: libusbx-1.0
+ Description: C API for USB device access from Linux, Mac OS X, Windows and OpenBSD/NetBSD userspace
+ Version: @VERSION@
+-Libs: -L${libdir} -lusb-1.0
++Libs: -L${libdir} -lusb-1.0 -lrt -lpthread
+ Libs.private: @LIBS@
+ Cflags: -I${includedir}/libusb-1.0
+--
+1.9.1
+
diff --git a/patches/libusbx-1.0.18/series b/patches/libusbx-1.0.18/series
new file mode 100644
index 000000000..4284244b6
--- /dev/null
+++ b/patches/libusbx-1.0.18/series
@@ -0,0 +1 @@
+0001-libusbx-libusb-needs-librt-and-libpthread.patch
diff --git a/rules/libusb.in b/rules/libusb.in
index 42ad2629d..ff1a79725 100644
--- a/rules/libusb.in
+++ b/rules/libusb.in
@@ -4,34 +4,36 @@ menuconfig LIBUSB
tristate
select LIBC_RT
select LIBC_PTHREAD
- prompt "libusb-1.x "
+ prompt "libusbx-1.x "
help
- userspace USB programming library
-
Library for programming USB applications without the
knowledge of Linux kernel internals.
- Note: libusb-1.x is not binary compatible with its precedessor
- libusb-0.x!
-
if LIBUSB
-config LIBUSB_DISABLE_LOG
+config LIBUSB_LOG
bool
- prompt "Disable all log"
- default y
+ prompt "Enable all log"
help
- Disable all logging. Even if an application setup the debug level
+ Enable all logging. Even if an application setup the debug level
to a value other than 0, this library will not output any messages.
- If this menu entry is not enabled, an application or the environment
+ If this menu entry is enabled, an application or the environment
variable LIBUSB_DEBUG can setup the debug message level at runtime.
Refer http://libusb.sourceforge.net/api-1.0/group__lib.htm function
libusb_set_debug()
+config LIBUSB_SYSTEM_LOG
+ bool
+ prompt "Enable system log"
+ depends on LIBUSB_LOG
+ help
+ Enable output logging messages to system wide log, if supported by
+ the OS.
+
config LIBUSB_DEBUG_LOG
bool
prompt "Enable debug log"
- depends on !LIBUSB_DISABLE_LOG
+ depends on LIBUSB_LOG
help
Enable full debug logging. This will always output debug messages,
there is no way to disable them at runtime.
diff --git a/rules/libusb.make b/rules/libusb.make
index 4dfa0e583..addc4d8fe 100644
--- a/rules/libusb.make
+++ b/rules/libusb.make
@@ -16,37 +16,28 @@ PACKAGES-$(PTXCONF_LIBUSB) += libusb
#
# Paths and names
#
-LIBUSB_VERSION := 1.0.8
-LIBUSB_MD5 := 37d34e6eaa69a4b645a19ff4ca63ceef
-LIBUSB := libusb-$(LIBUSB_VERSION)
+LIBUSB_VERSION := 1.0.18
+LIBUSB_MD5 := f2ccd0589dde901dfd5607459f77bf44
+LIBUSB := libusbx-$(LIBUSB_VERSION)
LIBUSB_SUFFIX := tar.bz2
-LIBUSB_URL := $(call ptx/mirror, SF, libusb/$(LIBUSB).$(LIBUSB_SUFFIX))
+LIBUSB_URL := $(call ptx/mirror, SF, libusbx/$(LIBUSB).$(LIBUSB_SUFFIX))
LIBUSB_SOURCE := $(SRCDIR)/$(LIBUSB).$(LIBUSB_SUFFIX)
LIBUSB_DIR := $(BUILDDIR)/$(LIBUSB)
LIBUSB_LICENSE := LGPLv2.1
-# ----------------------------------------------------------------------------
-# Prepare
-# ----------------------------------------------------------------------------
-
-LIBUSB_PATH := PATH=$(CROSS_PATH)
-LIBUSB_ENV := $(CROSS_ENV)
-
#
# autoconf
#
LIBUSB_AUTOCONF := \
$(CROSS_AUTOCONF_USR) \
- --disable-log \
- --disable-debug-log \
- --disable-examples-build \
- --enable-static \
+ --disable-static \
--enable-shared \
- --$(call ptx/endis, PTXCONF_LIBUSB_DISABLE_LOG)-log
-
-ifdef PTXCONF_LIBUSB_DEBUG_LOG
-LIBUSB_AUTOCONF += --enable-debug-log
-endif
+ --disable-udev \
+ --$(call ptx/endis, PTXCONF_LIBUSB_LOG)-log \
+ --$(call ptx/endis, PTXCONF_LIBUSB_DEBUG_LOG)-debug-log \
+ --$(call ptx/endis, PTXCONF_LIBUSB_SYSTEM_LOG)-system-log \
+ --disable-examples-build \
+ --disable-tests-build
# ----------------------------------------------------------------------------
# Target-Install
@@ -58,7 +49,7 @@ $(STATEDIR)/libusb.targetinstall:
@$(call install_init, libusb)
@$(call install_fixup, libusb,PRIORITY,optional)
@$(call install_fixup, libusb,SECTION,base)
- @$(call install_fixup, libusb,AUTHOR,"Juergen Beisert <juergen@kreuzholzen.de>")
+ @$(call install_fixup, libusb,AUTHOR,"Juergen Beisert <j.beisert@pengutronix.de>")
@$(call install_fixup, libusb,DESCRIPTION,missing)
@$(call install_lib, libusb, 0, 0, 0644, libusb-1.0)