openocd: drop dependency from libusb0 93/5993/9
authorAntonio Borneo <borneo.antonio@gmail.com>
Tue, 29 Dec 2020 21:07:41 +0000 (22:07 +0100)
committerAntonio Borneo <borneo.antonio@gmail.com>
Mon, 5 Apr 2021 22:25:34 +0000 (23:25 +0100)
Now that the old drivers have been converted to libusb1, there is
no need to keep the build dependency from libusb0.

Drop libusb0 from configure and makefiles, remove the libusb0
helper and remove libusb0 and libusb-compat from the README files.

Change-Id: Icc05be74ae5971ba6cbb67d39107c709a4d826e6
Signed-off-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-on: http://openocd.zylin.com/5993
Tested-by: jenkins
README
README.Windows
README.macOS
configure.ac
src/jtag/aice/Makefile.am
src/jtag/drivers/Makefile.am
src/jtag/drivers/usb_common.c [deleted file]
src/jtag/drivers/usb_common.h [deleted file]

diff --git a/README b/README
index 1c5f192778e54882c2c787cff4896d2f97946d4d..34dac0b1b583be41927768178a669c436f7b3b9b 100644 (file)
--- a/README
+++ b/README
@@ -224,8 +224,7 @@ Additionally, for building from git:
 - automake >= 1.14
 - texinfo >= 5.0
 
-USB-based adapters depend on libusb-1.0 and some older drivers require
-libusb-0.1 or libusb-compat-0.1. A compatible implementation, such as
+USB-based adapters depend on libusb-1.0. A compatible implementation, such as
 FreeBSD's, additionally needs the corresponding .pc files.
 
 USB-Blaster, ASIX Presto and OpenJTAG interface adapter
index 6c616f38accf41688276baa60095ae2239ef87e6..7326a356cab870ae684d3d55245293eba6ea19e6 100644 (file)
@@ -40,10 +40,6 @@ WinUSB.sys to the composite parent instead of the specific
 interface. To do that one needs to activate an advanced option in the
 Zadig installer.
 
-For the old drivers that use libusb-0.1 API you might need to link
-against libusb-win32 headers and install the corresponding driver with
-Zadig.
-
 If you need to use the same adapter with other applications that may
 require another driver, a solution for Windows Vista and above is to
 activate the IgnoreHWSerNum registry setting for the USB device.
index c532e67c636d723ff897b644f6c49b912d5507ae..91d5e9261bd81228f7025753114d7c0e4a0ebbb3 100644 (file)
@@ -27,14 +27,14 @@ With Homebrew you can either run:
   brew install [--HEAD] openocd (where optional --HEAD asks brew to
                                  install the current git version)
     or
-  brew install libtool automake libusb [libusb-compat] [hidapi] [libftdi]
+  brew install libtool automake libusb [hidapi] [libftdi]
     (to install the needed dependencies and then proceed with the
      manual building procedure)
 
 
 For building with MacPorts you need to run:
   sudo port install libtool automake autoconf pkgconfig \
-    libusb [libusb-compat] [libftdi1]
+    libusb [libftdi1]
 
 You should also specify LDFLAGS and CPPFLAGS to allow configure to use
 MacPorts' libraries, so run configure like this:
index 1a52ffb99698be7a94fc18416972cd2c19391ff2..5c7dab5701afeb57cc218245da4ca4e021b7e1f2 100644 (file)
@@ -127,9 +127,6 @@ m4_define([USB1_ADAPTERS],
        [[usbprog], [USBProg JTAG Programmer], [USBPROG]],
        [[aice], [Andes JTAG Programmer], [AICE]]])
 
-m4_define([USB0_ADAPTERS],
-       [])
-
 m4_define([HIDAPI_ADAPTERS],
        [[[cmsis_dap], [CMSIS-DAP Compliant Debugger], [CMSIS_DAP_HID]],
        [[nulink], [Nu-Link Programmer], [HLADAPTER_NULINK]]])
