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

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)