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
