Renamed mx2.{c,h} to mxc.{c,h} and added copyright notice
[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([ecosboard],
400 AS_HELP_STRING([--enable-ecosboard], [Enable building support for eCos based JTAG debugger]),
401 [build_ecosboard=$enableval], [build_ecosboard=no])
402
403 AC_ARG_ENABLE([zy1000_master],
404 AS_HELP_STRING([--enable-zy1000-master], [Use ZY1000 JTAG master registers]),
405 [build_zy1000_master=$enableval], [build_zy1000_master=no])
406
407 AC_ARG_ENABLE([zy1000],
408 AS_HELP_STRING([--enable-zy1000], [Enable ZY1000 interface]),
409 [build_zy1000=$enableval], [build_zy1000=no])
410
411 AC_ARG_ENABLE([ioutil],
412 AS_HELP_STRING([--enable-ioutil], [Enable ioutil functions - useful for standalone OpenOCD implementations]),
413 [build_ioutil=$enableval], [build_ioutil=no])
414
415 case "${host_cpu}" in
416 arm*)
417 AC_ARG_ENABLE([ep93xx],
418 AS_HELP_STRING([--enable-ep93xx], [Enable building support for EP93xx based SBCs]),
419 [build_ep93xx=$enableval], [build_ep93xx=no])
420
421 AC_ARG_ENABLE([at91rm9200],
422 AS_HELP_STRING([--enable-at91rm9200], [Enable building support for AT91RM9200 based SBCs]),
423 [build_at91rm9200=$enableval], [build_at91rm9200=no])
424 ;;
425
426 *)
427 build_ep93xx=no
428 build_at91rm9200=no
429 ;;
430 esac
431
432 AC_ARG_ENABLE([gw16012],
433 AS_HELP_STRING([--enable-gw16012], [Enable building support for the Gateworks GW16012 JTAG Programmer]),
434 [build_gw16012=$enableval], [build_gw16012=no])
435
436 AC_ARG_ENABLE([presto_libftdi],
437 AS_HELP_STRING([--enable-presto_libftdi], [Enable building support for ASIX Presto Programmer using the libftdi driver]),
438 [build_presto_libftdi=$enableval], [build_presto_libftdi=no])
439
440 AC_ARG_ENABLE([presto_ftd2xx],
441 AS_HELP_STRING([--enable-presto_ftd2xx], [Enable building support for ASIX Presto Programmer using the FTD2XX driver]),
442 [build_presto_ftd2xx=$enableval], [build_presto_ftd2xx=no])
443
444 AC_ARG_ENABLE([usbprog],
445 AS_HELP_STRING([--enable-usbprog], [Enable building support for the usbprog JTAG Programmer]),
446 [build_usbprog=$enableval], [build_usbprog=no])
447
448 AC_ARG_ENABLE([oocd_trace],
449 AS_HELP_STRING([--enable-oocd_trace],
450 [Enable building support for some prototype OpenOCD+trace ETM capture hardware]),
451 [build_oocd_trace=$enableval], [build_oocd_trace=no])
452
453 AC_ARG_ENABLE([jlink],
454 AS_HELP_STRING([--enable-jlink], [Enable building support for the Segger J-Link JTAG Programmer]),
455 [build_jlink=$enableval], [build_jlink=no])
456
457 AC_ARG_ENABLE([vsllink],
458 AS_HELP_STRING([--enable-vsllink], [Enable building support for the Versaloon-Link JTAG Programmer]),
459 [build_vsllink=$enableval], [build_vsllink=no])
460
461 AC_ARG_ENABLE([rlink],
462 AS_HELP_STRING([--enable-rlink], [Enable building support for the Raisonance RLink JTAG Programmer]),
463 [build_rlink=$enableval], [build_rlink=no])
464
465 AC_ARG_ENABLE([ulink],
466 AS_HELP_STRING([--enable-ulink], [Enable building support for the Keil ULINK JTAG Programmer]),
467 [build_ulink=$enableval], [build_ulink=no])
468
469 AC_ARG_ENABLE([arm-jtag-ew],
470 AS_HELP_STRING([--enable-arm-jtag-ew], [Enable building support for the Olimex ARM-JTAG-EW Programmer]),
471 [build_armjtagew=$enableval], [build_armjtagew=no])
472
473 AC_ARG_ENABLE([buspirate],
474 AS_HELP_STRING([--enable-buspirate], [Enable building support for the Buspirate]),
475 [build_buspirate=$enableval], [build_buspirate=no])
476
477 AC_ARG_ENABLE([minidriver_dummy],
478 AS_HELP_STRING([--enable-minidriver-dummy], [Enable the dummy minidriver.]),
479 [build_minidriver_dummy=$enableval], [build_minidriver_dummy=no])
480
481 AC_ARG_ENABLE([internal-jimtcl],
482 AS_HELP_STRING([--disable-internal-jimtcl], [Disable building internal jimtcl]),
483 [use_internal_jimtcl=$enableval], [use_internal_jimtcl=yes])
484
485 AC_ARG_ENABLE([libusb0],
486 AS_HELP_STRING([--enable-libusb0], [Use libusb-0.1 library for USB JTAG devices]),
487 [check_libusb0=$enableval], [check_libusb0=no])
488
489 build_minidriver=no
490 AC_MSG_CHECKING([whether to enable ZY1000 minidriver])
491 if test $build_zy1000 = yes; then
492 if test $build_minidriver = yes; then
493 AC_MSG_ERROR([Multiple minidriver options have been enabled.])
494 fi
495 AC_DEFINE([HAVE_JTAG_MINIDRIVER_H], [1],
496 [Define to 1 if you have the <jtag_minidriver.h> header file.])
497 build_minidriver=yes
498 fi
499 AC_MSG_RESULT([$build_zy1000])
500
501 AC_ARG_ENABLE([remote-bitbang],
502 AS_HELP_STRING([--enable-remote-bitbang], [Enable building support for the Remote Bitbang jtag driver]),
503 [build_remote_bitbang=$enableval], [build_remote_bitbang=no])
504
505 AC_MSG_CHECKING([whether to enable dummy minidriver])
506 if test $build_minidriver_dummy = yes; then
507 if test $build_minidriver = yes; then
508 AC_MSG_ERROR([Multiple minidriver options have been enabled.])
509 fi
510 build_minidriver=yes
511 AC_DEFINE([BUILD_MINIDRIVER_DUMMY], [1], [Use the dummy minidriver.])
512 AC_DEFINE([HAVE_JTAG_MINIDRIVER_H], [1],
513 [Define to 1 if you have the <jtag_minidriver.h> header file.])
514 fi
515 AC_MSG_RESULT([$build_minidriver_dummy])
516
517 AC_MSG_CHECKING([whether standard drivers can be built])
518 if test "$build_minidriver" = yes; then
519 AC_MSG_RESULT([no])
520 AC_MSG_WARN([Using the minidriver disables all other drivers.])
521 sleep 2
522 else
523 AC_MSG_RESULT([yes])
524 fi
525
526 case "${host_cpu}" in
527 i?86|x86*)
528 ;;
529 *)
530 if test x$parport_use_ppdev = xno; then
531 AC_MSG_WARN([--disable-parport-ppdev is not supported by the host CPU])
532 fi
533 parport_use_ppdev=yes
534 ;;
535 esac
536
537 case $host in
538 *-cygwin*)
539 is_win32=yes
540 parport_use_ppdev=no
541
542 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[return __MINGW32__;]])],
543 [is_mingw=yes],[is_mingw=no])
544 if test $is_mingw = yes; then
545 AC_DEFINE([IS_MINGW], [1], [1 if building for MinGW.])
546 if test x$parport_use_giveio = xno; then
547 AC_MSG_WARN([--disable-parport-giveio is not supported by MinGW32 hosts])
548 fi
549 parport_use_giveio=yes
550 is_cygwin=no
551 else
552 is_cygwin=yes
553 AC_DEFINE([IS_CYGWIN], [1], [1 if building for Cygwin.])
554 # sys/io.h needed under cygwin for parport access
555 if test $build_parport = yes; then
556 AC_CHECK_HEADERS([sys/io.h],[],AC_MSG_ERROR([Please install the cygwin ioperm package]))
557 fi
558 fi
559
560 AC_DEFINE([IS_WIN32], [1], [1 if building for Win32.])
561 AC_DEFINE([IS_DARWIN], [0], [0 if not building for Darwin.])
562 ;;
563 *-mingw*)
564 is_mingw=yes
565 is_win32=yes
566 parport_use_ppdev=no
567
568 if test x$parport_use_giveio = xno; then
569 AC_MSG_WARN([--disable-parport-giveio is not supported by MinGW32 hosts])
570 fi
571 parport_use_giveio=yes
572
573 if test x$build_buspirate = xyes; then
574 AC_MSG_ERROR([buspirate currently not supported by MinGW32 hosts])
575 fi
576
577 CFLAGS="$CFLAGS -D__USE_MINGW_ANSI_STDIO"
578
579 AC_DEFINE([IS_MINGW], [1], [1 if building for MinGW.])
580 AC_DEFINE([IS_WIN32], [1], [1 if building for Win32.])
581 AC_DEFINE([IS_DARWIN], [0], [0 if not building for Darwin.])
582 ;;
583 *darwin*)
584 is_darwin=yes
585
586 if test x$parport_use_giveio = xyes; then
587 AC_MSG_WARN([--enable-parport-giveio cannot be used by Darwin hosts])
588 fi
589 parport_use_giveio=no
590
591 AC_DEFINE([IS_CYGWIN], [0], [0 if not building for Cygwin.])
592 AC_DEFINE([IS_WIN32], [0], [0 if not building for Win32.])
593 AC_DEFINE([IS_DARWIN], [1], [1 if building for Darwin.])
594 ;;
595 *)
596 if test x$parport_use_giveio = xyes; then
597 AC_MSG_WARN([--enable-parport-giveio cannot be used by ]$host[ hosts])
598 fi
599 parport_use_giveio=no
600 AC_DEFINE([IS_CYGWIN], [0], [0 if not building for Cygwin.])
601 AC_DEFINE([IS_WIN32], [0], [0 if not building for Win32.])
602 AC_DEFINE([IS_DARWIN], [0], [0 if not building for Darwin.])
603 ;;
604 esac
605
606 if test $build_parport = yes; then
607 build_bitbang=yes
608 AC_DEFINE([BUILD_PARPORT], [1], [1 if you want parport.])
609 else
610 AC_DEFINE([BUILD_PARPORT], [0], [0 if you don't want parport.])
611 fi
612
613 if test $build_dummy = yes; then
614 build_bitbang=yes
615 AC_DEFINE([BUILD_DUMMY], [1], [1 if you want dummy driver.])
616 else
617 AC_DEFINE([BUILD_DUMMY], [0], [0 if you don't want dummy driver.])
618 fi
619
620 if test $build_ep93xx = yes; then
621 build_bitbang=yes
622 AC_DEFINE([BUILD_EP93XX], [1], [1 if you want ep93xx.])
623 else
624 AC_DEFINE([BUILD_EP93XX], [0], [0 if you don't want ep93xx.])
625 fi
626
627 if test $build_ecosboard = yes; then
628 AC_DEFINE([BUILD_ECOSBOARD], [1], [1 if you want eCosBoard.])
629 else
630 AC_DEFINE([BUILD_ECOSBOARD], [0], [0 if you don't want eCosBoard.])
631 fi
632
633 if test $build_zy1000 = yes; then
634 AC_DEFINE([BUILD_ZY1000], [1], [1 if you want ZY1000.])
635 else
636 AC_DEFINE([BUILD_ZY1000], [0], [0 if you don't want ZY1000.])
637 fi
638
639 if test $build_zy1000_master = yes; then
640 AC_DEFINE([BUILD_ZY1000_MASTER], [1], [1 if you want ZY1000 JTAG master registers.])
641 else
642 AC_DEFINE([BUILD_ZY1000_MASTER], [0], [0 if you don't want ZY1000 JTAG master registers.])
643 fi
644
645 if test $build_at91rm9200 = yes; then
646 build_bitbang=yes
647 AC_DEFINE([BUILD_AT91RM9200], [1], [1 if you want at91rm9200.])
648 else
649 AC_DEFINE([BUILD_AT91RM9200], [0], [0 if you don't want at91rm9200.])
650 fi
651
652 if test x$parport_use_ppdev = xyes; then
653 AC_DEFINE([PARPORT_USE_PPDEV], [1], [1 if you want parport to use ppdev.])
654 else
655 AC_DEFINE([PARPORT_USE_PPDEV], [0], [0 if you don't want parport to use ppdev.])
656 fi
657
658 if test x$parport_use_giveio = xyes; then
659 AC_DEFINE([PARPORT_USE_GIVEIO], [1], [1 if you want parport to use giveio.])
660 else
661 AC_DEFINE([PARPORT_USE_GIVEIO], [0], [0 if you don't want parport to use giveio.])
662 fi
663
664 if test $build_bitbang = yes; then
665 AC_DEFINE([BUILD_BITBANG], [1], [1 if you want a bitbang interface.])
666 else
667 AC_DEFINE([BUILD_BITBANG], [0], [0 if you don't want a bitbang interface.])
668 fi
669
670 if test $build_ft2232_libftdi = yes; then
671 AC_DEFINE([BUILD_FT2232_LIBFTDI], [1], [1 if you want libftdi ft2232.])
672 else
673 AC_DEFINE([BUILD_FT2232_LIBFTDI], [0], [0 if you don't want libftdi ft2232.])
674 fi
675
676 if test $build_ft2232_ftd2xx = yes; then
677 AC_DEFINE([BUILD_FT2232_FTD2XX], [1], [1 if you want ftd2xx ft2232.])
678 else
679 AC_DEFINE([BUILD_FT2232_FTD2XX], [0], [0 if you don't want ftd2xx ft2232.])
680 fi
681
682 if test $build_usb_blaster_libftdi = yes; then
683 build_bitbang=yes
684 AC_DEFINE([BUILD_USB_BLASTER_LIBFTDI], [1], [1 if you want libftdi usb_blaster.])
685 else
686 AC_DEFINE([BUILD_USB_BLASTER_LIBFTDI], [0], [0 if you don't want libftdi usb_blaster.])
687 fi
688
689 if test $build_usb_blaster_ftd2xx = yes; then
690 build_bitbang=yes
691 AC_DEFINE([BUILD_USB_BLASTER_FTD2XX], [1], [1 if you want ftd2xx usb_blaster.])
692 else
693 AC_DEFINE([BUILD_USB_BLASTER_FTD2XX], [0], [0 if you don't want ftd2xx usb_blaster.])
694 fi
695
696 if test $build_amtjtagaccel = yes; then
697 AC_DEFINE([BUILD_AMTJTAGACCEL], [1], [1 if you want the Amontec JTAG-Accelerator driver.])
698 else
699 AC_DEFINE([BUILD_AMTJTAGACCEL], [0], [0 if you don't want the Amontec JTAG-Accelerator driver.])
700 fi
701
702 if test $build_gw16012 = yes; then
703 AC_DEFINE([BUILD_GW16012], [1], [1 if you want the Gateworks GW16012 driver.])
704 else
705 AC_DEFINE([BUILD_GW16012], [0], [0 if you don't want the Gateworks GW16012 driver.])
706 fi
707
708 if test $build_presto_libftdi = yes; then
709 build_bitq=yes
710 AC_DEFINE([BUILD_PRESTO_LIBFTDI], [1], [1 if you want the ASIX PRESTO driver using libftdi.])
711 else
712 AC_DEFINE([BUILD_PRESTO_LIBFTDI], [0], [0 if you don't want the ASIX PRESTO driver using libftdi.])
713 fi
714
715 if test $build_presto_ftd2xx = yes; then
716 build_bitq=yes
717 AC_DEFINE([BUILD_PRESTO_FTD2XX], [1], [1 if you want the ASIX PRESTO driver using FTD2XX.])
718 else
719 AC_DEFINE([BUILD_PRESTO_FTD2XX], [0], [0 if you don't want the ASIX PRESTO driver using FTD2XX.])
720 fi
721
722 if test $build_bitq = yes; then
723 AC_DEFINE([BUILD_BITQ], [1], [1 if you want a bitq interface.])
724 else
725 AC_DEFINE([BUILD_BITQ], [0], [0 if you don't want a bitq interface.])
726 fi
727
728 if test $build_usbprog = yes; then
729 AC_DEFINE([BUILD_USBPROG], [1], [1 if you want the usbprog JTAG driver.])
730 else
731 AC_DEFINE([BUILD_USBPROG], [0], [0 if you don't want the usbprog JTAG driver.])
732 fi
733
734 if test $build_oocd_trace = yes; then
735 AC_DEFINE([BUILD_OOCD_TRACE], [1], [1 if you want the OpenOCD+trace ETM capture driver.])
736 else
737 AC_DEFINE([BUILD_OOCD_TRACE], [0], [0 if you don't want the OpenOCD+trace ETM capture driver.])
738 fi
739
740 if test $build_jlink = yes; then
741 AC_DEFINE([BUILD_JLINK], [1], [1 if you want the J-Link JTAG driver.])
742 else
743 AC_DEFINE([BUILD_JLINK], [0], [0 if you don't want the J-Link JTAG driver.])
744 fi
745
746 if test $build_vsllink = yes; then
747 AC_DEFINE([BUILD_VSLLINK], [1], [1 if you want the Versaloon-Link JTAG driver.])
748 else
749 AC_DEFINE([BUILD_VSLLINK], [0], [0 if you don't want the Versaloon-Link JTAG driver.])
750 fi
751
752 if test $build_rlink = yes; then
753 AC_DEFINE([BUILD_RLINK], [1], [1 if you want the RLink JTAG driver.])
754 else
755 AC_DEFINE([BUILD_RLINK], [0], [0 if you don't want the RLink JTAG driver.])
756 fi
757
758 if test $build_ulink = yes; then
759 AC_DEFINE([BUILD_ULINK], [1], [1 if you want the ULINK JTAG driver.])
760 else
761 AC_DEFINE([BUILD_ULINK], [0], [0 if you don't want the ULINK JTAG driver.])
762 fi
763
764 if test $build_armjtagew = yes; then
765 AC_DEFINE([BUILD_ARMJTAGEW], [1], [1 if you want the ARM-JTAG-EW JTAG driver.])
766 else
767 AC_DEFINE([BUILD_ARMJTAGEW], [0], [0 if you don't want the ARM-JTAG-EW JTAG driver.])
768 fi
769
770 if test $build_buspirate = yes; then
771 AC_DEFINE([BUILD_BUSPIRATE], [1], [1 if you want the Buspirate JTAG driver.])
772 else
773 AC_DEFINE([BUILD_BUSPIRATE], [0], [0 if you don't want the Buspirate JTAG driver.])
774 fi
775
776 if test "$use_internal_jimtcl" = yes; then
777 if test -f "$srcdir/jimtcl/configure.ac"; then
778 AX_CONFIG_SUBDIR_OPTION([jimtcl], [--disable-install-jim])
779 else
780 AC_MSG_ERROR([jimtcl not found, run git submodule init and git submodule update.])
781 fi
782 fi
783
784 if test $build_remote_bitbang = yes; then
785 build_bitbang=yes
786 AC_DEFINE([BUILD_REMOTE_BITBANG], [1], [1 if you want the Remote Bitbang JTAG driver.])
787 else
788 AC_DEFINE([BUILD_REMOTE_BITBNAG], [0], [0 if you don't want the Remote Bitbang JTAG driver.])
789 fi
790
791 #-- Deal with MingW/Cygwin FTD2XX issues
792
793 if test $is_win32 = yes; then
794 if test "${with_ftd2xx_linux_tardir+set}" = set
795 then
796 AC_MSG_ERROR([The option: with_ftd2xx_linux_tardir is for LINUX only.])
797 fi
798
799 if test $build_ft2232_ftd2xx = yes -o $build_presto_ftd2xx = yes -o $build_usb_blaster_ftd2xx = yes ; then
800 AC_MSG_CHECKING([for ftd2xx.lib exists (win32)])
801
802 # if we are given a zipdir...
803 if test "${with_ftd2xx_win32_zipdir+set}" = set
804 then
805 # Set the CFLAGS for "ftd2xx.h"
806 f=$with_ftd2xx_win32_zipdir/ftd2xx.h
807 if test ! -f $f ; then
808 AC_MSG_ERROR([File: $f cannot be found])
809 fi
810 CFLAGS="$CFLAGS -I$with_ftd2xx_win32_zipdir"
811
812 # And calculate the LDFLAGS for the machine
813 case "$host_cpu" in
814 i?86|x86_32)
815 LDFLAGS="$LDFLAGS -L$with_ftd2xx_win32_zipdir/i386"
816 LIBS="$LIBS -lftd2xx"
817 f=$with_ftd2xx_win32_zipdir/i386/ftd2xx.lib
818 ;;
819 amd64|x86_64)
820 LDFLAGS="$LDFLAGS -L$with_ftd2xx_win32_zipdir/amd64"
821 LIBS="$LIBS -lftd2xx"
822 f=$with_ftd2xx_win32_zipdir/amd64/ftd2xx.lib
823 ;;
824 *)
825 AC_MSG_ERROR([Unknown Win32 host cpu: $host_cpu])
826 ;;
827 esac
828 if test ! -f $f ; then
829 AC_MSG_ERROR([Library: $f not found])
830 fi
831 else
832 LIBS="$LIBS -lftd2xx"
833 AC_MSG_WARN([ASSUMPTION: The (win32) FTDICHIP.COM files: ftd2xx.h and ftd2xx.lib are in a proper place])
834 fi
835 fi
836 fi # win32
837
838 if test $is_darwin = yes ; then
839 if test "${with_ftd2xx_win32_zipdir+set}" = set
840 then
841 AC_MSG_ERROR([The option: --with-ftd2xx-win32-zipdir is for win32 only])
842 fi
843 if test "${with_ftd2xx_linux_tardir+set}" = set
844 then
845 AC_MSG_ERROR([The option: with_ftd2xx_linux_tardir is for LINUX only.])
846 fi
847
848 if test $build_ft2232_ftd2xx = yes -o $build_presto_ftd2xx = yes ; then
849 AC_MSG_CHECKING([for libftd2xx.a (darwin)])
850
851 if test ! -f /usr/local/include/ftd2xx.h ; then
852 AC_MSG_ERROR([ftd2xx library from FTDICHIP.com seems to be missing, cannot find: /usr/local/include/ftd2xx.h])
853 fi
854
855 CFLAGS="$CFLAGS -I/usr/local/include"
856 LDFLAGS="$LDFLAGS -L/usr/local/lib"
857 LIBS="$LIBS -lftd2xx"
858 AC_MSG_RESULT([-L/usr/local/lib -lftd2xx])
859 fi
860 fi # darwin
861
862 if test $is_win32 = no && test $is_darwin = no ; then
863
864 if test "${with_ftd2xx_win32_zipdir+set}" = set
865 then
866 AC_MSG_ERROR([The option: --with-ftd2xx-win32-zipdir is for win32 only])
867 fi
868
869 if test $build_ft2232_ftd2xx = yes -o $build_presto_ftd2xx = yes ; then
870 # Must be linux
871 if test $host_os != linux-gnu && test $host_os != linux ; then
872 AC_MSG_ERROR([The (linux) ftd2xx library from FTDICHIP.com is linux only. Try --enable-ft2232-libftdi instead])
873 fi
874 # Are we given a TAR directory?
875 if test "${with_ftd2xx_linux_tardir+set}" = set
876 then
877 AC_MSG_CHECKING([uninstalled ftd2xx distribution])
878 # The .H file is simple..
879 FTD2XX_H=$with_ftd2xx_linux_tardir/ftd2xx.h
880 if test ! -f "${FTD2XX_H}"; then
881 AC_MSG_ERROR([Option: --with-ftd2xx-linux-tardir appears wrong, cannot find: ${FTD2XX_H}])
882 fi
883 CFLAGS="$CFLAGS -I$with_ftd2xx_linux_tardir"
884 if test $with_ftd2xx_lib = shared; then
885 FTD2XX_LDFLAGS="-L$with_ftd2xx_linux_tardir"
886 FTD2XX_LIB="-lftd2xx"
887 else
888 # Test #1 - v1.0.x
889 case "$host_cpu" in
890 i?86|x86_32)
891 dir=build/i386;;
892 amd64|x86_64)
893 dir=build/x86_64;;
894 *)
895 dir=none;;
896 esac
897 if test -f "$with_ftd2xx_linux_tardir/$dir/libftd2xx.a"; then
898 FTD2XX_LDFLAGS="-L$with_ftd2xx_linux_tardir/$dir"
899 # Also needs -lrt
900 FTD2XX_LIB="-lftd2xx -lrt"
901 else
902 # Test Number2.
903 # Grr.. perhaps it exists as a version number?
904 FTD2XX_LIB="$with_ftd2xx_linux_tardir/static_lib/libftd2xx.a.*.*.*"
905 count=`ls ${FTD2XX_LIB} | wc -l`
906 if test $count -gt 1 ; then
907 AC_MSG_ERROR([Multiple libftd2xx.a files found in: $with_ftd2xx_linux_tardir/static_lib sorry cannot handle this yet])
908 fi
909 if test $count -ne 1 ; then
910 AC_MSG_ERROR([Not found: $f, option: --with-ftd2xx-linux-tardir appears to be wrong])
911 fi
912 # Because the "-l" rules do not understand version numbers...
913 # we will just stuff the absolute path onto the LIBS variable
914 FTD2XX_LIB="`ls ${FTD2XX_LIB}` -lpthread"
915 FTD2XX_LDFLAGS=""
916 fi
917 fi
918 LDFLAGS="${LDFLAGS} ${FTD2XX_LDFLAGS}"
919 LIBS="${LIBS} ${FTD2XX_LIB}"
920 AC_MSG_RESULT([${FTD2XX_LDFLAGS} ${FTD2XX_LIB}])
921 else
922 AC_CHECK_HEADER([ftd2xx.h],[],[
923 AC_MSG_ERROR([You seem to be missing the FTD2xx driver header file.])
924 ])
925 AC_SEARCH_LIBS([FT_GetLibraryVersion],[ftd2xx],,[
926 AC_MSG_ERROR([You appear to be missing the FTD2xx driver library.])
927 ],[])
928 fi
929 fi
930 fi # linux
931
932 if test $build_ft2232_ftd2xx = yes -o $build_presto_ftd2xx = yes; then
933
934 # Before we go any further - make sure we can *BUILD* and *RUN*
935 # a simple app with the "ftd2xx.lib" file - in what ever form we where given
936 # We should be able to compile, link and run this test program now
937 AC_MSG_CHECKING([whether ftd2xx library works])
938
939 #
940 # Save the LDFLAGS for later..
941 LDFLAGS_SAVE=$LDFLAGS
942 CFLAGS_SAVE=$CFLAGS
943 _LDFLAGS=`eval echo $LDFLAGS`
944 _CFLAGS=`eval echo $CFLAGS`
945 LDFLAGS=$_LDFLAGS
946 CFLAGS=$_CFLAGS
947
948 AC_RUN_IFELSE([AC_LANG_PROGRAM([[
949 #include "confdefs.h"
950 #if IS_WIN32
951 #include "windows.h"
952 #endif
953 #include <stdio.h>
954 #include <ftd2xx.h>
955 ]], [[
956 DWORD x;
957 FT_GetLibraryVersion( &x );
958 ]])], [
959 AC_MSG_RESULT([Success!])
960 ], [
961 AC_MSG_ERROR([Cannot build & run test program using ftd2xx.lib])
962 ], [
963 AC_MSG_RESULT([Skipping as we are cross-compiling])
964 ])
965
966 AC_MSG_CHECKING([for ftd2xx highspeed device support])
967 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
968 #include "confdefs.h"
969 #if IS_WIN32
970 #include "windows.h"
971 #endif
972 #include <stdio.h>
973 #include <ftd2xx.h>
974
975 DWORD x = FT_DEVICE_4232H;
976 ]], [])], [
977 AC_DEFINE([BUILD_FT2232_HIGHSPEED], [1],
978 [Support FT2232H/FT4232HS with FTD2XX or libftdi.])
979 build_ft2232_highspeed=yes
980 ], [
981 build_ft2232_highspeed=no
982 ])
983 AC_MSG_RESULT([$build_ft2232_highspeed])
984
985 if test $build_ft2232_highspeed = no; then
986 AC_MSG_WARN([You need a newer FTD2XX driver (version 2.04.16 or later).])
987 fi
988
989 LDFLAGS=$LDFLAGS_SAVE
990 CFLAGS=$CFLAGS_SAVE
991 fi
992
993 if test $build_ft2232_libftdi = yes ; then
994 # We assume: the package is preinstalled in the proper place
995 # these present as 2 libraries..
996 LIBS="$LIBS -lftdi -lusb"
997 #
998 # Try to build a small program.
999 AC_MSG_CHECKING([Build & Link with libftdi...])
1000
1001 LDFLAGS_SAVE=$LDFLAGS
1002 CFLAGS_SAVE=$CFLAGS
1003 _LDFLAGS=`eval echo $LDFLAGS`
1004 _CFLAGS=`eval echo $CFLAGS`
1005 LDFLAGS=$_LDFLAGS
1006 CFLAGS=$_CFLAGS
1007
1008 AC_RUN_IFELSE([AC_LANG_PROGRAM([[
1009 #include <stdio.h>
1010 #include <ftdi.h>
1011 ]], [[
1012 struct ftdi_context *p;
1013 p = ftdi_new();
1014 if( p != NULL ){
1015 return 0;
1016 } else {
1017 fprintf( stderr, "calling ftdi_new() failed\n");
1018 return 1;
1019 }
1020 ]])], [
1021 AC_MSG_RESULT([Success])
1022 ], [
1023 AC_MSG_ERROR([Cannot build & run test program using libftdi])
1024 ], [
1025 AC_MSG_RESULT([Skipping as we are cross-compiling])
1026 ])
1027
1028 AC_MSG_CHECKING([for libftdi highspeed device support])
1029 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
1030 #include <stdio.h>
1031 #include <ftdi.h>
1032 ]], [[
1033 enum ftdi_chip_type x = TYPE_2232H;
1034 ]])], [
1035 AC_DEFINE([BUILD_FT2232_HIGHSPEED], [1],
1036 [Support FT2232H/FT4232HS with FTD2XX or libftdi.])
1037 build_ft2232_highspeed=yes
1038 ], [
1039 build_ft2232_highspeed=no
1040 ])
1041 AC_MSG_RESULT([$build_ft2232_highspeed])
1042
1043 if test $build_ft2232_highspeed = no; then
1044 AC_MSG_WARN([You need a newer libftdi version (0.16 or later).])
1045 fi
1046
1047 # Restore the 'unexpanded ldflags'
1048 LDFLAGS=$LDFLAGS_SAVE
1049 CFLAGS=$CFLAGS_SAVE
1050 fi
1051
1052 # check for usb.h when a driver will require it
1053 build_usb=no
1054 if test $build_vsllink = yes -o $build_usbprog = yes -o \
1055 $build_rlink = yes -o $build_ulink = yes -o $build_armjtagew = yes
1056 then
1057 build_usb=yes
1058 fi
1059
1060 # Check for libusb1 ported drivers.
1061 build_usb_ng=no
1062 if test $build_jlink = yes; then
1063 build_usb_ng=yes
1064 fi
1065
1066 # check for libusb library if necessary
1067 use_libusb0=no
1068 use_libusb1=no
1069 if test $build_usb = yes -o $build_usb_ng = yes; then
1070 if test $check_libusb0 = no -a $build_usb_ng = yes; then
1071 AC_CHECK_HEADER([libusb-1.0/libusb.h],
1072 [AC_DEFINE(HAVE_LIBUSB1, 1, [Define if you have libusb-1.0]) check_libusb0=no use_libusb1=yes ],
1073 [ check_libusb0=yes use_libusb1=no ])
1074 fi
1075
1076 if test $check_libusb0 = yes -o $build_usb = yes; then
1077 AC_CHECK_HEADERS([usb.h], [use_libusb0=yes],
1078 [AC_MSG_ERROR([libusb or libusb-1.0 are required to build some OpenOCD driver(s)])])
1079 fi
1080 fi
1081
1082 AM_CONDITIONAL([RELEASE], [test $build_release = yes])
1083 AM_CONDITIONAL([PARPORT], [test $build_parport = yes])
1084 AM_CONDITIONAL([DUMMY], [test $build_dummy = yes])
1085 AM_CONDITIONAL([GIVEIO], [test x$parport_use_giveio = xyes])
1086 AM_CONDITIONAL([EP93XX], [test $build_ep93xx = yes])
1087 AM_CONDITIONAL([ECOSBOARD], [test $build_ecosboard = yes])
1088 AM_CONDITIONAL([ZY1000], [test $build_zy1000 = yes])
1089 AM_CONDITIONAL([ZY1000_MASTER], [test $build_zy1000_master = yes])
1090 AM_CONDITIONAL([IOUTIL], [test $build_ioutil = yes])
1091 AM_CONDITIONAL([AT91RM9200], [test $build_at91rm9200 = yes])
1092 AM_CONDITIONAL([BITBANG], [test $build_bitbang = yes])
1093 AM_CONDITIONAL([FT2232_LIBFTDI], [test $build_ft2232_libftdi = yes])
1094 AM_CONDITIONAL([FT2232_DRIVER], [test $build_ft2232_ftd2xx = yes -o $build_ft2232_libftdi = yes])
1095 AM_CONDITIONAL([USB_BLASTER_LIBFTDI], [test $build_usb_blaster_libftdi = yes])
1096 AM_CONDITIONAL([USB_BLASTER_DRIVER], [test $build_usb_blaster_ftd2xx = yes -o $build_usb_blaster_libftdi = yes])
1097 AM_CONDITIONAL([AMTJTAGACCEL], [test $build_amtjtagaccel = yes])
1098 AM_CONDITIONAL([GW16012], [test $build_gw16012 = yes])
1099 AM_CONDITIONAL([PRESTO_LIBFTDI], [test $build_presto_libftdi = yes])
1100 AM_CONDITIONAL([PRESTO_DRIVER], [test $build_presto_ftd2xx = yes -o $build_presto_libftdi = yes])
1101 AM_CONDITIONAL([USBPROG], [test $build_usbprog = yes])
1102 AM_CONDITIONAL([OOCD_TRACE], [test $build_oocd_trace = yes])
1103 AM_CONDITIONAL([JLINK], [test $build_jlink = yes])
1104 AM_CONDITIONAL([VSLLINK], [test $build_vsllink = yes])
1105 AM_CONDITIONAL([RLINK], [test $build_rlink = yes])
1106 AM_CONDITIONAL([ULINK], [test $build_ulink = yes])
1107 AM_CONDITIONAL([ARMJTAGEW], [test $build_armjtagew = yes])
1108 AM_CONDITIONAL([REMOTE_BITBANG], [test $build_remote_bitbang = yes])
1109 AM_CONDITIONAL([BUSPIRATE], [test $build_buspirate = yes])
1110 AM_CONDITIONAL([USB], [test $build_usb = yes])
1111 AM_CONDITIONAL([USB_NG], [test $build_usb_ng = yes])
1112 AM_CONDITIONAL([USE_LIBUSB0], [test $use_libusb0 = yes])
1113 AM_CONDITIONAL([USE_LIBUSB1], [test $use_libusb1 = yes])
1114 AM_CONDITIONAL([IS_CYGWIN], [test $is_cygwin = yes])
1115 AM_CONDITIONAL([IS_MINGW], [test $is_mingw = ye]s)
1116 AM_CONDITIONAL([IS_WIN32], [test $is_win32 = ye]s)
1117 AM_CONDITIONAL([IS_DARWIN], [test $is_darwin = ye]s)
1118 AM_CONDITIONAL([BITQ], [test $build_bitq = yes])
1119
1120 AM_CONDITIONAL([MINIDRIVER], [test $build_minidriver = ye]s)
1121 AM_CONDITIONAL([MINIDRIVER_DUMMY], [test $build_minidriver_dummy = yes])
1122
1123 AM_CONDITIONAL([INTERNAL_JIMTCL], [test $use_internal_jimtcl = yes])
1124
1125 # Look for environ alternatives. Possibility #1: is environ in unistd.h or stdlib.h?
1126 AC_MSG_CHECKING([for environ in unistd.h and stdlib.h])
1127 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
1128 #define _GNU_SOURCE
1129 #include <unistd.h>
1130 #include <stdlib.h>
1131 ]], [[char **ep = environ;]]
1132 )], [
1133 AC_MSG_RESULT([yes])
1134 has_environ=yes
1135 ], [
1136 AC_MSG_RESULT([no])
1137
1138 # Possibility #2: can environ be found in an available library?
1139 AC_MSG_CHECKING([for extern environ])
1140 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1141 extern char **environ;
1142 ]], [[char **ep = environ;]]
1143 )], [
1144 AC_DEFINE(NEED_ENVIRON_EXTERN, [1], [Must declare 'environ' to use it.])
1145 has_environ=yes
1146 ], [
1147 has_environ=no
1148 ])
1149 AC_MSG_RESULT([${has_environ}])
1150 ])
1151
1152 if test "${has_environ}" != "yes" ; then
1153 AC_MSG_FAILURE([Could not find 'environ' in unistd.h or available libraries.])
1154 fi
1155
1156 AC_DEFINE([_GNU_SOURCE],[1],[Use GNU C library extensions (e.g. stdndup).])
1157
1158 # set default gcc warnings
1159 GCC_WARNINGS="-Wall -Wstrict-prototypes -Wformat-security -Wshadow"
1160 if test "${gcc_wextra}" = yes; then
1161 GCC_WARNINGS="${GCC_WARNINGS} -Wextra -Wno-unused-parameter"
1162 GCC_WARNINGS="${GCC_WARNINGS} -Wbad-function-cast"
1163 GCC_WARNINGS="${GCC_WARNINGS} -Wcast-align"
1164 GCC_WARNINGS="${GCC_WARNINGS} -Wredundant-decls"
1165 fi
1166 if test "${gcc_werror}" = yes; then
1167 GCC_WARNINGS="${GCC_WARNINGS} -Werror"
1168 fi
1169
1170 # overide default gcc cflags
1171 if test $gcc_warnings = yes; then
1172 CFLAGS="$CFLAGS $GCC_WARNINGS"
1173 fi
1174
1175 # Setup for compiling build tools
1176 AC_MSG_CHECKING([for a C compiler for build tools])
1177 if test $cross_compiling = yes; then
1178 AC_CHECK_PROGS(CC_FOR_BUILD, gcc cc)
1179 CFLAGS_FOR_BUILD="-g -O2 $GCC_WARNINGS"
1180 else
1181 CC_FOR_BUILD=$CC
1182 CFLAGS_FOR_BUILD=$CFLAGS
1183 fi
1184
1185 AC_MSG_RESULT([$CC_FOR_BUILD])
1186 AC_SUBST([CC_FOR_BUILD])
1187 AC_SUBST([CFLAGS_FOR_BUILD])
1188
1189 AC_MSG_CHECKING([for suffix of executable build tools])
1190 if test $cross_compiling = yes; then
1191 cat >conftest.c <<\_______EOF
1192 int main ()
1193 {
1194 exit (0);
1195 }
1196 _______EOF
1197 for i in .exe ""; do
1198 compile="$CC_FOR_BUILD conftest.c -o conftest$i"
1199 if AC_TRY_EVAL(compile); then
1200 if (./conftest) 2>&AC_FD_CC; then
1201 EXEEXT_FOR_BUILD=$i
1202 break
1203 fi
1204 fi
1205 done
1206 rm -f conftest*
1207 if test "${EXEEXT_FOR_BUILD+set}" != set; then
1208 AC_MSG_ERROR([Cannot determine suffix of executable build tools])
1209 fi
1210 else
1211 EXEEXT_FOR_BUILD=$EXEEXT
1212 fi
1213 AC_MSG_RESULT([$EXEEXT_FOR_BUILD])
1214 AC_SUBST([EXEEXT_FOR_BUILD])
1215
1216 AC_CONFIG_FILES([
1217 Makefile
1218 src/Makefile
1219 src/helper/Makefile
1220 src/jtag/Makefile
1221 src/jtag/drivers/Makefile
1222 src/transport/Makefile
1223 src/xsvf/Makefile
1224 src/svf/Makefile
1225 src/target/Makefile
1226 src/rtos/Makefile
1227 src/server/Makefile
1228 src/flash/Makefile
1229 src/flash/nor/Makefile
1230 src/flash/nand/Makefile
1231 src/pld/Makefile
1232 doc/Makefile
1233 ])
1234 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)