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

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)