Using LIBFTDI
-------------
+The libftdi source code can be download from the following website:
+
+ http://www.intra2net.com/en/developer/libftdi/download.php
+
For both Linux and Windows, both libusb and libftdi must be built and
installed. To use the newer FT2232H chips, supporting RTCK and USB high
speed (480 Mbps), you need libftdi version 0.16 or newer. Many Linux
_distributing_ copies of OpenOCD built with the FTDI code would violate
the OpenOCD licensing terms.
-
-Cygwin/Win32 Notes
-******************
-
-The Cygwin/Win32 ZIP file contains a directory named ftd2xx.win32.
-Assuming that you have extracted this archive in the same directory as
-the OpenOCD package, you could configure with options like the following:
-
- ./configure \
- --enable-ft2232_ftd2xx \
- --with-ftd2xx-win32-zipdir=../ftd2xx.win32 \
- ... other options ...
-
Linux Notes
***********
************************************************
Building OpenOCD from a repository requires a recent version of the GNU
-autotools (autoconf >= 2.59 and automake >= 1.9). For building on
-Windows, you have to use Cygwin. Make sure that your PATH
-environment variable contains no other locations with Unix utils (like
-UnxUtils) - these can't handle the Cygwin paths, resulting in obscure
-dependency errors. This was an observation gathered from the logs of
-one user; please correct us if this is wrong.
+autotools (autoconf >= 2.59 and automake >= 1.9).
1) Run './bootstrap' to create the 'configure' script and prepare
the build process for your host system.
2) Run './configure --enable-maintainer-mode' with other options.
-
-The following URL is a good reference if you want to build OpenOCD
-under cygwin.
-http://forum.sparkfun.com/viewtopic.php?t=11221
-
-Alternatively you can build the Windows binary under Linux using
-MinGW cross compiler. The following documents some tips of
-using this cross build option.
-
-a) libusb-win32
-You can choose to use the libusb-win32 binary distribution from
-its Sourceforge page. As of this writing, the latest version
-is 0.1.12.2. This is the recommend version to use since it fixed
-an issue with USB composite device and this is important for FTDI
-based JTAG debuggers.
-http://sourceforge.net/projects/libusb-win32/
-
-You need to download the libusb-win32-device-bin-0.1.12.2.tar.gz
-package. Please extract this file into a temp directory.
-
-Copy the file libusb-win32-device-bin-0.1.12.2\include\usb.h
-to your MinGW include directory.
-
-Copy the library libusb-win32-device-bin-0.1.12.2\lib\gcc\libusb.a
-to your MinGW library directory.
-
-Take note that different Linux distros often have different
-MinGW installation directory. Some of them also put the
-library and include into a seperate sys-root directory.
-
-If there is a new svn version of libusb-win32, you can build it
-as well.
-
-This is the instrunction from the libusb-win32 Makefile.
-# If you're cross-compiling and your mingw32 tools are called
-# i586-mingw32msvc-gcc and so on, then you can compile libusb-win32
-# by running
-# make host_prefix=i586-mingw32msvc all
-
-b) libftdi
-libftdi source codes can be download from the following website.
-http://www.intra2net.com/en/developer/libftdi/download.php
-
-It does not provide Windows binary. You can build it from the
-source tarball or the git tree.
-
-If you are using the git tree, the following is the instruction
-from README.mingw. You need to have cmake installed.
-- Edit Toolchain-mingw32.cmake to point to the correct MinGW
-installation.
-- Create a build directory like "mkdir build-win32", e.g in ../libftdi/
-- cd in that directory and run
- "cmake -DCMAKE_TOOLCHAIN_FILE=../Toolchain-mingw32.cmake .."
-- Copy src/ftdi.h to your MinGW include directory.
-- Copy build-win32/src/*.a to your MinGW lib directory.
-
-c) OpenOCD
-Now you can build OpenOCD under Linux using MinGW.
-You need to use --host=your_mingW_prefix in the configure option.
-
-Example for libftdi (in one line, tested under Ubuntu 9.04):
-./configure --host=i586-mingw32msvc --enable-maintainer-mode
---disable-shared --enable-ft2232_libftdi
-
-Example for ftd2xx (in one line, tested under Ubuntu 9.04)
-./configure --host=i586-mingw32msvc --enable-maintainer-mode
---disable-shared --enable-ft2232_ftd2xx
---with-ftd2xx-win32-zipdir=/home/mcuee/Desktop/build/openocd/libftd2xx-win32
--- /dev/null
+Building OpenOCD for Windows
+----------------------------
+
+For building on Windows, you have to use CygWin. Make sure that your
+PATH environment variable contains no other locations with Unix utilities
+(like UnxUtils). Those tools can't handle the CygWin paths, resulting
+in obscure dependency errors. This was an observation gathered from the
+logs of one user; please correct us if this is wrong.
+
+The following URL is a good reference if you want to build OpenOCD
+under CygWin:
+
+ http://forum.sparkfun.com/viewtopic.php?t=11221
+
+Alternatively you can build the Windows binary under Linux using
+MinGW cross compiler. The following documents some tips of
+using this cross build option.
+
+libusb-win32
+------------
+
+You can choose to use the libusb-win32 binary distribution from
+its SourceForge page. As of this writing, the latest version
+is 0.1.12.2. This is the recommend version to use since it fixed
+an issue with USB composite device and this is important for FTDI
+based JTAG debuggers.
+
+ http://sourceforge.net/projects/libusb-win32/
+
+You need to download the libusb-win32-device-bin-0.1.12.2.tar.gz
+package. Extract this file into a temp directory.
+
+Copy the file libusb-win32-device-bin-0.1.12.2\include\usb.h
+to your MinGW include directory.
+
+Copy the library libusb-win32-device-bin-0.1.12.2\lib\gcc\libusb.a
+to your MinGW library directory.
+
+Take note that different Linux distributions often have different MinGW
+installation directory. Some of them also put the library and include
+into a separate sys-root directory.
+
+If there is a new svn version of libusb-win32, you can build it as well.
+
+These are the instruction from the libusb-win32 Makefile:
+
+# If you're cross-compiling and your mingw32 tools are called
+# i586-mingw32msvc-gcc and so on, then you can compile libusb-win32
+# by running
+# make host_prefix=i586-mingw32msvc all
+
+libftdi
+-------
+
+The author does not provide Windows binary. You can build it from a
+released source tarball or the git tree.
+
+If you are using the git tree, the following are the instructions from
+README.mingw. You will need to have the cmake utility installed.
+
+- Edit Toolchain-mingw32.cmake to point to the correct MinGW
+ installation.
+- Create a build directory like "mkdir build-win32", e.g in ../libftdi/
+- cd into that directory and run
+ "cmake -DCMAKE_TOOLCHAIN_FILE=../Toolchain-mingw32.cmake .."
+- Copy src/ftdi.h to your MinGW include directory.
+- Copy build-win32/src/*.a to your MinGW lib directory.
+
+libftd2xx
+---------
+
+The Cygwin/Win32 ZIP file contains a directory named ftd2xx.win32.
+After being extracted, the directory does not need further preparation.
+Instead, its path must be provided to the --with-ftd2xx-win32-zipdir
+configure option, as shown in the next section.
+
+OpenOCD
+-------
+
+Now you can build OpenOCD under Linux using MinGW. You need to use
+--build and --host configure options.
+
+To use libftdi:
+
+ ./configure --build=i686-pc-linux-gnu --host=i586-mingw32msvc \
+ --enable-ft2232_libftdi \
+ ... other options ...
+
+To use ftd2xx:
+
+ ./configure --build=i686-pc-linux-gnu --host=i586-mingw32msvc \
+ --enable-ft2232_ftd2xx \
+ --with-ftd2xx-win32-zipdir=/path/to/libftd2xx-win32 \
+ ... other options ...
+
+If you are using the SVN repository, see the README file for additional
+instructions about configuring and building OpenOCD.