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

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)