зеркало из https://github.com/microsoft/openocd.git
openocd: drop dependency from libusb0
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
This commit is contained in:
Родитель
ef41652caf
Коммит
68e50415a1
3
README
3
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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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:
|
||||
|
|
10
configure.ac
10
configure.ac
|
@ -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,
|
||||
|
|
|
@ -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 \
|
||||
|
|
|
@ -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 \
|
||||
|
|
|
@ -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;
|
||||
}
|
|
@ -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 */
|
Загрузка…
Ссылка в новой задаче