This is an automated email from Gerrit.

Paul Fertser ([email protected]) just uploaded a new patch set to Gerrit, 
which you can find at http://openocd.zylin.com/1434

-- gerrit

commit 4e0b63235c607c2d17efc61327b17c68dad78927
Author: Paul Fertser <[email protected]>
Date:   Tue Jun 4 00:07:07 2013 +0400

    configure: remove --enable-libusb0 option, rework libusb selection
    
    This makes libusb handling more consistent: if any driver requires
    libusb, first check for libusb-1 availability, if not found and
    libusb0 is ok for this case, try libusb0.
    
    A user-visible bug fixed by this is that when a user was selecting a
    driver that required libusb-1 but was lacking the necessary dev files
    or libraries, configure didn't complain (but the build was failing of
    course).
    
    --enable-stlink doesn't really require libusb1 but since it's using the
    same automake symbol HLAADAPTER, ti_icdi is getting built too which needs
    libusb1 unconditionally. Since using libusb0 makes little sense anyway,
    leave that as is.
    
    Signed-off-by: Paul Fertser <[email protected]>
    Change-Id: I630a4ad9e4583743d45b2233bf5d8f4e5c0aab82

diff --git a/configure.ac b/configure.ac
index 94f56ac..718f530 100644
--- a/configure.ac
+++ b/configure.ac
@@ -503,10 +503,6 @@ AC_ARG_ENABLE([internal-jimtcl],
   AS_HELP_STRING([--disable-internal-jimtcl], [Disable building internal 
jimtcl]),
   [use_internal_jimtcl=$enableval], [use_internal_jimtcl=yes])
 
-AC_ARG_ENABLE([libusb0],
-  AS_HELP_STRING([--enable-libusb0], [Use libusb-0.1 library for USB JTAG 
devices]),
-  [check_libusb0=$enableval], [check_libusb0=no])
-
 build_minidriver=no
 AC_MSG_CHECKING([whether to enable ZY1000 minidriver])
 if test $build_zy1000 = yes; then
@@ -1134,41 +1130,52 @@ enum ftdi_chip_type x = TYPE_232H;
   CFLAGS=$CFLAGS_SAVE
 fi
 
-# check for usb.h when a driver will require it
-build_usb=no
+# check if some driver requires libusb0
+need_usb0=no
 if test $build_vsllink = yes -o $build_usbprog = yes -o \
-  $build_rlink = yes -o $build_ulink = yes -o $build_armjtagew = yes
-then
-  build_usb=yes
+        $build_rlink = yes -o $build_ulink = yes -o $build_armjtagew = yes; 
then
+  need_usb0=yes
 fi
 
-# Check for libusb1 ported drivers.
-build_usb_ng=no
-if test $build_jlink = yes -o $build_hladapter_stlink = yes -o $build_osbdm = 
yes -o \
-  $build_opendous = yes -o $build_ftdi = yes -o $build_hladapter_icdi = yes
-then
-  build_usb_ng=yes
+# check if some driver can work with either libusb version
+need_usb=no
+if test $build_jlink = yes -o $build_osbdm = yes -o $build_opendous = yes; then
+  need_usb=yes
+fi
+
+# check if some driver requires libusb-1
+need_usb_ng=no
+if test $build_ftdi = yes -o $build_hladapter_icdi = yes -o \
+        $build_hladapter_stlink = yes; then
+  need_usb_ng=yes
 fi
 
 # check for libusb library if necessary
-use_libusb0=no
 use_libusb1=no
