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

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)