@@ -249,7 +246,6 @@ m4_define([AC_ARG_ADAPTERS], [
 
 AC_ARG_ADAPTERS([
   USB1_ADAPTERS,
-  USB0_ADAPTERS,
   HIDAPI_ADAPTERS,
   HIDAPI_USB1_ADAPTERS,
   LIBFTDI_ADAPTERS,
@@ -585,8 +581,6 @@ PKG_CHECK_MODULES([LIBUSB1], [libusb-1.0], [
        AC_MSG_WARN([libusb-1.x not found, trying legacy libusb-0.1 as a fallback; consider installing libusb-1.x instead])
 ])
 
-PKG_CHECK_MODULES([LIBUSB0], [libusb], [use_libusb0=yes], [use_libusb0=no])
-
 AC_ARG_WITH([capstone],
                AS_HELP_STRING([--with-capstone], [Use Capstone disassembly library (default=auto)])
        , [
@@ -648,7 +642,6 @@ m4_define([PROCESS_ADAPTERS], [
 ])
 
 PROCESS_ADAPTERS([USB1_ADAPTERS], ["x$use_libusb1" = "xyes"], [libusb-1.x])
-PROCESS_ADAPTERS([USB0_ADAPTERS], ["x$use_libusb0" = "xyes"], [libusb-0.1])
 PROCESS_ADAPTERS([HIDAPI_ADAPTERS], ["x$use_hidapi" = "xyes"], [hidapi])
 PROCESS_ADAPTERS([HIDAPI_USB1_ADAPTERS], ["x$use_hidapi" = "xyes" -a "x$use_libusb1" = "xyes"], [hidapi and libusb-1.x])
 PROCESS_ADAPTERS([LIBFTDI_ADAPTERS], ["x$use_libftdi" = "xyes"], [libftdi])
@@ -705,7 +698,6 @@ AM_CONDITIONAL([REMOTE_BITBANG], [test "x$build_remote_bitbang" = "xyes"])
 AM_CONDITIONAL([BUSPIRATE], [test "x$build_buspirate" = "xyes"])
 AM_CONDITIONAL([SYSFSGPIO], [test "x$build_sysfsgpio" = "xyes"])
 AM_CONDITIONAL([XLNX_PCIE_XVC], [test "x$build_xlnx_pcie_xvc" = "xyes"])
-AM_CONDITIONAL([USE_LIBUSB0], [test "x$use_libusb0" = "xyes"])
 AM_CONDITIONAL([USE_LIBUSB1], [test "x$use_libusb1" = "xyes"])
 AM_CONDITIONAL([IS_CYGWIN], [test "x$is_cygwin" = "xyes"])
 AM_CONDITIONAL([IS_MINGW], [test "x$is_mingw" = "xyes"])
@@ -784,7 +776,7 @@ echo
 echo
 echo OpenOCD configuration summary
 echo --------------------------------------------------
-m4_foreach([adapter], [USB1_ADAPTERS, USB0_ADAPTERS,
+m4_foreach([adapter], [USB1_ADAPTERS,
        HIDAPI_ADAPTERS, HIDAPI_USB1_ADAPTERS, LIBFTDI_ADAPTERS,
        LIBFTDI_USB1_ADAPTERS,
        LIBGPIOD_ADAPTERS,
index 97e38258a1705e7317849831be4db2aca1e81d94..b6a7ba92210cbff94563c59c5a122cdbc2616e3a 100644 (file)
@@ -1,6 +1,6 @@
 noinst_LTLIBRARIES += %D%/libocdaice.la
 
-%C%_libocdaice_la_CPPFLAGS = -I$(top_srcdir)/src/jtag/drivers $(AM_CPPFLAGS) $(LIBUSB1_CFLAGS) $(LIBUSB0_CFLAGS)
+%C%_libocdaice_la_CPPFLAGS = -I$(top_srcdir)/src/jtag/drivers $(AM_CPPFLAGS) $(LIBUSB1_CFLAGS)
 %C%_libocdaice_la_SOURCES = \
        %D%/aice_transport.c \
        %D%/aice_interface.c \
index f7a54b003320108abd3ff0bd6398d82e2b982575..da60f366e48617aaf23af300397217814be72421 100644 (file)
@@ -27,12 +27,6 @@ DRIVERFILES += %D%/libusb_helper.c
 %C%_libocdjtagdrivers_la_LIBADD += $(LIBUSB1_LIBS)
 endif
 
-if USE_LIBUSB0
-DRIVERFILES += %D%/usb_common.c
-%C%_libocdjtagdrivers_la_CPPFLAGS += $(LIBUSB0_CFLAGS)
-%C%_libocdjtagdrivers_la_LIBADD += $(LIBUSB0_LIBS)
-endif
-
 if USE_LIBFTDI
 %C%_libocdjtagdrivers_la_CPPFLAGS += $(LIBFTDI_CFLAGS)
 %C%_libocdjtagdrivers_la_LIBADD += $(LIBFTDI_LIBS)
@@ -203,7 +197,6 @@ DRIVERHEADERS = \
        %D%/rlink_dtc_cmd.h \
        %D%/rlink_ep1_cmd.h \
        %D%/rlink_st7.h \
-       %D%/usb_common.h \
        %D%/versaloon/usbtoxxx/usbtoxxx.h \
        %D%/versaloon/usbtoxxx/usbtoxxx_internal.h \
        %D%/versaloon/versaloon.h \
diff --git a/src/jtag/drivers/usb_common.c b/src/jtag/drivers/usb_common.c
deleted file mode 100644 (file)
index 1b7602d..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-/***************************************************************************
- *   Copyright (C) 2009 by Zachary T Welch <zw@superlucidity.net>          *
- *                                                                         *
- *   This program is free software; you can redistribute it and/or modify  *
- *   it under the terms of the GNU General Public License as published by  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- *   This program is distributed in the hope that it will be useful,       *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
- *   GNU General Public License for more details.                          *
- *                                                                         *
- *   You should have received a copy of the GNU General Public License     *
- *   along with this program.  If not, see <http://www.gnu.org/licenses/>. *
- ***************************************************************************/
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-#include "usb_common.h"
-#include "log.h"
-
-
-static bool jtag_usb_match(struct usb_device *dev,
-               const uint16_t vids[], const uint16_t pids[])
-{
-       for (unsigned i = 0; vids[i] && pids[i]; i++) {
-               if (dev->descriptor.idVendor == vids[i] &&
-                       dev->descriptor.idProduct == pids[i])
-                       return true;
-       }
-       return false;
-}
-
-int jtag_usb_open(const uint16_t vids[], const uint16_t pids[],
-               struct usb_dev_handle **out)
-{
-       usb_find_busses();
-       usb_find_devices();
-
-       struct usb_bus *busses = usb_get_busses();
-       for (struct usb_bus *bus = busses; bus; bus = bus->next) {
-               for (struct usb_device *dev = bus->devices; dev; dev = dev->next) {
-                       if (!jtag_usb_match(dev, vids, pids))
-                               continue;
-
-                       *out = usb_open(dev);
-                       if (NULL == *out) {
-                               LOG_ERROR("usb_open() failed with %s", usb_strerror());
-                               return ERROR_FAIL;
-                       }
-                       return ERROR_OK;
-               }
-       }
-       return ERROR_FAIL;
-}
diff --git a/src/jtag/drivers/usb_common.h b/src/jtag/drivers/usb_common.h
deleted file mode 100644 (file)
index 4d2bd26..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-/***************************************************************************
- *   Copyright (C) 2009 by Zachary T Welch <zw@superlucidity.net>          *
- *                                                                         *
- *   This program is free software; you can redistribute it and/or modify  *
- *   it under the terms of the GNU General Public License as published by  *
- *   the Free Software Foundation; either version 2 of the License, or     *
- *   (at your option) any later version.                                   *
- *                                                                         *
- *   This program is distributed in the hope that it will be useful,       *
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
- *   GNU General Public License for more details.                          *
- *                                                                         *
- *   You should have received a copy of the GNU General Public License     *
- *   along with this program.  If not, see <http://www.gnu.org/licenses/>. *
- ***************************************************************************/
-
-#ifndef OPENOCD_JTAG_DRIVERS_USB_COMMON_H
-#define OPENOCD_JTAG_DRIVERS_USB_COMMON_H
-
-#include <usb.h>
-
-int jtag_usb_open(const uint16_t vids[], const uint16_t pids[],
-               struct usb_dev_handle **out);
-
-#endif /* OPENOCD_JTAG_DRIVERS_USB_COMMON_H */

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)