-if test $build_usb = yes -o $build_usb_ng = yes; then
-  if test $check_libusb0 = no -a $build_usb_ng = yes; then
-       AC_CHECK_HEADER([libusb-1.0/libusb.h], [
-           AC_DEFINE(HAVE_LIBUSB1, 1, [Define if you have libusb-1.0])
-           check_libusb0=no use_libusb1=yes
-           AC_SEARCH_LIBS([libusb_error_name], [usb-1.0],
-             [AC_DEFINE(HAVE_LIBUSB_ERROR_NAME, 1, [Define if your libusb has 
libusb_error_name()])],
-             [AC_MSG_WARN([libusb-1 older than 1.0.9 detected, consider 
updating])])
-         ], [
-           check_libusb0=yes use_libusb1=no ])
-  fi
+if test $need_usb = yes -o $need_usb_ng = yes; then
+  AC_CHECK_HEADER([libusb-1.0/libusb.h], [
+       AC_DEFINE(HAVE_LIBUSB1, 1, [Define if you have libusb-1.0])
+       use_libusb1=yes
+       AC_SEARCH_LIBS([libusb_error_name], [usb-1.0],
+               [AC_DEFINE(HAVE_LIBUSB_ERROR_NAME, 1, [Define if your libusb 
has libusb_error_name()])],
+               [AC_MSG_WARN([libusb-1 older than 1.0.9 detected, consider 
updating])])
+  ], [
+       if test $need_usb_ng = yes; then
+         AC_MSG_ERROR([libusb-1.0 is required for some driver(s) you've 
selected])
+       else
+         AC_MSG_WARN([Trying legacy libusb0 as a fallback, consider installing 
libusb-1 instead])
+         need_usb0=yes
+       fi
+  ])
+fi
 
-  if test $check_libusb0 = yes -o $build_usb = yes; then
-       AC_CHECK_HEADERS([usb.h], [use_libusb0=yes],
-                       [AC_MSG_ERROR([libusb or libusb-1.0 are required to 
build some OpenOCD driver(s)])])
-  fi
+use_libusb0=no
+if test $need_usb0 = yes; then
+       AC_CHECK_HEADERS([usb.h], [
+                       use_libusb0=yes
+               ], [
+                       AC_MSG_ERROR([libusb0 is required to build some OpenOCD 
driver(s)])
+               ])
 fi
 
 AM_CONDITIONAL([RELEASE], [test $build_release = yes])
@@ -1204,8 +1211,6 @@ AM_CONDITIONAL([HLADAPTER], [test $build_hladapter_stlink 
= yes -o $build_hladap
 AM_CONDITIONAL([OSBDM], [test $build_osbdm = yes])
 AM_CONDITIONAL([OPENDOUS], [test $build_opendous = yes])
 AM_CONDITIONAL([SYSFSGPIO], [test $build_sysfsgpio = yes])
-AM_CONDITIONAL([USB], [test $build_usb = yes])
-AM_CONDITIONAL([USB_NG], [test $build_usb_ng = yes])
 AM_CONDITIONAL([USE_LIBUSB0], [test $use_libusb0 = yes])
 AM_CONDITIONAL([USE_LIBUSB1], [test $use_libusb1 = yes])
 AM_CONDITIONAL([IS_CYGWIN], [test $is_cygwin = yes])
diff --git a/src/jtag/drivers/Makefile.am b/src/jtag/drivers/Makefile.am
index 5436156..883ce3e 100644
--- a/src/jtag/drivers/Makefile.am
+++ b/src/jtag/drivers/Makefile.am
@@ -19,18 +19,15 @@ SUBDIRS=
 # Standard Driver: common files
 DRIVERFILES += driver.c
 
-if USB
-DRIVERFILES += usb_common.c
-endif
-
 if USE_LIBUSB1
 DRIVERFILES += libusb1_common.c
-else
+endif
 
 if USE_LIBUSB0
+DRIVERFILES += usb_common.c
+if !USE_LIBUSB1
 DRIVERFILES += libusb0_common.c
 endif
-
 endif
 
 if BITBANG

-- 

------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. A cloud service to automate IT design, transition and operations
2. Dashboards that offer high-level views of enterprise services
3. A single system of record for all IT processes
http://p.sf.net/sfu/servicenow-d2d-j
_______________________________________________
OpenOCD-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to