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

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)