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

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)