Remy Bohmer wrote: > Signed-off-by: Remy Bohmer <li...@bohme > --- > rules/libusb.in | 38 ++++++++++++++++++++++++++++++++++++++ > rules/libusb.make | 20 ++++++++++++++++++-- > 2 files changed, 56 insertions(+), 2 deletions(-)
see comments below,
>
> diff --git a/rules/libusb.in b/rules/libusb.in
> index 0156af1..32329b1 100644
> --- a/rules/libusb.in
> +++ b/rules/libusb.in
> @@ -8,6 +8,42 @@ menuconfig LIBUSB
>
> if LIBUSB
>
> +config LIBUSB_COMPAT_LAYER
just call it LIBUSB_COMPAT, i'm lazy typer :)
> + bool
> + prompt "libusb-0.x compatibility layer"
> + select LIBUSB1
> + help
> + Activate to build the libusb-compat instead of libusb.
> + libusb-compat-0.1 is a replacement for libusb-0.1.
> + However, instead of being an actual implementation, libusb-0.1 is
> + more of a compatibility layer (or wrapper) which just converts
> + libusb-0.1 calls into their libusb-1.0 equivalents.
> + It aims to look, feel and behave exactly like libusb-0.1. As the
> + compatibility layer implements the exact same ABI and API, no
> + modifications to existing libusb-0.1-based applications are needed.
> + You do not even have to recompile them. This compatibility layer is
> + a drop-in replacement.
> +
> +if LIBUSB_COMPAT_LAYER
> +
> +config LIBUSB_VERSION_COMPAT
> + string
> + prompt "Version number of libusb-compat"
> + default "0.1.0"
> + help
> + Version number of the libusb compatibility layer
> + First version released is 0.1.0
just hardcode these... see comment below in targetinstall stage
> +
> +endif
> +if !LIBUSB_COMPAT_LAYER
> +
> +config LIBUSB_VERSION
> + string
> + prompt "Version number of libusb"
> + default "0.1.12"
> + help
> + libusb 0.1.12 is the latest of the 0.1 releases
dito
> +
> config LIBUSB_DOCS
> bool
> prompt "Documentation"
> @@ -15,3 +51,5 @@ config LIBUSB_DOCS
> Activate to build the libusb-documentation
>
> endif
> +
> +endif
> diff --git a/rules/libusb.make b/rules/libusb.make
> index 0da1086..ede9bcc 100644
> --- a/rules/libusb.make
> +++ b/rules/libusb.make
> @@ -3,6 +3,8 @@
> #
> # Copyright (C) 2007 by Sascha Hauer
> #
> +# Added support for libusb-compat by Remy Bohmer
we have git for this...
> +#
> # See CREDITS for details about who has contributed to this project.
> #
> # For further information about the PTXdist project and license conditions
> @@ -17,9 +19,17 @@ PACKAGES-$(PTXCONF_LIBUSB) += libusb
> #
> # Paths and names
> #
> -LIBUSB_VERSION := 0.1.12
> +ifdef PTXCONF_LIBUSB_COMPAT_LAYER
> +LIBUSB_VERSION := $(call
> remove_quotes,$(PTXCONF_LIBUSB_VERSION_COMPAT))
> +LIBUSB := libusb-compat-$(LIBUSB_VERSION)
> +LIBUSB_SUFFIX := tar.bz2
> +LIBUSB_RESULTS := $(BUILDDIR)/$(LIBUSB)/libusb
> +else
> +LIBUSB_VERSION := $(call remove_quotes,$(PTXCONF_LIBUSB_VERSION))
> LIBUSB := libusb-$(LIBUSB_VERSION)
> LIBUSB_SUFFIX := tar.gz
> +LIBUSB_RESULTS := $(BUILDDIR)/$(LIBUSB)
> +endif
> LIBUSB_URL := $(PTXCONF_SETUP_SFMIRROR)/libusb/$(LIBUSB).$(LIBUSB_SUFFIX)
> LIBUSB_SOURCE := $(SRCDIR)/$(LIBUSB).$(LIBUSB_SUFFIX)
> LIBUSB_DIR := $(BUILDDIR)/$(LIBUSB)
> @@ -44,11 +54,17 @@ LIBUSB_ENV := $(CROSS_ENV)
> #
> LIBUSB_AUTOCONF := $(CROSS_AUTOCONF_USR)
>
> +ifdef !PTXCONF_LIBUSB_COMPAT_LAYER
> ifdef PTXCONF_LIBUSB_DOCS
> LIBUSB_AUTOCONF += --enable-build-docs
> else
> LIBUSB_AUTOCONF += --disable-build-docs
> endif
> +endif
> +
> +ifdef PTXCONF_LIBUSB_COMPAT_LAYER
> +$(STATEDIR)/libusb.prepare: $(STATEDIR)/libusb1.install
> +endif
use a select in the corresponding .in file, like:
select LIBUSB1 if LIBUSB_COMPAT
>
> #
> ----------------------------------------------------------------------------
> # Target-Install
> @@ -66,7 +82,7 @@ $(STATEDIR)/libusb.targetinstall:
> @$(call install_fixup, libusb,DEPENDS,)
> @$(call install_fixup, libusb,DESCRIPTION,missing)
>
> - @$(call install_copy, libusb, 0, 0, 0644,
> $(LIBUSB_DIR)/.libs/libusb-0.1.so.4.4.4, /usr/lib/libusb-0.1.so.4.4.4 )
> + @$(call install_copy, libusb, 0, 0, 0644,
> $(LIBUSB_RESULTS)/.libs/libusb-0.1.so.4.4.4, /usr/lib/libusb-0.1.so.4.4.4 )
is this in all libusb0 and compat versions the same library version?
> @$(call install_link, libusb, libusb-0.1.so.4.4.4,
> /usr/lib/libusb-0.1.so.4)
> @$(call install_link, libusb, libusb-0.1.so.4.4.4, /usr/lib/libusb.so)
cheers, Marc
--
Pengutronix e.K. | Marc Kleine-Budde |
Linux Solutions for Science and Industry | Phone: +49-231-2826-924 |
Vertretung West/Dortmund | Fax: +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de |
signature.asc
Description: OpenPGP digital signature
-- ptxdist mailing list [email protected]
