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   |

Attachment: signature.asc
Description: OpenPGP digital signature

--
ptxdist mailing list
[email protected]

Reply via email to