Bump rc version and add -dev tag.
[openocd.git] / configure.in
1 AC_PREREQ(2.60)
2 AC_INIT([openocd], [0.3.0-rc1-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],
381 [Enable building support for some prototype OpenOCD+trace ETM capture hardware]),
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 CFLAGS="$CFLAGS -D__USE_MINGW_ANSI_STDIO"
487
488 AC_DEFINE(IS_MINGW, 1, [1 if building for MinGW.])
489 AC_DEFINE(IS_WIN32, 1, [1 if building for Win32.])
490 AC_DEFINE(IS_DARWIN, 0, [0 if not building for Darwin.])
491 ;;
492 *darwin*)
493 is_darwin=yes
494
495 if test x$parport_use_giveio = xyes; then
496 AC_MSG_WARN([--enable-parport-giveio cannot be used by Darwin hosts])
497 fi
498 parport_use_giveio=no
499
500 AC_DEFINE(IS_CYGWIN, 0, [0 if not building for Cygwin.])
501 AC_DEFINE(IS_WIN32, 0, [0 if not building for Win32.])
502 AC_DEFINE(IS_DARWIN, 1, [1 if building for Darwin.])
503 ;;
504 *)
505 if test x$parport_use_giveio = xyes; then
506 AC_MSG_WARN([--enable-parport-giveio cannot be used by ]$host[ hosts])
507 fi
508 parport_use_giveio=no
509 AC_DEFINE(IS_CYGWIN, 0, [0 if not building for Cygwin.])
510 AC_DEFINE(IS_WIN32, 0, [0 if not building for Win32.])
511 AC_DEFINE(IS_DARWIN, 0, [0 if not building for Darwin.])
512 ;;
513 esac
514
515 if test $build_parport = yes; then
516 build_bitbang=yes
517 AC_DEFINE(BUILD_PARPORT, 1, [1 if you want parport.])
518 else
519 AC_DEFINE(BUILD_PARPORT, 0, [0 if you don't want parport.])
520 fi
521
522 if test $build_dummy = yes; then
523 build_bitbang=yes
524 AC_DEFINE(BUILD_DUMMY, 1, [1 if you want dummy driver.])
525 else
526 AC_DEFINE(BUILD_DUMMY, 0, [0 if you don't want dummy driver.])
527 fi
528
529 if test $build_ep93xx = yes; then
530 build_bitbang=yes
531 AC_DEFINE(BUILD_EP93XX, 1, [1 if you want ep93xx.])
532 else
533 AC_DEFINE(BUILD_EP93XX, 0, [0 if you don't want ep93xx.])
534 fi
535
536 if test $build_ecosboard = yes; then
537 AC_DEFINE(BUILD_ECOSBOARD, 1, [1 if you want eCosBoard.])
538 else
539 AC_DEFINE(BUILD_ECOSBOARD, 0, [0 if you don't want eCosBoard.])
540 fi
541
542 if test $build_zy1000 = yes; then
543 AC_DEFINE(BUILD_ZY1000, 1, [1 if you want ZY1000.])
544 else
545 AC_DEFINE(BUILD_ZY1000, 0, [0 if you don't want ZY1000.])
546 fi
547
548 if test $build_ioutil = yes; then
549 AC_DEFINE(BUILD_IOUTIL, 1, [1 if you want ioutils.])
550 else
551 AC_DEFINE(BUILD_IOUTIL, 0, [0 if you don't want ioutils.])
552 fi
553
554 if test $build_httpd = yes; then
555 AC_DEFINE(BUILD_HTTPD, 1, [1 if you want httpd.])
556 else
557 AC_DEFINE(BUILD_HTTPD, 0, [0 if you don't want httpd.])
558 fi
559
560 if test $build_at91rm9200 = yes; then
561 build_bitbang=yes
562 AC_DEFINE(BUILD_AT91RM9200, 1, [1 if you want at91rm9200.])
563 else
564 AC_DEFINE(BUILD_AT91RM9200, 0, [0 if you don't want at91rm9200.])
565 fi
566
567 if test x$parport_use_ppdev = xyes; then
568 AC_DEFINE(PARPORT_USE_PPDEV, 1, [1 if you want parport to use ppdev.])
569 else
570 AC_DEFINE(PARPORT_USE_PPDEV, 0, [0 if you don't want parport to use ppdev.])
571 fi
572
573 if test x$parport_use_giveio = xyes; then
574 AC_DEFINE(PARPORT_USE_GIVEIO, 1, [1 if you want parport to use giveio.])
575 else
576 AC_DEFINE(PARPORT_USE_GIVEIO, 0, [0 if you don't want parport to use giveio.])
577 fi
578
579 if test $build_bitbang = yes; then
580 AC_DEFINE(BUILD_BITBANG, 1, [1 if you want a bitbang interface.])
581 else
582 AC_DEFINE(BUILD_BITBANG, 0, [0 if you don't want a bitbang interface.])
583 fi
584
585 if test $build_ft2232_libftdi = yes; then
586 AC_DEFINE(BUILD_FT2232_LIBFTDI, 1, [1 if you want libftdi ft2232.])
587 else
588 AC_DEFINE(BUILD_FT2232_LIBFTDI, 0, [0 if you don't want libftdi ft2232.])
589 fi
590
591 if test $build_ft2232_ftd2xx = yes; then
592 AC_DEFINE(BUILD_FT2232_FTD2XX, 1, [1 if you want ftd2xx ft2232.])
593 else
594 AC_DEFINE(BUILD_FT2232_FTD2XX, 0, [0 if you don't want ftd2xx ft2232.])
595 fi
596
597 if test $build_amtjtagaccel = yes; then
598 AC_DEFINE(BUILD_AMTJTAGACCEL, 1, [1 if you want the Amontec JTAG-Accelerator driver.])
599 else
600 AC_DEFINE(BUILD_AMTJTAGACCEL, 0, [0 if you don't want the Amontec JTAG-Accelerator driver.])
601 fi
602
603 if test $build_gw16012 = yes; then
604 AC_DEFINE(BUILD_GW16012, 1, [1 if you want the Gateworks GW16012 driver.])
605 else
606 AC_DEFINE(BUILD_GW16012, 0, [0 if you don't want the Gateworks GW16012 driver.])
607 fi
608
609 if test $build_presto_libftdi = yes; then
610 build_bitq=yes
611 AC_DEFINE(BUILD_PRESTO_LIBFTDI, 1, [1 if you want the ASIX PRESTO driver using libftdi.])
612 else
613 AC_DEFINE(BUILD_PRESTO_LIBFTDI, 0, [0 if you don't want the ASIX PRESTO driver using libftdi.])
614 fi
615
616 if test $build_presto_ftd2xx = yes; then
617 build_bitq=yes
618 AC_DEFINE(BUILD_PRESTO_FTD2XX, 1, [1 if you want the ASIX PRESTO driver using FTD2XX.])
619 else
620 AC_DEFINE(BUILD_PRESTO_FTD2XX, 0, [0 if you don't want the ASIX PRESTO driver using FTD2XX.])
621 fi
622
623 if test $build_bitq = yes; then
624 AC_DEFINE(BUILD_BITQ, 1, [1 if you want a bitq interface.])
625 else
626 AC_DEFINE(BUILD_BITQ, 0, [0 if you don't want a bitq interface.])
627 fi
628
629 if test $build_usbprog = yes; then
630 AC_DEFINE(BUILD_USBPROG, 1, [1 if you want the usbprog JTAG driver.])
631 else
632 AC_DEFINE(BUILD_USBPROG, 0, [0 if you don't want the usbprog JTAG driver.])
633 fi
634
635 if test $build_oocd_trace = yes; then
636 AC_DEFINE(BUILD_OOCD_TRACE, 1, [1 if you want the OpenOCD+trace ETM capture driver.])
637 else
638 AC_DEFINE(BUILD_OOCD_TRACE, 0, [0 if you don't want the OpenOCD+trace ETM capture driver.])
639 fi
640
641 if test $build_jlink = yes; then
642 AC_DEFINE(BUILD_JLINK, 1, [1 if you want the J-Link JTAG driver.])
643 else
644 AC_DEFINE(BUILD_JLINK, 0, [0 if you don't want the J-Link JTAG driver.])
645 fi
646
647 if test $build_vsllink = yes; then
648 AC_DEFINE(BUILD_VSLLINK, 1, [1 if you want the Versaloon-Link JTAG driver.])
649 else
650 AC_DEFINE(BUILD_VSLLINK, 0, [0 if you don't want the Versaloon-Link JTAG driver.])
651 fi
652
653 if test $build_rlink = yes; then
654 AC_DEFINE(BUILD_RLINK, 1, [1 if you want the RLink JTAG driver.])
655 else
656 AC_DEFINE(BUILD_RLINK, 0, [0 if you don't want the RLink JTAG driver.])
657 fi
658
659 if test $build_armjtagew = yes; then
660 AC_DEFINE(BUILD_ARMJTAGEW, 1, [1 if you want the ARM-JTAG-EW JTAG driver.])
661 else
662 AC_DEFINE(BUILD_ARMJTAGEW, 0, [0 if you don't want the ARM-JTAG-EW JTAG driver.])
663 fi
664
665 #-- Deal with MingW/Cygwin FTD2XX issues
666
667 if test $is_win32 = yes; then
668 if test "${with_ftd2xx_linux_tardir+set}" = set
669 then
670 AC_MSG_ERROR([The option: with_ftd2xx_linux_tardir is for LINUX only.])
671 fi
672
673 if test $build_ft2232_ftd2xx = yes -o $build_presto_ftd2xx = yes ; then
674 AC_MSG_CHECKING([for ftd2xx.lib exists (win32)])
675
676 # if we are given a zipdir...
677 if test "${with_ftd2xx_win32_zipdir+set}" = set
678 then
679 # Set the CFLAGS for "ftd2xx.h"
680 f=$with_ftd2xx_win32_zipdir/ftd2xx.h
681 if test ! -f $f ; then
682 AC_MSG_ERROR([File: $f cannot be found])
683 fi
684 CFLAGS="$CFLAGS -I$with_ftd2xx_win32_zipdir"
685
686 # And calculate the LDFLAGS for the machine
687 case "$host_cpu" in
688 i?86|x86_*)
689 LDFLAGS="$LDFLAGS -L$with_ftd2xx_win32_zipdir/i386"
690 LIBS="$LIBS -lftd2xx"
691 f=$with_ftd2xx_win32_zipdir/i386/ftd2xx.lib
692 ;;
693 amd64)
694 LDFLAGS="$LDFLAGS -L$with_ftd2xx_win32_zipdir/amd64"
695 LIBS="$LIBS -lftd2xx"
696 f=$with_ftd2xx_win32_zipdir/amd64/ftd2xx.lib
697 ;;
698 *)
699 AC_MSG_ERROR([Unknown Win32 host cpu: $host_cpu])
700 ;;
701 esac
702 if test ! -f $f ; then
703 AC_MSG_ERROR([Library: $f not found])
704 fi
705 else
706 LIBS="$LIBS -lftd2xx"
707 AC_MSG_WARN([ASSUMPTION: The (win32) FTDICHIP.COM files: ftd2xx.h and ftd2xx.lib are in a proper place])
708 fi
709 fi
710 fi # win32
711
712 if test $is_darwin = yes ; then
713 if test "${with_ftd2xx_win32_zipdir+set}" = set
714 then
715 AC_MSG_ERROR([The option: --with-ftd2xx-win32-zipdir is for win32 only])
716 fi
717 if test "${with_ftd2xx_linux_tardir+set}" = set
718 then
719 AC_MSG_ERROR([The option: with_ftd2xx_linux_tardir is for LINUX only.])
720 fi
721
722 if test $build_ft2232_ftd2xx = yes -o $build_presto_ftd2xx = yes ; then
723 AC_MSG_CHECKING([for libftd2xx.a (darwin)])
724
725 if test ! -f /usr/local/include/ftd2xx.h ; then
726 AC_MSG_ERROR([ftd2xx library from FTDICHIP.com seems to be missing, cannot find: /usr/local/include/ftd2xx.h])
727 fi
728
729 CFLAGS="$CFLAGS -I/usr/local/include"
730 LDFLAGS="$LDFLAGS -L/usr/local/lib"
731 LIBS="$LIBS -lftd2xx"
732 AC_MSG_RESULT([-L/usr/local/lib -lftd2xx])
733 fi
734 fi # darwin
735
736 if test $is_win32 = no && test $is_darwin = no ; then
737
738 if test "${with_ftd2xx_win32_zipdir+set}" = set
739 then
740 AC_MSG_ERROR([The option: --with-ftd2xx-win32-zipdir is for win32 only])
741 fi
742
743 if test $build_ft2232_ftd2xx = yes -o $build_presto_ftd2xx = yes ; then
744 # Must be linux
745 if test $host_os != linux-gnu && test $host_os != linux ; then
746 AC_MSG_ERROR([The (linux) ftd2xx library from FTDICHIP.com is linux only. Try --enable-ft2232-libftdi instead])
747 fi
748 # Are we given a TAR directory?
749 if test "${with_ftd2xx_linux_tardir+set}" = set
750 then
751 AC_MSG_CHECKING([uninstalled ftd2xx distribution])
752 # The .H file is simple..
753 FTD2XX_H=$with_ftd2xx_linux_tardir/ftd2xx.h
754 if test ! -f "${FTD2XX_H}"; then
755 AC_MSG_ERROR([Option: --with-ftd2xx-linux-tardir appears wrong, cannot find: ${FTD2XX_H}])
756 fi
757 CFLAGS="$CFLAGS -I$with_ftd2xx_linux_tardir"
758 FTD2XX_LDFLAGS="-L$with_ftd2xx_linux_tardir"
759 FTD2XX_LIB="-lftd2xx"
760 if test $with_ftd2xx_lib != shared; then
761 # Test #1 - Future proof - if/when ftdichip fixes their distro.
762 # Try it with the simple ".a" suffix.
763 FTD2XX_LIB="$with_ftd2xx_linux_tardir/static_lib/libftd2xx.a"
764 if test -f "${FTD2XX_LIB}"; then
765 FTD2XX_LDFLAGS="${FTD2XX_LDFLAGS}/static_lib"
766 else
767 # Test Number2.
768 # Grr.. perhaps it exists as a version number?
769 FTD2XX_LIB="$with_ftd2xx_linux_tardir/static_lib/libftd2xx.a.*.*.*"
770 count=`ls ${FTD2XX_LIB} | wc -l`
771 if test $count -gt 1 ; then
772 AC_MSG_ERROR([Multiple libftd2xx.a files found in: $with_ftd2xx_linux_tardir/static_lib sorry cannot handle this yet])
773 fi
774 if test $count -ne 1 ; then
775 AC_MSG_ERROR([Not found: $f, option: --with-ftd2xx-linux-tardir appears to be wrong])
776 fi
777 # Because the "-l" rules do not understand version numbers...
778 # we will just stuff the absolute path onto the LIBS variable
779 FTD2XX_LIB="`ls ${FTD2XX_LIB}` -lpthread"
780 FTD2XX_LDFLAGS=""
781 fi
782 fi
783 LDFLAGS="${LDFLAGS} ${FTD2XX_LDFLAGS}"
784 LIBS="${LIBS} ${FTD2XX_LIB}"
785 AC_MSG_RESULT([${FTD2XX_LDFLAGS} ${FTD2XX_LIB}])
786 else
787 AC_CHECK_HEADER([ftd2xx.h],[],[
788 AC_MSG_ERROR([You seem to be missing the FTD2xx driver header file.])
789 ])
790 AC_SEARCH_LIBS([FT_GetLibraryVersion],[ftd2xx],,[
791 AC_MSG_ERROR([You appear to be missing the FTD2xx driver library.])
792 ],[])
793 fi
794 fi
795 fi # linux
796
797 if test $build_ft2232_ftd2xx = yes -o $build_presto_ftd2xx = yes; then
798
799 # Before we go any further - make sure we can *BUILD* and *RUN*
800 # a simple app with the "ftd2xx.lib" file - in what ever form we where given
801 # We should be able to compile, link and run this test program now
802 AC_MSG_CHECKING([whether ftd2xx library works])
803
804 #
805 # Save the LDFLAGS for later..
806 LDFLAGS_SAVE=$LDFLAGS
807 CFLAGS_SAVE=$CFLAGS
808 _LDFLAGS=`eval echo $LDFLAGS`
809 _CFLAGS=`eval echo $CFLAGS`
810 LDFLAGS=$_LDFLAGS
811 CFLAGS=$_CFLAGS
812
813 AC_RUN_IFELSE([
814 #include "confdefs.h"
815 #if IS_WIN32
816 #include "windows.h"
817 #endif
818 #include <stdio.h>
819 #include <ftd2xx.h>
820
821 int
822 main( int argc, char **argv )
823 {
824 DWORD x;
825 FT_GetLibraryVersion( &x );
826 return 0;
827 }
828 ], [
829 AC_MSG_RESULT([Success!])
830 ], [
831 AC_MSG_ERROR([Cannot build & run test program using ftd2xx.lib])
832 ], [
833 AC_MSG_RESULT([Skipping as we are cross-compiling])
834 ])
835
836 AC_MSG_CHECKING([for ftd2xx highspeed device support])
837 AC_COMPILE_IFELSE([
838 #include "confdefs.h"
839 #if IS_WIN32
840 #include "windows.h"
841 #endif
842 #include <stdio.h>
843 #include <ftd2xx.h>
844 DWORD x = FT_DEVICE_4232H;
845 ], [
846 AC_DEFINE(BUILD_FT2232_HIGHSPEED, [1],
847 [Support FT2232H/FT4232HS with FTD2XX or libftdi.])
848 build_ft2232_highspeed=yes
849 ], [
850 build_ft2232_highspeed=no
851 ])
852 AC_MSG_RESULT([$build_ft2232_highspeed])
853
854 if test $build_ft2232_highspeed = no; then
855 AC_MSG_WARN([You need a newer FTD2XX driver (version 2.04.16 or later).])
856 fi
857
858 LDFLAGS=$LDFLAGS_SAVE
859 CFLAGS=$CFLAGS_SAVE
860 fi
861
862 if test $build_ft2232_libftdi = yes ; then
863 # We assume: the package is preinstalled in the proper place
864 # these present as 2 libraries..
865 LIBS="$LIBS -lftdi -lusb"
866 #
867 # Try to build a small program.
868 AC_MSG_CHECKING([Build & Link with libftdi...])
869
870 LDFLAGS_SAVE=$LDFLAGS
871 CFLAGS_SAVE=$CFLAGS
872 _LDFLAGS=`eval echo $LDFLAGS`
873 _CFLAGS=`eval echo $CFLAGS`
874 LDFLAGS=$_LDFLAGS
875 CFLAGS=$_CFLAGS
876
877 AC_RUN_IFELSE([
878 #include <stdio.h>
879 #include <ftdi.h>
880
881 int
882 main( int argc, char **argv )
883 {
884 struct ftdi_context *p;
885 p = ftdi_new();
886 if( p != NULL ){
887 return 0;
888 } else {
889 fprintf( stderr, "calling ftdi_new() failed\n");
890 return 1;
891 }
892 }
893 ], [
894 AC_MSG_RESULT([Success])
895 ], [
896 AC_MSG_ERROR([Cannot build & run test program using libftdi])
897 ], [
898 AC_MSG_RESULT([Skipping as we are cross-compiling])
899 ])
900
901 AC_MSG_CHECKING([for libftdi highspeed device support])
902 AC_COMPILE_IFELSE([
903 #include <stdio.h>
904 #include <ftdi.h>
905 enum ftdi_chip_type x = TYPE_2232H;
906 ], [
907 AC_DEFINE(BUILD_FT2232_HIGHSPEED, [1],
908 [Support FT2232H/FT4232HS with FTD2XX or libftdi.])
909 build_ft2232_highspeed=yes
910 ], [
911 build_ft2232_highspeed=no
912 ])
913 AC_MSG_RESULT([$build_ft2232_highspeed])
914
915 if test $build_ft2232_highspeed = no; then
916 AC_MSG_WARN([You need a newer libftdi version (0.16 or later).])
917 fi
918
919 # Restore the 'unexpanded ldflags'
920 LDFLAGS=$LDFLAGS_SAVE
921 CFLAGS=$CFLAGS_SAVE
922 fi
923
924 # check for usb.h when a driver will require it
925 if test $build_jlink = yes -o $build_vsllink = yes -o $build_usbprog = yes -o \
926 $build_rlink = yes -o $build_armjtagew = yes
927 then
928 AC_CHECK_HEADERS([usb.h],[],
929 [AC_MSG_ERROR([usb.h is required to build some OpenOCD driver(s)])])
930 fi
931
932 AM_CONDITIONAL(RELEASE, test $build_release = yes)
933 AM_CONDITIONAL(PARPORT, test $build_parport = yes)
934 AM_CONDITIONAL(DUMMY, test $build_dummy = yes)
935 AM_CONDITIONAL(GIVEIO, test x$parport_use_giveio = xyes)
936 AM_CONDITIONAL(EP93XX, test $build_ep93xx = yes)
937 AM_CONDITIONAL(ECOSBOARD, test $build_ecosboard = yes)
938 AM_CONDITIONAL(ZY1000, test $build_zy1000 = yes)
939 AM_CONDITIONAL(IOUTIL, test $build_ioutil = yes)
940 AM_CONDITIONAL(HTTPD, test $build_httpd = yes)
941 AM_CONDITIONAL(AT91RM9200, test $build_at91rm9200 = yes)
942 AM_CONDITIONAL(BITBANG, test $build_bitbang = yes)
943 AM_CONDITIONAL(FT2232_LIBFTDI, test $build_ft2232_libftdi = yes)
944 AM_CONDITIONAL(FT2232_DRIVER, test $build_ft2232_ftd2xx = yes -o $build_ft2232_libftdi = yes)
945 AM_CONDITIONAL(AMTJTAGACCEL, test $build_amtjtagaccel = yes)
946 AM_CONDITIONAL(GW16012, test $build_gw16012 = yes)
947 AM_CONDITIONAL(PRESTO_LIBFTDI, test $build_presto_libftdi = yes)
948 AM_CONDITIONAL(PRESTO_DRIVER, test $build_presto_ftd2xx = yes -o $build_presto_libftdi = yes)
949 AM_CONDITIONAL(USBPROG, test $build_usbprog = yes)
950 AM_CONDITIONAL(OOCD_TRACE, test $build_oocd_trace = yes)
951 AM_CONDITIONAL(JLINK, test $build_jlink = yes)
952 AM_CONDITIONAL(VSLLINK, test $build_vsllink = yes)
953 AM_CONDITIONAL(RLINK, test $build_rlink = yes)
954 AM_CONDITIONAL(ARMJTAGEW, test $build_armjtagew = yes)
955 AM_CONDITIONAL(IS_CYGWIN, test $is_cygwin = yes)
956 AM_CONDITIONAL(IS_MINGW, test $is_mingw = yes)
957 AM_CONDITIONAL(IS_WIN32, test $is_win32 = yes)
958 AM_CONDITIONAL(IS_DARWIN, test $is_darwin = yes)
959 AM_CONDITIONAL(BITQ, test $build_bitq = yes)
960
961 AM_CONDITIONAL(MINIDRIVER, test $build_minidriver = yes)
962 AM_CONDITIONAL(MINIDRIVER_DUMMY, test $build_minidriver_dummy = yes)
963
964 # Look for environ alternatives. Possibility #1: is environ in unistd.h or stdlib.h?
965 AC_MSG_CHECKING([for environ in unistd.h and stdlib.h])
966 AC_COMPILE_IFELSE([
967 #define _GNU_SOURCE
968 #include <unistd.h>
969 #include <stdlib.h>
970 int main(int argc, char **argv) { char **ep = environ; }
971 ], [
972 AC_MSG_RESULT([yes])
973 has_environ=yes
974 ], [
975 AC_MSG_RESULT([no])
976
977 # Possibility #2: can environ be found in an available library?
978 AC_MSG_CHECKING([for extern environ])
979 AC_LINK_IFELSE([
980 extern char **environ;
981 int main(int argc, char **argv) { char **ep = environ; }
982 ], [
983 AC_DEFINE(NEED_ENVIRON_EXTERN, [1], [Must declare 'environ' to use it.])
984 has_environ=yes
985 ], [
986 has_environ=no
987 ])
988 AC_MSG_RESULT([${has_environ}])
989 ])
990
991 if test "${has_environ}" != "yes" ; then
992 AC_MSG_FAILURE([Could not find 'environ' in unistd.h or available libraries.])
993 fi
994
995 AC_DEFINE([_GNU_SOURCE],[1],[Use GNU C library extensions (e.g. stdndup).])
996
997 # set default gcc warnings
998 GCC_WARNINGS="-Wall -Wstrict-prototypes -Wformat-security"
999 if test "${gcc_wextra}" = yes; then
1000 GCC_WARNINGS="${GCC_WARNINGS} -Wextra -Wno-unused-parameter"
1001 GCC_WARNINGS="${GCC_WARNINGS} -Wbad-function-cast"
1002 GCC_WARNINGS="${GCC_WARNINGS} -Wcast-align"
1003 GCC_WARNINGS="${GCC_WARNINGS} -Wredundant-decls"
1004 fi
1005 if test "${gcc_werror}" = yes; then
1006 GCC_WARNINGS="${GCC_WARNINGS} -Werror"
1007 fi
1008
1009 # overide default gcc cflags
1010 if test $gcc_warnings = yes; then
1011 CFLAGS="$CFLAGS $GCC_WARNINGS"
1012 fi
1013
1014 # Setup for compiling build tools
1015 AC_MSG_CHECKING([for a C compiler for build tools])
1016 if test $cross_compiling = yes; then
1017 AC_CHECK_PROGS(CC_FOR_BUILD, gcc cc)
1018 CFLAGS_FOR_BUILD="-g -O2 $GCC_WARNINGS"
1019 else
1020 CC_FOR_BUILD=$CC
1021 CFLAGS_FOR_BUILD=$CFLAGS
1022 fi
1023
1024 AC_MSG_RESULT([$CC_FOR_BUILD])
1025 AC_SUBST(CC_FOR_BUILD)
1026 AC_SUBST(CFLAGS_FOR_BUILD)
1027
1028 AC_MSG_CHECKING([for suffix of executable build tools])
1029 if test $cross_compiling = yes; then
1030 cat >conftest.c <<\_______EOF
1031 int main ()
1032 {
1033 exit (0);
1034 }
1035 _______EOF
1036 for i in .exe ""; do
1037 compile="$CC_FOR_BUILD conftest.c -o conftest$i"
1038 if AC_TRY_EVAL(compile); then
1039 if (./conftest) 2>&AC_FD_CC; then
1040 EXEEXT_FOR_BUILD=$i
1041 break
1042 fi
1043 fi
1044 done
1045 rm -f conftest*
1046 if test "${EXEEXT_FOR_BUILD+set}" != set; then
1047 AC_MSG_ERROR([Cannot determine suffix of executable build tools])
1048 fi
1049 else
1050 EXEEXT_FOR_BUILD=$EXEEXT
1051 fi
1052 AC_MSG_RESULT([$EXEEXT_FOR_BUILD])
1053 AC_SUBST(EXEEXT_FOR_BUILD)
1054
1055 AC_OUTPUT(dnl
1056 Makefile dnl
1057 src/Makefile dnl
1058 src/helper/Makefile dnl
1059 src/jtag/Makefile dnl
1060 src/xsvf/Makefile dnl
1061 src/svf/Makefile dnl
1062 src/target/Makefile dnl
1063 src/server/Makefile dnl
1064 src/flash/Makefile dnl
1065 src/pld/Makefile dnl
1066 doc/Makefile dnl
1067 )

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)