flash/nor/driver.h: typo fix
[openocd.git] / configure.ac
1 AC_PREREQ(2.60)
2 AC_INIT([openocd], [0.6.0-dev],
3 [OpenOCD Mailing List <openocd-devel@lists.sourceforge.net>])
4 AC_CONFIG_SRCDIR([src/openocd.c])
5
6 m4_include([config_subdir.m4])dnl
7
8 AM_INIT_AUTOMAKE([-Wall -Wno-portability dist-bzip2 dist-zip])
9 AM_MAINTAINER_MODE
10
11 AM_CONFIG_HEADER([config.h])
12 AH_BOTTOM([
13 #include <helper/system.h>
14 #include <helper/replacements.h>
15 ])
16
17 AC_LANG_C
18 AC_PROG_CC
19 AC_PROG_CC_C99
20 AM_PROG_CC_C_O
21 AC_PROG_RANLIB
22
23 dnl disable checks for C++, Fortran and GNU Java Compiler
24 m4_defun([_LT_AC_LANG_CXX_CONFIG], [:])
25 m4_defun([_LT_AC_LANG_F77_CONFIG], [:])
26 m4_defun([_LT_AC_LANG_GCJ_CONFIG], [:])
27 AC_DISABLE_SHARED
28 AC_PROG_LIBTOOL
29 AC_SUBST([LIBTOOL_DEPS])
30
31 dnl configure checks required for Jim files (these are obsolete w/ C99)
32 AC_C_CONST
33 AC_TYPE_LONG_LONG_INT
34
35 AC_SEARCH_LIBS([ioperm], [ioperm])
36 AC_SEARCH_LIBS([dlopen], [dl])
37
38 AC_CHECK_HEADERS([sys/socket.h])
39 AC_CHECK_HEADERS([arpa/inet.h], [], [], [dnl
40 #include <stdio.h>
41 #ifdef STDC_HEADERS
42 # include <stdlib.h>
43 # include <stddef.h>
44 #else
45 # ifdef HAVE_STDLIB_H
46 # include <stdlib.h>
47 # endif
48 #endif
49 #ifdef HAVE_SYS_SOCKET_H
50 # include <sys/socket.h>
51 #endif
52 ])
53 AC_CHECK_HEADERS([elf.h])
54 AC_CHECK_HEADERS([dirent.h])
55 AC_CHECK_HEADERS([fcntl.h])
56 AC_CHECK_HEADERS([ifaddrs.h], [], [], [dnl
57 #include <stdio.h>
58 #ifdef STDC_HEADERS
59 # include <stdlib.h>
60 # include <stddef.h>
61 #else
62 # ifdef HAVE_STDLIB_H
63 # include <stdlib.h>
64 # endif
65 #endif
66 #ifdef HAVE_SYS_SOCKET_H
67 # include <sys/socket.h>
68 #endif
69 ])
70 AC_CHECK_HEADERS([malloc.h])
71 AC_CHECK_HEADERS([netdb.h])
72 AC_CHECK_HEADERS([netinet/in.h], [], [], [dnl
73 #include <stdio.h>
74 #ifdef STDC_HEADERS
75 # include <stdlib.h>
76 # include <stddef.h>
77 #else
78 # ifdef HAVE_STDLIB_H
79 # include <stdlib.h>
80 # endif
81 #endif
82 #ifdef HAVE_SYS_SOCKET_H
83 # include <sys/socket.h>
84 #endif
85 ])
86 AC_CHECK_HEADERS([netinet/tcp.h], [], [], [dnl
87 #include <stdio.h>
88 #ifdef STDC_HEADERS
89 # include <stdlib.h>
90 # include <stddef.h>
91 #else
92 # ifdef HAVE_STDLIB_H
93 # include <stdlib.h>
94 # endif
95 #endif
96 #ifdef HAVE_SYS_SOCKET_H
97 # include <sys/socket.h>
98 #endif
99 ])
100 AC_CHECK_HEADERS([pthread.h])
101 AC_CHECK_HEADERS([strings.h])
102 AC_CHECK_HEADERS([sys/ioctl.h])
103 AC_CHECK_HEADERS([sys/param.h])
104 AC_CHECK_HEADERS([sys/poll.h])
105 AC_CHECK_HEADERS([sys/select.h])
106 AC_CHECK_HEADERS([sys/stat.h])
107 AC_CHECK_HEADERS([sys/time.h])
108 AC_CHECK_HEADERS([sys/types.h])
109 AC_CHECK_HEADERS([unistd.h])
110 AC_CHECK_HEADERS([net/if.h], [], [], [dnl
111 #include <stdio.h>
112 #ifdef STDC_HEADERS
113 # include <stdlib.h>
114 # include <stddef.h>
115 #else
116 # ifdef HAVE_STDLIB_H
117 # include <stdlib.h>
118 # endif
119 #endif
120 #ifdef HAVE_SYS_SOCKET_H
121 # include <sys/socket.h>
122 #endif
123 ])
124
125 AC_HEADER_ASSERT
126 AC_HEADER_STDBOOL
127 AC_HEADER_TIME
128
129 AC_C_BIGENDIAN
130
131 AC_CHECK_FUNCS([strndup])
132 AC_CHECK_FUNCS([strnlen])
133 AC_CHECK_FUNCS([gettimeofday])
134 AC_CHECK_FUNCS([usleep])
135 AC_CHECK_FUNCS([vasprintf])
136
137 build_bitbang=no
138 build_bitq=no
139 is_cygwin=no
140 is_mingw=no
141 is_win32=no
142 is_darwin=no
143
144 # guess-rev.sh only exists in the repository, not in the released archives
145 AC_MSG_CHECKING([whether to build a release])
146 if test -x $srcdir/guess-rev.sh ; then
147 build_release=no
148 else
149 build_release=yes
150 fi
151 AC_MSG_RESULT([$build_release])
152
153 # We are not *ALWAYS* being installed in the standard place.
154 # We may be installed in a "tool-build" specific location.
155 # Normally with other packages - as part of a tool distro.
156 # Thus - we should search that 'libdir' also.
157 #
158 # And - if we are being installed there - the odds are
159 # The libraries unique to what we are are there too.
160 #
161
162 # Expand nd deal with NONE - just like configure will do later
163 OCDprefix=$prefix
164 OCDxprefix=$exec_prefix
165 test x"$OCDprefix" = xNONE && OCDprefix=$ac_default_prefix
166 # Let make expand exec_prefix.
167 test x"$OCDxprefix" = xNONE && OCDxprefix="$OCDprefix"
168
169 # what matters is the "exec-prefix"
170 if test "$OCDxprefix" != "$ac_default_prefix"
171 then
172 # We are installing in a non-standard place
173 # Nonstandard --prefix and/or --exec-prefix
174 # We have an override of some sort.
175 # use build specific install library dir
176
177 LDFLAGS="$LDFLAGS -L$OCDxprefix/lib"
178 # RPATH becomes an issue on Linux only
179 if test $host_os = linux-gnu || test $host_os = linux ; then
180 LDFLAGS="$LDFLAGS -Wl,-rpath,$OCDxprefix/lib"
181 fi
182 # The "INCDIR" is also usable
183 CFLAGS="$CFLAGS -I$includedir"
184 fi
185
186 AC_ARG_WITH(ftd2xx,
187 AS_HELP_STRING([--with-ftd2xx=<PATH>],[This option has been removed.]),
188 [
189 # Option Given.
190 cat << __EOF__
191
192 The option: --with-ftd2xx=<PATH> has been removed.
193 On Linux, the new option is:
194
195 --with-ftd2xx-linux-tardir=/path/to/files
196
197 Where <path> is the path the the directory where the "tar.gz" file
198 from FTDICHIP.COM was unpacked, for example:
199
200 --with-ftd2xx-linux-tardir=${HOME}/libftd2xx0.4.16
201
202 On Cygwin/MingW32, the new option is:
203
204 --with-ftd2xx-win32-zipdir=/path/to/files
205
206 Where <path> is the path to the directory where the "zip" file from
207 FTDICHIP.COM was unpacked, for example:
208
209 --with-ftd2xx-win32-zipdir=${HOME}/ftd2xx.cdm.files
210
211 __EOF__
212
213 AC_MSG_ERROR([Sorry Cannot continue])
214 ], [true])
215
216 #========================================
217 # FTD2XXX support comes in 4 forms.
218 # (1) win32 - via a zip file
219 # (2) linux - via a tar file
220 # (3) linux/cygwin/mingw - via libftdi
221 # (4) darwin - installed under /usr/local
222 #
223 # In case (1) and (2) we need to know where the package was unpacked.
224
225 AC_ARG_WITH(ftd2xx-win32-zipdir,
226 AS_HELP_STRING([--with-ftd2xx-win32-zipdir],[Where (CYGWIN/MINGW) the zip file from ftdichip.com was unpacked <default=search>]),
227 [
228 # option present
229 if test -d $with_ftd2xx_win32_zipdir
230 then
231 with_ftd2xx_win32_zipdir=`cd $with_ftd2xx_win32_zipdir && pwd`
232 AC_MSG_NOTICE([Using: ftdichip.com library: $with_ftd2xx_win32_zipdir])
233 else
234 AC_MSG_ERROR([Parameter to --with-ftd2xx-win32-zipdir is not a dir: $with_ftd2xx_win32_zipdir])
235 fi
236 ], [true])
237
238 AC_ARG_WITH(ftd2xx-linux-tardir,
239 AS_HELP_STRING([--with-ftd2xx-linux-tardir], [Where (Linux/Unix) the tar file from ftdichip.com was unpacked <default=search>]),
240 [
241 # Option present
242 if test $is_win32 = yes ; then
243 AC_MSG_ERROR([The option: --with-ftd2xx-linux-tardir is only usable on linux])
244 fi
245 if test -d $with_ftd2xx_linux_tardir
246 then
247 with_ftd2xx_linux_tardir=`cd $with_ftd2xx_linux_tardir && pwd`
248 AC_MSG_NOTICE([Using: ftdichip.com library: $with_ftd2xx_linux_tardir])
249 else
250 AC_MSG_ERROR([Parameter to --with-ftd2xx-linux-tardir is not a dir: $with_ftd2xx_linux_tardir])
251 fi
252 ], [true])
253
254 AC_ARG_WITH(ftd2xx-lib,
255 AS_HELP_STRING([--with-ftd2xx-lib],
256 [Use static or shared ftd2xx libs on default static]),
257 [
258 case "$withval" in
259 static)
260 with_ftd2xx_lib=$withval
261 ;;
262 shared)
263 with_ftd2xx_lib=$withval
264 ;;
265 *)
266 AC_MSG_ERROR([Option: --with-ftd2xx-lib=static or --with-ftd2xx-lib=shared not, $withval])
267 ;;
268 esac
269 ], [
270 # Default is static - it is simpler :-(
271 with_ftd2xx_lib=static
272 ])
273
274 AC_ARG_ENABLE([doxygen-html],
275 AS_HELP_STRING([--disable-doxygen-html],
276 [Disable building Doxygen manual as HTML.]),
277 [doxygen_as_html=$enableval], [doxygen_as_html=yes])
278 AC_SUBST([doxygen_as_html])
279 AC_MSG_CHECKING([whether to build Doxygen as HTML])
280 AC_MSG_RESULT([$doxygen_as_html])
281
282 AC_ARG_ENABLE([doxygen-pdf],
283 AS_HELP_STRING([--enable-doxygen-pdf],
284 [Enable building Doxygen manual as PDF.]),
285 [doxygen_as_pdf=$enableval], [doxygen_as_pdf=no])
286 AC_SUBST([doxygen_as_pdf])
287 AC_MSG_CHECKING([whether to build Doxygen as PDF])
288 AC_MSG_RESULT([$doxygen_as_pdf])
289
290 AC_ARG_ENABLE([gccwarnings],
291 AS_HELP_STRING([--disable-gccwarnings], [Disable compiler warnings]),
292 [gcc_warnings=$enableval], [gcc_warnings=yes])
293
294 AC_ARG_ENABLE([wextra],
295 AS_HELP_STRING([--disable-wextra], [Disable extra compiler warnings]),
296 [gcc_wextra=$enableval], [gcc_wextra=$gcc_warnings])
297
298 AC_ARG_ENABLE([werror],
299 AS_HELP_STRING([--disable-werror], [Do not treat warnings as errors]),
300 [gcc_werror=$enableval], [gcc_werror=$gcc_warnings])
301
302 # set default verbose options, overridden by following options
303 debug_jtag_io=no
304 debug_usb_io=no
305 debug_usb_comms=no
306
307 AC_ARG_ENABLE([verbose],
308 AS_HELP_STRING([--enable-verbose],
309 [Enable verbose JTAG I/O messages (for debugging).]),
310 [
311 debug_jtag_io=$enableval
312 debug_usb_io=$enableval
313 debug_usb_comms=$enableval
314 ], [])
315
316 AC_ARG_ENABLE([verbose_jtag_io],
317 AS_HELP_STRING([--enable-verbose-jtag-io],
318 [Enable verbose JTAG I/O messages (for debugging).]),
319 [debug_jtag_io=$enableval], [])
320
321 AC_ARG_ENABLE([verbose_usb_io],
322 AS_HELP_STRING([--enable-verbose-usb-io],
323 [Enable verbose USB I/O messages (for debugging)]),
324 [debug_usb_io=$enableval], [])
325
326 AC_ARG_ENABLE([verbose_usb_comms],
327 AS_HELP_STRING([--enable-verbose-usb-comms],
328 [Enable verbose USB communication messages (for debugging)]),
329 [debug_usb_comms=$enableval], [])
330
331 AC_MSG_CHECKING([whether to enable verbose JTAG I/O messages]);
332 AC_MSG_RESULT([$debug_jtag_io])
333 if test $debug_jtag_io = yes; then
334 AC_DEFINE([_DEBUG_JTAG_IO_],[1], [Print verbose JTAG I/O messages])
335 fi
336
337 AC_MSG_CHECKING([whether to enable verbose USB I/O messages]);
338 AC_MSG_RESULT([$debug_usb_io])
339 if test $debug_usb_io = yes; then
340 AC_DEFINE([_DEBUG_USB_IO_],[1], [Print verbose USB I/O messages])
341 fi
342
343 AC_MSG_CHECKING([whether to enable verbose USB communication messages]);
344 AC_MSG_RESULT([$debug_usb_comms])
345 if test $debug_usb_comms = yes; then
346 AC_DEFINE([_DEBUG_USB_COMMS_],[1], [Print verbose USB communication messages])
347 fi
348
349 debug_malloc=no
350 AC_ARG_ENABLE([malloc_logging],
351 AS_HELP_STRING([--enable-malloc-logging],
352 [Include free space in logging messages (requires malloc.h).]),
353 [debug_malloc=$enableval], [])
354
355 AC_MSG_CHECKING([whether to enable malloc free space logging]);
356 AC_MSG_RESULT([$debug_malloc])
357 if test $debug_malloc = yes; then
358 AC_DEFINE([_DEBUG_FREE_SPACE_],[1], [Include malloc free space in logging])
359 fi
360
361 AC_ARG_ENABLE([dummy],
362 AS_HELP_STRING([--enable-dummy], [Enable building the dummy port driver]),
363 [build_dummy=$enableval], [build_dummy=no])
364
365 AC_ARG_ENABLE([parport],
366 AS_HELP_STRING([--enable-parport], [Enable building the pc parallel port driver]),
367 [build_parport=$enableval], [build_parport=no])
368
369 AC_ARG_ENABLE([parport_ppdev],
370 AS_HELP_STRING([--disable-parport-ppdev],
371 [Disable use of ppdev (/dev/parportN) for parport (for x86 only)]),
372 [parport_use_ppdev=$enableval], [parport_use_ppdev=yes])
373
374 AC_ARG_ENABLE([parport_giveio],
375 AS_HELP_STRING([--enable-parport-giveio],
376 [Enable use of giveio for parport (for CygWin only)]),
377 [parport_use_giveio=$enableval], [parport_use_giveio=])
378
379 AC_ARG_ENABLE([ft2232_libftdi],
380 AS_HELP_STRING([--enable-ft2232_libftdi], [Enable building support for FT2232 based devices using the libftdi driver, opensource alternate of FTD2XX]),
381 [build_ft2232_libftdi=$enableval], [build_ft2232_libftdi=no])
382
383 AC_ARG_ENABLE([ft2232_ftd2xx],
384 AS_HELP_STRING([--enable-ft2232_ftd2xx], [Enable building support for FT2232 based devices using the FTD2XX driver from ftdichip.com]),
385 [build_ft2232_ftd2xx=$enableval], [build_ft2232_ftd2xx=no])
386
387 AC_ARG_ENABLE([usb_blaster_libftdi],
388 AS_HELP_STRING([--enable-usb_blaster_libftdi], [Enable building support for the Altera USB-Blaster using the libftdi driver, opensource alternate of FTD2XX]),
389 [build_usb_blaster_libftdi=$enableval], [build_usb_blaster_libftdi=no])
390
391 AC_ARG_ENABLE([usb_blaster_ftd2xx],
392 AS_HELP_STRING([--enable-usb_blaster_ftd2xx], [Enable building support for the Altera USB-Blaster using the FTD2XX driver from ftdichip.com]),
393 [build_usb_blaster_ftd2xx=$enableval], [build_usb_blaster_ftd2xx=no])
394
395 AC_ARG_ENABLE([amtjtagaccel],
396 AS_HELP_STRING([--enable-amtjtagaccel], [Enable building the Amontec JTAG-Accelerator driver]),
397 [build_amtjtagaccel=$enableval], [build_amtjtagaccel=no])
398
399 AC_ARG_ENABLE([zy1000_master],
400 AS_HELP_STRING([--enable-zy1000-master], [Use ZY1000 JTAG master registers]),
401 [build_zy1000_master=$enableval], [build_zy1000_master=no])
402
403 AC_ARG_ENABLE([zy1000],
404 AS_HELP_STRING([--enable-zy1000], [Enable ZY1000 interface]),
405 [build_zy1000=$enableval], [build_zy1000=no])
406
407 AC_ARG_ENABLE([ioutil],
408 AS_HELP_STRING([--enable-ioutil], [Enable ioutil functions - useful for standalone OpenOCD implementations]),
409 [build_ioutil=$enableval], [build_ioutil=no])
410
411 case "${host_cpu}" in
412 arm*)
413 AC_ARG_ENABLE([ep93xx],
414 AS_HELP_STRING([--enable-ep93xx], [Enable building support for EP93xx based SBCs]),
415 [build_ep93xx=$enableval], [build_ep93xx=no])
416
417 AC_ARG_ENABLE([at91rm9200],
418 AS_HELP_STRING([--enable-at91rm9200], [Enable building support for AT91RM9200 based SBCs]),
419 [build_at91rm9200=$enableval], [build_at91rm9200=no])
420 ;;
421
422 *)
423 build_ep93xx=no
424 build_at91rm9200=no
425 ;;
426 esac
427
428 AC_ARG_ENABLE([gw16012],
429 AS_HELP_STRING([--enable-gw16012], [Enable building support for the Gateworks GW16012 JTAG Programmer]),
430 [build_gw16012=$enableval], [build_gw16012=no])
431
432 AC_ARG_ENABLE([presto_libftdi],
433 AS_HELP_STRING([--enable-presto_libftdi], [Enable building support for ASIX Presto Programmer using the libftdi driver]),
434 [build_presto_libftdi=$enableval], [build_presto_libftdi=no])
435
436 AC_ARG_ENABLE([presto_ftd2xx],
437 AS_HELP_STRING([--enable-presto_ftd2xx], [Enable building support for ASIX Presto Programmer using the FTD2XX driver]),
438 [build_presto_ftd2xx=$enableval], [build_presto_ftd2xx=no])
439
440 AC_ARG_ENABLE([usbprog],
441 AS_HELP_STRING([--enable-usbprog], [Enable building support for the usbprog JTAG Programmer]),
442 [build_usbprog=$enableval], [build_usbprog=no])
443
444 AC_ARG_ENABLE([oocd_trace],
445 AS_HELP_STRING([--enable-oocd_trace],
446 [Enable building support for some prototype OpenOCD+trace ETM capture hardware]),
447 [build_oocd_trace=$enableval], [build_oocd_trace=no])
448
449 AC_ARG_ENABLE([jlink],
450 AS_HELP_STRING([--enable-jlink], [Enable building support for the Segger J-Link JTAG Programmer]),
451 [build_jlink=$enableval], [build_jlink=no])
452
453 AC_ARG_ENABLE([vsllink],
454 AS_HELP_STRING([--enable-vsllink], [Enable building support for the Versaloon-Link JTAG Programmer]),
455 [build_vsllink=$enableval], [build_vsllink=no])
456
457 AC_ARG_ENABLE([rlink],
458 AS_HELP_STRING([--enable-rlink], [Enable building support for the Raisonance RLink JTAG Programmer]),
459 [build_rlink=$enableval], [build_rlink=no])
460
461 AC_ARG_ENABLE([ulink],
462 AS_HELP_STRING([--enable-ulink], [Enable building support for the Keil ULINK JTAG Programmer]),
463 [build_ulink=$enableval], [build_ulink=no])
464
465 AC_ARG_ENABLE([arm-jtag-ew],
466 AS_HELP_STRING([--enable-arm-jtag-ew], [Enable building support for the Olimex ARM-JTAG-EW Programmer]),
467 [build_armjtagew=$enableval], [build_armjtagew=no])
468
469 AC_ARG_ENABLE([buspirate],
470 AS_HELP_STRING([--enable-buspirate], [Enable building support for the Buspirate]),
471 [build_buspirate=$enableval], [build_buspirate=no])
472
473 AC_ARG_ENABLE([stlink],
474 AS_HELP_STRING([--enable-stlink], [Enable building support for the ST-Link JTAG Programmer]),
475 [build_stlink=$enableval], [build_stlink=no])
476
477 AC_ARG_ENABLE([osbdm],
478 AS_HELP_STRING([--enable-osbdm], [Enable building support for the OSBDM (JTAG only) Programmer]),
479 [build_osbdm=$enableval], [build_osbdm=no])
480
481 AC_ARG_ENABLE([opendous],
482 AS_HELP_STRING([--enable-opendous], [Enable building support for the estick/opendous JTAG Programmer]),
483 [build_opendous=$enableval], [build_opendous=no])
484
485 AC_ARG_ENABLE([minidriver_dummy],
486 AS_HELP_STRING([--enable-minidriver-dummy], [Enable the dummy minidriver.]),
487 [build_minidriver_dummy=$enableval], [build_minidriver_dummy=no])
488
489 AC_ARG_ENABLE([internal-jimtcl],
490 AS_HELP_STRING([--disable-internal-jimtcl], [Disable building internal jimtcl]),
491 [use_internal_jimtcl=$enableval], [use_internal_jimtcl=yes])
492
493 AC_ARG_ENABLE([libusb0],
494 AS_HELP_STRING([--enable-libusb0], [Use libusb-0.1 library for USB JTAG devices]),
495 [check_libusb0=$enableval], [check_libusb0=no])
496
497 build_minidriver=no
498 AC_MSG_CHECKING([whether to enable ZY1000 minidriver])
499 if test $build_zy1000 = yes; then
500 if test $build_minidriver = yes; then
501 AC_MSG_ERROR([Multiple minidriver options have been enabled.])
502 fi
503 AC_DEFINE([HAVE_JTAG_MINIDRIVER_H], [1],
504 [Define to 1 if you have the <jtag_minidriver.h> header file.])
505 build_minidriver=yes
506 fi
507 AC_MSG_RESULT([$build_zy1000])
508
509 AC_ARG_ENABLE([remote-bitbang],
510 AS_HELP_STRING([--enable-remote-bitbang], [Enable building support for the Remote Bitbang jtag driver]),
511 [build_remote_bitbang=$enableval], [build_remote_bitbang=no])
512
513 AC_MSG_CHECKING([whether to enable dummy minidriver])
514 if test $build_minidriver_dummy = yes; then
515 if test $build_minidriver = yes; then
516 AC_MSG_ERROR([Multiple minidriver options have been enabled.])
517 fi
518 build_minidriver=yes
519 AC_DEFINE([BUILD_MINIDRIVER_DUMMY], [1], [Use the dummy minidriver.])
520 AC_DEFINE([HAVE_JTAG_MINIDRIVER_H], [1],
521 [Define to 1 if you have the <jtag_minidriver.h> header file.])
522 fi
523 AC_MSG_RESULT([$build_minidriver_dummy])
524
525 AC_MSG_CHECKING([whether standard drivers can be built])
526 if test "$build_minidriver" = yes; then
527 AC_MSG_RESULT([no])
528 AC_MSG_WARN([Using the minidriver disables all other drivers.])
529 sleep 2
530 else
531 AC_MSG_RESULT([yes])
532 fi
533
534 case "${host_cpu}" in
535 i?86|x86*)
536 ;;
537 *)
538 if test x$parport_use_ppdev = xno; then
539 AC_MSG_WARN([--disable-parport-ppdev is not supported by the host CPU])
540 fi
541 parport_use_ppdev=yes
542 ;;
543 esac
544
545 case $host in
546 *-cygwin*)
547 is_win32=yes
548 parport_use_ppdev=no
549
550 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[return __MINGW32__;]])],
551 [is_mingw=yes],[is_mingw=no])
552 if test $is_mingw = yes; then
553 AC_DEFINE([IS_MINGW], [1], [1 if building for MinGW.])
554 if test x$parport_use_giveio = xno; then
555 AC_MSG_WARN([--disable-parport-giveio is not supported by MinGW32 hosts])
556 fi
557 parport_use_giveio=yes
558 is_cygwin=no
559 else
560 is_cygwin=yes
561 AC_DEFINE([IS_CYGWIN], [1], [1 if building for Cygwin.])
562 # sys/io.h needed under cygwin for parport access
563 if test $build_parport = yes; then
564 AC_CHECK_HEADERS([sys/io.h],[],AC_MSG_ERROR([Please install the cygwin ioperm package]))
565 fi
566 fi
567
568 AC_DEFINE([IS_WIN32], [1], [1 if building for Win32.])
569 AC_DEFINE([IS_DARWIN], [0], [0 if not building for Darwin.])
570 ;;
571 *-mingw*)
572 is_mingw=yes
573 is_win32=yes
574 parport_use_ppdev=no
575
576 if test x$parport_use_giveio = xno; then
577 AC_MSG_WARN([--disable-parport-giveio is not supported by MinGW32 hosts])
578 fi
579 parport_use_giveio=yes
580
581 if test x$build_buspirate = xyes; then
582 AC_MSG_ERROR([buspirate currently not supported by MinGW32 hosts])
583 fi
584
585 CFLAGS="$CFLAGS -D__USE_MINGW_ANSI_STDIO"
586
587 AC_DEFINE([IS_MINGW], [1], [1 if building for MinGW.])
588 AC_DEFINE([IS_WIN32], [1], [1 if building for Win32.])
589 AC_DEFINE([IS_DARWIN], [0], [0 if not building for Darwin.])
590 ;;
591 *darwin*)
592 is_darwin=yes
593
594 if test x$parport_use_giveio = xyes; then
595 AC_MSG_WARN([--enable-parport-giveio cannot be used by Darwin hosts])
596 fi
597 parport_use_giveio=no
598
599 AC_DEFINE([IS_CYGWIN], [0], [0 if not building for Cygwin.])
600 AC_DEFINE([IS_WIN32], [0], [0 if not building for Win32.])
601 AC_DEFINE([IS_DARWIN], [1], [1 if building for Darwin.])
602 ;;
603 *)
604 if test x$parport_use_giveio = xyes; then
605 AC_MSG_WARN([--enable-parport-giveio cannot be used by ]$host[ hosts])
606 fi
607 parport_use_giveio=no
608 AC_DEFINE([IS_CYGWIN], [0], [0 if not building for Cygwin.])
609 AC_DEFINE([IS_WIN32], [0], [0 if not building for Win32.])
610 AC_DEFINE([IS_DARWIN], [0], [0 if not building for Darwin.])
611 ;;
612 esac
613
614 if test $build_parport = yes; then
615 build_bitbang=yes
616 AC_DEFINE([BUILD_PARPORT], [1], [1 if you want parport.])
617 else
618 AC_DEFINE([BUILD_PARPORT], [0], [0 if you don't want parport.])
619 fi
620
621 if test $build_dummy = yes; then
622 build_bitbang=yes
623 AC_DEFINE([BUILD_DUMMY], [1], [1 if you want dummy driver.])
624 else
625 AC_DEFINE([BUILD_DUMMY], [0], [0 if you don't want dummy driver.])
626 fi
627
628 if test $build_ep93xx = yes; then
629 build_bitbang=yes
630 AC_DEFINE([BUILD_EP93XX], [1], [1 if you want ep93xx.])
631 else
632 AC_DEFINE([BUILD_EP93XX], [0], [0 if you don't want ep93xx.])
633 fi
634
635 if test $build_zy1000 = yes; then
636 AC_DEFINE([BUILD_ZY1000], [1], [1 if you want ZY1000.])
637 else
638 AC_DEFINE([BUILD_ZY1000], [0], [0 if you don't want ZY1000.])
639 fi
640
641 if test $build_zy1000_master = yes; then
642 AC_DEFINE([BUILD_ZY1000_MASTER], [1], [1 if you want ZY1000 JTAG master registers.])
643 else
644 AC_DEFINE([BUILD_ZY1000_MASTER], [0], [0 if you don't want ZY1000 JTAG master registers.])
645 fi
646
647 if test $build_at91rm9200 = yes; then
648 build_bitbang=yes
649 AC_DEFINE([BUILD_AT91RM9200], [1], [1 if you want at91rm9200.])
650 else
651 AC_DEFINE([BUILD_AT91RM9200], [0], [0 if you don't want at91rm9200.])
652 fi
653
654 if test x$parport_use_ppdev = xyes; then
655 AC_DEFINE([PARPORT_USE_PPDEV], [1], [1 if you want parport to use ppdev.])
656 else
657 AC_DEFINE([PARPORT_USE_PPDEV], [0], [0 if you don't want parport to use ppdev.])
658 fi
659
660 if test x$parport_use_giveio = xyes; then
661 AC_DEFINE([PARPORT_USE_GIVEIO], [1], [1 if you want parport to use giveio.])
662 else
663 AC_DEFINE([PARPORT_USE_GIVEIO], [0], [0 if you don't want parport to use giveio.])
664 fi
665
666 if test $build_bitbang = yes; then
667 AC_DEFINE([BUILD_BITBANG], [1], [1 if you want a bitbang interface.])
668 else
669 AC_DEFINE([BUILD_BITBANG], [0], [0 if you don't want a bitbang interface.])
670 fi
671
672 if test $build_ft2232_libftdi = yes; then
673 AC_DEFINE([BUILD_FT2232_LIBFTDI], [1], [1 if you want libftdi ft2232.])
674 else
675 AC_DEFINE([BUILD_FT2232_LIBFTDI], [0], [0 if you don't want libftdi ft2232.])
676 fi
677
678 if test $build_ft2232_ftd2xx = yes; then
679 AC_DEFINE([BUILD_FT2232_FTD2XX], [1], [1 if you want ftd2xx ft2232.])
680 else
681 AC_DEFINE([BUILD_FT2232_FTD2XX], [0], [0 if you don't want ftd2xx ft2232.])
682 fi
683
684 if test $build_usb_blaster_libftdi = yes; then
685 build_bitbang=yes
686 AC_DEFINE([BUILD_USB_BLASTER_LIBFTDI], [1], [1 if you want libftdi usb_blaster.])
687 else
688 AC_DEFINE([BUILD_USB_BLASTER_LIBFTDI], [0], [0 if you don't want libftdi usb_blaster.])
689 fi
690
691 if test $build_usb_blaster_ftd2xx = yes; then
692 build_bitbang=yes
693 AC_DEFINE([BUILD_USB_BLASTER_FTD2XX], [1], [1 if you want ftd2xx usb_blaster.])
694 else
695 AC_DEFINE([BUILD_USB_BLASTER_FTD2XX], [0], [0 if you don't want ftd2xx usb_blaster.])
696 fi
697
698 if test $build_amtjtagaccel = yes; then
699 AC_DEFINE([BUILD_AMTJTAGACCEL], [1], [1 if you want the Amontec JTAG-Accelerator driver.])
700 else
701 AC_DEFINE([BUILD_AMTJTAGACCEL], [0], [0 if you don't want the Amontec JTAG-Accelerator driver.])
702 fi
703
704 if test $build_gw16012 = yes; then
705 AC_DEFINE([BUILD_GW16012], [1], [1 if you want the Gateworks GW16012 driver.])
706 else
707 AC_DEFINE([BUILD_GW16012], [0], [0 if you don't want the Gateworks GW16012 driver.])
708 fi
709
710 if test $build_presto_libftdi = yes; then
711 build_bitq=yes
712 AC_DEFINE([BUILD_PRESTO_LIBFTDI], [1], [1 if you want the ASIX PRESTO driver using libftdi.])
713 else
714 AC_DEFINE([BUILD_PRESTO_LIBFTDI], [0], [0 if you don't want the ASIX PRESTO driver using libftdi.])
715 fi
716
717 if test $build_presto_ftd2xx = yes; then
718 build_bitq=yes
719 AC_DEFINE([BUILD_PRESTO_FTD2XX], [1], [1 if you want the ASIX PRESTO driver using FTD2XX.])
720 else
721 AC_DEFINE([BUILD_PRESTO_FTD2XX], [0], [0 if you don't want the ASIX PRESTO driver using FTD2XX.])
722 fi
723
724 if test $build_bitq = yes; then
725 AC_DEFINE([BUILD_BITQ], [1], [1 if you want a bitq interface.])
726 else
727 AC_DEFINE([BUILD_BITQ], [0], [0 if you don't want a bitq interface.])
728 fi
729
730 if test $build_usbprog = yes; then
731 AC_DEFINE([BUILD_USBPROG], [1], [1 if you want the usbprog JTAG driver.])
732 else
733 AC_DEFINE([BUILD_USBPROG], [0], [0 if you don't want the usbprog JTAG driver.])
734 fi
735
736 if test $build_oocd_trace = yes; then
737 AC_DEFINE([BUILD_OOCD_TRACE], [1], [1 if you want the OpenOCD+trace ETM capture driver.])
738 else
739 AC_DEFINE([BUILD_OOCD_TRACE], [0], [0 if you don't want the OpenOCD+trace ETM capture driver.])
740 fi
741
742 if test $build_jlink = yes; then
743 AC_DEFINE([BUILD_JLINK], [1], [1 if you want the J-Link JTAG driver.])
744 else
745 AC_DEFINE([BUILD_JLINK], [0], [0 if you don't want the J-Link JTAG driver.])
746 fi
747
748 if test $build_vsllink = yes; then
749 AC_DEFINE([BUILD_VSLLINK], [1], [1 if you want the Versaloon-Link JTAG driver.])
750 else
751 AC_DEFINE([BUILD_VSLLINK], [0], [0 if you don't want the Versaloon-Link JTAG driver.])
752 fi
753
754 if test $build_rlink = yes; then
755 AC_DEFINE([BUILD_RLINK], [1], [1 if you want the RLink JTAG driver.])
756 else
757 AC_DEFINE([BUILD_RLINK], [0], [0 if you don't want the RLink JTAG driver.])
758 fi
759
760 if test $build_ulink = yes; then
761 AC_DEFINE([BUILD_ULINK], [1], [1 if you want the ULINK JTAG driver.])
762 else
763 AC_DEFINE([BUILD_ULINK], [0], [0 if you don't want the ULINK JTAG driver.])
764 fi
765
766 if test $build_armjtagew = yes; then
767 AC_DEFINE([BUILD_ARMJTAGEW], [1], [1 if you want the ARM-JTAG-EW JTAG driver.])
768 else
769 AC_DEFINE([BUILD_ARMJTAGEW], [0], [0 if you don't want the ARM-JTAG-EW JTAG driver.])
770 fi
771
772 if test $build_buspirate = yes; then
773 AC_DEFINE([BUILD_BUSPIRATE], [1], [1 if you want the Buspirate JTAG driver.])
774 else
775 AC_DEFINE([BUILD_BUSPIRATE], [0], [0 if you don't want the Buspirate JTAG driver.])
776 fi
777
778 if test $build_stlink = yes; then
779 AC_DEFINE([BUILD_STLINK], [1], [1 if you want the ST-Link JTAG driver.])
780 else
781 AC_DEFINE([BUILD_STLINK], [0], [0 if you don't want the ST-Link JTAG driver.])
782 fi
783
784 if test $build_osbdm = yes; then
785 AC_DEFINE([BUILD_OSBDM], [1], [1 if you want the OSBDM driver.])
786 else
787 AC_DEFINE([BUILD_OSBDM], [0], [0 if you don't want the OSBDM driver.])
788 fi
789
790 if test $build_opendous = yes; then
791 AC_DEFINE([BUILD_OPENDOUS], [1], [1 if you want the estick/opendous JTAG driver.])
792 else
793 AC_DEFINE([BUILD_OPENDOUS], [0], [0 if you don't want the estick/opendous JTAG driver.])
794 fi
795
796 if test "$use_internal_jimtcl" = yes; then
797 if test -f "$srcdir/jimtcl/configure.ac"; then
798 AX_CONFIG_SUBDIR_OPTION([jimtcl], [--disable-install-jim])
799 else
800 AC_MSG_ERROR([jimtcl not found, run git submodule init and git submodule update.])
801 fi
802 fi
803
804 if test $build_remote_bitbang = yes; then
805 build_bitbang=yes
806 AC_DEFINE([BUILD_REMOTE_BITBANG], [1], [1 if you want the Remote Bitbang JTAG driver.])
807 else
808 AC_DEFINE([BUILD_REMOTE_BITBNAG], [0], [0 if you don't want the Remote Bitbang JTAG driver.])
809 fi
810
811 #-- Deal with MingW/Cygwin FTD2XX issues
812
813 if test $is_win32 = yes; then
814 if test "${with_ftd2xx_linux_tardir+set}" = set
815 then
816 AC_MSG_ERROR([The option: with_ftd2xx_linux_tardir is for LINUX only.])
817 fi
818
819 if test $build_ft2232_ftd2xx = yes -o $build_presto_ftd2xx = yes -o $build_usb_blaster_ftd2xx = yes ; then
820 AC_MSG_CHECKING([for ftd2xx.lib exists (win32)])
821
822 # if we are given a zipdir...
823 if test "${with_ftd2xx_win32_zipdir+set}" = set
824 then
825 # Set the CFLAGS for "ftd2xx.h"
826 f=$with_ftd2xx_win32_zipdir/ftd2xx.h
827 if test ! -f $f ; then
828 AC_MSG_ERROR([File: $f cannot be found])
829 fi
830 CFLAGS="$CFLAGS -I$with_ftd2xx_win32_zipdir"
831
832 # And calculate the LDFLAGS for the machine
833 case "$host_cpu" in
834 i?86|x86_32)
835 LDFLAGS="$LDFLAGS -L$with_ftd2xx_win32_zipdir/i386"
836 LIBS="$LIBS -lftd2xx"
837 f=$with_ftd2xx_win32_zipdir/i386/ftd2xx.lib
838 ;;
839 amd64|x86_64)
840 LDFLAGS="$LDFLAGS -L$with_ftd2xx_win32_zipdir/amd64"
841 LIBS="$LIBS -lftd2xx"
842 f=$with_ftd2xx_win32_zipdir/amd64/ftd2xx.lib
843 ;;
844 *)
845 AC_MSG_ERROR([Unknown Win32 host cpu: $host_cpu])
846 ;;
847 esac
848 if test ! -f $f ; then
849 AC_MSG_ERROR([Library: $f not found])
850 fi
851 else
852 LIBS="$LIBS -lftd2xx"
853 AC_MSG_WARN([ASSUMPTION: The (win32) FTDICHIP.COM files: ftd2xx.h and ftd2xx.lib are in a proper place])
854 fi
855 fi
856 fi # win32
857
858 if test $is_darwin = yes ; then
859 if test "${with_ftd2xx_win32_zipdir+set}" = set
860 then
861 AC_MSG_ERROR([The option: --with-ftd2xx-win32-zipdir is for win32 only])
862 fi
863 if test "${with_ftd2xx_linux_tardir+set}" = set
864 then
865 AC_MSG_ERROR([The option: with_ftd2xx_linux_tardir is for LINUX only.])
866 fi
867
868 if test $build_ft2232_ftd2xx = yes -o $build_presto_ftd2xx = yes ; then
869 AC_MSG_CHECKING([for libftd2xx.a (darwin)])
870
871 if test ! -f /usr/local/include/ftd2xx.h ; then
872 AC_MSG_ERROR([ftd2xx library from FTDICHIP.com seems to be missing, cannot find: /usr/local/include/ftd2xx.h])
873 fi
874
875 CFLAGS="$CFLAGS -I/usr/local/include"
876 LDFLAGS="$LDFLAGS -L/usr/local/lib"
877 LIBS="$LIBS -lftd2xx"
878 AC_MSG_RESULT([-L/usr/local/lib -lftd2xx])
879 fi
880 fi # darwin
881
882 if test $is_win32 = no && test $is_darwin = no ; then
883
884 if test "${with_ftd2xx_win32_zipdir+set}" = set
885 then
886 AC_MSG_ERROR([The option: --with-ftd2xx-win32-zipdir is for win32 only])
887 fi
888
889 if test $build_ft2232_ftd2xx = yes -o $build_presto_ftd2xx = yes ; then
890 # Must be linux
891 if test $host_os != linux-gnu && test $host_os != linux ; then
892 AC_MSG_ERROR([The (linux) ftd2xx library from FTDICHIP.com is linux only. Try --enable-ft2232-libftdi instead])
893 fi
894 # Are we given a TAR directory?
895 if test "${with_ftd2xx_linux_tardir+set}" = set
896 then
897 AC_MSG_CHECKING([uninstalled ftd2xx distribution])
898 # The .H file is simple..
899 FTD2XX_H=$with_ftd2xx_linux_tardir/ftd2xx.h
900 if test ! -f "${FTD2XX_H}"; then
901 AC_MSG_ERROR([Option: --with-ftd2xx-linux-tardir appears wrong, cannot find: ${FTD2XX_H}])
902 fi
903 CFLAGS="$CFLAGS -I$with_ftd2xx_linux_tardir"
904 if test $with_ftd2xx_lib = shared; then
905 FTD2XX_LDFLAGS="-L$with_ftd2xx_linux_tardir"
906 FTD2XX_LIB="-lftd2xx"
907 else
908 # Test #1 - v1.0.x
909 case "$host_cpu" in
910 i?86|x86_32)
911 dir=build/i386;;
912 amd64|x86_64)
913 dir=build/x86_64;;
914 *)
915 dir=none;;
916 esac
917 if test -f "$with_ftd2xx_linux_tardir/$dir/libftd2xx.a"; then
918 FTD2XX_LDFLAGS="-L$with_ftd2xx_linux_tardir/$dir"
919 # Also needs -lrt
920 FTD2XX_LIB="-lftd2xx -lrt"
921 else
922 # Test Number2.
923 # Grr.. perhaps it exists as a version number?
924 FTD2XX_LIB="$with_ftd2xx_linux_tardir/static_lib/libftd2xx.a.*.*.*"
925 count=`ls ${FTD2XX_LIB} | wc -l`
926 if test $count -gt 1 ; then
927 AC_MSG_ERROR([Multiple libftd2xx.a files found in: $with_ftd2xx_linux_tardir/static_lib sorry cannot handle this yet])
928 fi
929 if test $count -ne 1 ; then
930 AC_MSG_ERROR([Not found: $f, option: --with-ftd2xx-linux-tardir appears to be wrong])
931 fi
932 # Because the "-l" rules do not understand version numbers...
933 # we will just stuff the absolute path onto the LIBS variable
934 FTD2XX_LIB="`ls ${FTD2XX_LIB}` -lpthread"
935 FTD2XX_LDFLAGS=""
936 fi
937 fi
938 LDFLAGS="${LDFLAGS} ${FTD2XX_LDFLAGS}"
939 LIBS="${LIBS} ${FTD2XX_LIB}"
940 AC_MSG_RESULT([${FTD2XX_LDFLAGS} ${FTD2XX_LIB}])
941 else
942 AC_CHECK_HEADER([ftd2xx.h],[],[
943 AC_MSG_ERROR([You seem to be missing the FTD2xx driver header file.])
944 ])
945 AC_SEARCH_LIBS([FT_GetLibraryVersion],[ftd2xx],,[
946 AC_MSG_ERROR([You appear to be missing the FTD2xx driver library.])
947 ],[])
948 fi
949 fi
950 fi # linux
951
952 if test $build_ft2232_ftd2xx = yes -o $build_presto_ftd2xx = yes; then
953
954 # Before we go any further - make sure we can *BUILD* and *RUN*
955 # a simple app with the "ftd2xx.lib" file - in what ever form we where given
956 # We should be able to compile, link and run this test program now
957 AC_MSG_CHECKING([whether ftd2xx library works])
958
959 #
960 # Save the LDFLAGS for later..
961 LDFLAGS_SAVE=$LDFLAGS
962 CFLAGS_SAVE=$CFLAGS
963 _LDFLAGS=`eval echo $LDFLAGS`
964 _CFLAGS=`eval echo $CFLAGS`
965 LDFLAGS=$_LDFLAGS
966 CFLAGS=$_CFLAGS
967
968 AC_RUN_IFELSE([AC_LANG_PROGRAM([[
969 #include "confdefs.h"
970 #if IS_WIN32
971 #include "windows.h"
972 #endif
973 #include <stdio.h>
974 #include <ftd2xx.h>
975 ]], [[
976 DWORD x;
977 FT_GetLibraryVersion( &x );
978 ]])], [
979 AC_MSG_RESULT([Success!])
980 ], [
981 AC_MSG_ERROR([Cannot build & run test program using ftd2xx.lib])
982 ], [
983 AC_MSG_RESULT([Skipping as we are cross-compiling])
984 ])
985
986 AC_MSG_CHECKING([for ftd2xx highspeed device support])
987 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
988 #include "confdefs.h"
989 #if IS_WIN32
990 #include "windows.h"
991 #endif
992 #include <stdio.h>
993 #include <ftd2xx.h>
994
995 DWORD x = FT_DEVICE_4232H;
996 ]], [])], [
997 AC_DEFINE([BUILD_FT2232_HIGHSPEED], [1],
998 [Support FT2232H/FT4232HS with FTD2XX or libftdi.])
999 build_ft2232_highspeed=yes
1000 ], [
1001 build_ft2232_highspeed=no
1002 ])
1003 AC_MSG_RESULT([$build_ft2232_highspeed])
1004
1005 if test $build_ft2232_highspeed = no; then
1006 AC_MSG_WARN([You need a newer FTD2XX driver (version 2.04.16 or later).])
1007 fi
1008
1009 LDFLAGS=$LDFLAGS_SAVE
1010 CFLAGS=$CFLAGS_SAVE
1011 fi
1012
1013 if test $build_ft2232_libftdi = yes ; then
1014 # We assume: the package is preinstalled in the proper place
1015 # these present as 2 libraries..
1016 LIBS="$LIBS -lftdi -lusb"
1017 #
1018 # Try to build a small program.
1019 AC_MSG_CHECKING([Build & Link with libftdi...])
1020
1021 LDFLAGS_SAVE=$LDFLAGS
1022 CFLAGS_SAVE=$CFLAGS
1023 _LDFLAGS=`eval echo $LDFLAGS`
1024 _CFLAGS=`eval echo $CFLAGS`
1025 LDFLAGS=$_LDFLAGS
1026 CFLAGS=$_CFLAGS
1027
1028 AC_RUN_IFELSE([AC_LANG_PROGRAM([[
1029 #include <stdio.h>
1030 #include <ftdi.h>
1031 ]], [[
1032 struct ftdi_context *p;
1033 p = ftdi_new();
1034 if( p != NULL ){
1035 return 0;
1036 } else {
1037 fprintf( stderr, "calling ftdi_new() failed\n");
1038 return 1;
1039 }
1040 ]])], [
1041 AC_MSG_RESULT([Success])
1042 ], [
1043 AC_MSG_ERROR([Cannot build & run test program using libftdi])
1044 ], [
1045 AC_MSG_RESULT([Skipping as we are cross-compiling])
1046 ])
1047
1048 AC_MSG_CHECKING([for libftdi highspeed device support])
1049 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
1050 #include <stdio.h>
1051 #include <ftdi.h>
1052 ]], [[
1053 enum ftdi_chip_type x = TYPE_2232H;
1054 ]])], [
1055 AC_DEFINE([BUILD_FT2232_HIGHSPEED], [1],
1056 [Support FT2232H/FT4232HS with FTD2XX or libftdi.])
1057 build_ft2232_highspeed=yes
1058 ], [
1059 build_ft2232_highspeed=no
1060 ])
1061 AC_MSG_RESULT([$build_ft2232_highspeed])
1062
1063 if test $build_ft2232_highspeed = no; then
1064 AC_MSG_WARN([You need a newer libftdi version (0.16 or later).])
1065 fi
1066
1067 # Restore the 'unexpanded ldflags'
1068 LDFLAGS=$LDFLAGS_SAVE
1069 CFLAGS=$CFLAGS_SAVE
1070 fi
1071
1072 # check for usb.h when a driver will require it
1073 build_usb=no
1074 if test $build_vsllink = yes -o $build_usbprog = yes -o \
1075 $build_rlink = yes -o $build_ulink = yes -o $build_armjtagew = yes
1076 then
1077 build_usb=yes
1078 fi
1079
1080 # Check for libusb1 ported drivers.
1081 build_usb_ng=no
1082 if test $build_jlink = yes -o $build_stlink = yes -o $build_osbdm = yes -o \
1083 $build_opendous = yes
1084 then
1085 build_usb_ng=yes
1086 fi
1087
1088 # check for libusb library if necessary
1089 use_libusb0=no
1090 use_libusb1=no
1091 if test $build_usb = yes -o $build_usb_ng = yes; then
1092 if test $check_libusb0 = no -a $build_usb_ng = yes; then
1093 AC_CHECK_HEADER([libusb-1.0/libusb.h],
1094 [AC_DEFINE(HAVE_LIBUSB1, 1, [Define if you have libusb-1.0]) check_libusb0=no use_libusb1=yes ],
1095 [ check_libusb0=yes use_libusb1=no ])
1096 fi
1097
1098 if test $check_libusb0 = yes -o $build_usb = yes; then
1099 AC_CHECK_HEADERS([usb.h], [use_libusb0=yes],
1100 [AC_MSG_ERROR([libusb or libusb-1.0 are required to build some OpenOCD driver(s)])])
1101 fi
1102 fi
1103
1104 AM_CONDITIONAL([RELEASE], [test $build_release = yes])
1105 AM_CONDITIONAL([PARPORT], [test $build_parport = yes])
1106 AM_CONDITIONAL([DUMMY], [test $build_dummy = yes])
1107 AM_CONDITIONAL([GIVEIO], [test x$parport_use_giveio = xyes])
1108 AM_CONDITIONAL([EP93XX], [test $build_ep93xx = yes])
1109 AM_CONDITIONAL([ZY1000], [test $build_zy1000 = yes])
1110 AM_CONDITIONAL([ZY1000_MASTER], [test $build_zy1000_master = yes])
1111 AM_CONDITIONAL([IOUTIL], [test $build_ioutil = yes])
1112 AM_CONDITIONAL([AT91RM9200], [test $build_at91rm9200 = yes])
1113 AM_CONDITIONAL([BITBANG], [test $build_bitbang = yes])
1114 AM_CONDITIONAL([FT2232_LIBFTDI], [test $build_ft2232_libftdi = yes])
1115 AM_CONDITIONAL([FT2232_DRIVER], [test $build_ft2232_ftd2xx = yes -o $build_ft2232_libftdi = yes])
1116 AM_CONDITIONAL([USB_BLASTER_LIBFTDI], [test $build_usb_blaster_libftdi = yes])
1117 AM_CONDITIONAL([USB_BLASTER_DRIVER], [test $build_usb_blaster_ftd2xx = yes -o $build_usb_blaster_libftdi = yes])
1118 AM_CONDITIONAL([AMTJTAGACCEL], [test $build_amtjtagaccel = yes])
1119 AM_CONDITIONAL([GW16012], [test $build_gw16012 = yes])
1120 AM_CONDITIONAL([PRESTO_LIBFTDI], [test $build_presto_libftdi = yes])
1121 AM_CONDITIONAL([PRESTO_DRIVER], [test $build_presto_ftd2xx = yes -o $build_presto_libftdi = yes])
1122 AM_CONDITIONAL([USBPROG], [test $build_usbprog = yes])
1123 AM_CONDITIONAL([OOCD_TRACE], [test $build_oocd_trace = yes])
1124 AM_CONDITIONAL([JLINK], [test $build_jlink = yes])
1125 AM_CONDITIONAL([VSLLINK], [test $build_vsllink = yes])
1126 AM_CONDITIONAL([RLINK], [test $build_rlink = yes])
1127 AM_CONDITIONAL([ULINK], [test $build_ulink = yes])
1128 AM_CONDITIONAL([ARMJTAGEW], [test $build_armjtagew = yes])
1129 AM_CONDITIONAL([REMOTE_BITBANG], [test $build_remote_bitbang = yes])
1130 AM_CONDITIONAL([BUSPIRATE], [test $build_buspirate = yes])
1131 AM_CONDITIONAL([STLINK], [test $build_stlink = yes])
1132 AM_CONDITIONAL([OSBDM], [test $build_osbdm = yes])
1133 AM_CONDITIONAL([OPENDOUS], [test $build_opendous = yes])
1134 AM_CONDITIONAL([USB], [test $build_usb = yes])
1135 AM_CONDITIONAL([USB_NG], [test $build_usb_ng = yes])
1136 AM_CONDITIONAL([USE_LIBUSB0], [test $use_libusb0 = yes])
1137 AM_CONDITIONAL([USE_LIBUSB1], [test $use_libusb1 = yes])
1138 AM_CONDITIONAL([IS_CYGWIN], [test $is_cygwin = yes])
1139 AM_CONDITIONAL([IS_MINGW], [test $is_mingw = ye]s)
1140 AM_CONDITIONAL([IS_WIN32], [test $is_win32 = ye]s)
1141 AM_CONDITIONAL([IS_DARWIN], [test $is_darwin = ye]s)
1142 AM_CONDITIONAL([BITQ], [test $build_bitq = yes])
1143
1144 AM_CONDITIONAL([MINIDRIVER], [test $build_minidriver = ye]s)
1145 AM_CONDITIONAL([MINIDRIVER_DUMMY], [test $build_minidriver_dummy = yes])
1146
1147 AM_CONDITIONAL([INTERNAL_JIMTCL], [test $use_internal_jimtcl = yes])
1148
1149 # Look for environ alternatives. Possibility #1: is environ in unistd.h or stdlib.h?
1150 AC_MSG_CHECKING([for environ in unistd.h and stdlib.h])
1151 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
1152 #define _GNU_SOURCE
1153 #include <unistd.h>
1154 #include <stdlib.h>
1155 ]], [[char **ep = environ;]]
1156 )], [
1157 AC_MSG_RESULT([yes])
1158 has_environ=yes
1159 ], [
1160 AC_MSG_RESULT([no])
1161
1162 # Possibility #2: can environ be found in an available library?
1163 AC_MSG_CHECKING([for extern environ])
1164 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1165 extern char **environ;
1166 ]], [[char **ep = environ;]]
1167 )], [
1168 AC_DEFINE(NEED_ENVIRON_EXTERN, [1], [Must declare 'environ' to use it.])
1169 has_environ=yes
1170 ], [
1171 has_environ=no
1172 ])
1173 AC_MSG_RESULT([${has_environ}])
1174 ])
1175
1176 if test "${has_environ}" != "yes" ; then
1177 AC_MSG_FAILURE([Could not find 'environ' in unistd.h or available libraries.])
1178 fi
1179
1180 AC_DEFINE([_GNU_SOURCE],[1],[Use GNU C library extensions (e.g. stdndup).])
1181
1182 # set default gcc warnings
1183 GCC_WARNINGS="-Wall -Wstrict-prototypes -Wformat-security -Wshadow"
1184 if test "${gcc_wextra}" = yes; then
1185 GCC_WARNINGS="${GCC_WARNINGS} -Wextra -Wno-unused-parameter"
1186 GCC_WARNINGS="${GCC_WARNINGS} -Wbad-function-cast"
1187 GCC_WARNINGS="${GCC_WARNINGS} -Wcast-align"
1188 GCC_WARNINGS="${GCC_WARNINGS} -Wredundant-decls"
1189 fi
1190 if test "${gcc_werror}" = yes; then
1191 GCC_WARNINGS="${GCC_WARNINGS} -Werror"
1192 fi
1193
1194 # overide default gcc cflags
1195 if test $gcc_warnings = yes; then
1196 CFLAGS="$CFLAGS $GCC_WARNINGS"
1197 fi
1198
1199 # Setup for compiling build tools
1200 AC_MSG_CHECKING([for a C compiler for build tools])
1201 if test $cross_compiling = yes; then
1202 AC_CHECK_PROGS(CC_FOR_BUILD, gcc cc)
1203 CFLAGS_FOR_BUILD="-g -O2 $GCC_WARNINGS"
1204 else
1205 CC_FOR_BUILD=$CC
1206 CFLAGS_FOR_BUILD=$CFLAGS
1207 fi
1208
1209 AC_MSG_RESULT([$CC_FOR_BUILD])
1210 AC_SUBST([CC_FOR_BUILD])
1211 AC_SUBST([CFLAGS_FOR_BUILD])
1212
1213 AC_MSG_CHECKING([for suffix of executable build tools])
1214 if test $cross_compiling = yes; then
1215 cat >conftest.c <<\_______EOF
1216 int main ()
1217 {
1218 exit (0);
1219 }
1220 _______EOF
1221 for i in .exe ""; do
1222 compile="$CC_FOR_BUILD conftest.c -o conftest$i"
1223 if AC_TRY_EVAL(compile); then
1224 if (./conftest) 2>&AC_FD_CC; then
1225 EXEEXT_FOR_BUILD=$i
1226 break
1227 fi
1228 fi
1229 done
1230 rm -f conftest*
1231 if test "${EXEEXT_FOR_BUILD+set}" != set; then
1232 AC_MSG_ERROR([Cannot determine suffix of executable build tools])
1233 fi
1234 else
1235 EXEEXT_FOR_BUILD=$EXEEXT
1236 fi
1237 AC_MSG_RESULT([$EXEEXT_FOR_BUILD])
1238 AC_SUBST([EXEEXT_FOR_BUILD])
1239
1240 AC_CONFIG_FILES([
1241 Makefile
1242 src/Makefile
1243 src/helper/Makefile
1244 src/jtag/Makefile
1245 src/jtag/drivers/Makefile
1246 src/jtag/stlink/Makefile
1247 src/transport/Makefile
1248 src/xsvf/Makefile
1249 src/svf/Makefile
1250 src/target/Makefile
1251 src/rtos/Makefile
1252 src/server/Makefile
1253 src/flash/Makefile
1254 src/flash/nor/Makefile
1255 src/flash/nand/Makefile
1256 src/pld/Makefile
1257 doc/Makefile
1258 ])
1259 AC_OUTPUT

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)