CPU name in TMPA900 config file should obviously be TMPA900 (not TMPA910).
[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(ulink,
476 AS_HELP_STRING([--enable-ulink], [Enable building support for the Keil ULINK JTAG Programmer]),
477 [build_ulink=$enableval], [build_ulink=no])
478
479 AC_ARG_ENABLE(arm-jtag-ew,
480 AS_HELP_STRING([--enable-arm-jtag-ew], [Enable building support for the Olimex ARM-JTAG-EW Programmer]),
481 [build_armjtagew=$enableval], [build_armjtagew=no])
482
483 AC_ARG_ENABLE(buspirate,
484 AS_HELP_STRING([--enable-buspirate], [Enable building support for the Buspirate]),
485 [build_buspirate=$enableval], [build_buspirate=no])
486
487 AC_ARG_ENABLE(minidriver_dummy,
488 AS_HELP_STRING([--enable-minidriver-dummy], [Enable the dummy minidriver.]),
489 [build_minidriver_dummy=$enableval], [build_minidriver_dummy=no])
490
491 AC_ARG_ENABLE(internal-jimtcl,
492 AS_HELP_STRING([--disable-internal-jimtcl], [Disable building internal jimtcl]),
493 [use_internal_jimtcl=$enableval], [use_internal_jimtcl=yes])
494
495 build_minidriver=no
496 AC_MSG_CHECKING([whether to enable ZY1000 minidriver])
497 if test $build_zy1000 = yes; then
498 if test $build_minidriver = yes; then
499 AC_MSG_ERROR([Multiple minidriver options have been enabled.])
500 fi
501 AC_DEFINE(HAVE_JTAG_MINIDRIVER_H, 1,
502 [Define to 1 if you have the <jtag_minidriver.h> header file.])
503 build_minidriver=yes
504 fi
505 AC_MSG_RESULT($build_zy1000)
506
507
508 AC_MSG_CHECKING([whether to enable dummy minidriver])
509 if test $build_minidriver_dummy = yes; then
510 if test $build_minidriver = yes; then
511 AC_MSG_ERROR([Multiple minidriver options have been enabled.])
512 fi
513 build_minidriver=yes
514 AC_DEFINE(BUILD_MINIDRIVER_DUMMY, 1, [Use the dummy minidriver.])
515 AC_DEFINE(HAVE_JTAG_MINIDRIVER_H, 1,
516 [Define to 1 if you have the <jtag_minidriver.h> header file.])
517 fi
518 AC_MSG_RESULT($build_minidriver_dummy)
519
520 AC_MSG_CHECKING([whether standard drivers can be built])
521 if test "$build_minidriver" = yes; then
522 AC_MSG_RESULT([no])
523 AC_MSG_WARN([Using the minidriver disables all other drivers.])
524 sleep 2
525 else
526 AC_MSG_RESULT([yes])
527 fi
528
529 case "${host_cpu}" in
530 i?86|x86*)
531 ;;
532 *)
533 if test x$parport_use_ppdev = xno; then
534 AC_MSG_WARN([--disable-parport-ppdev is not supported by the host CPU])
535 fi
536 parport_use_ppdev=yes
537 ;;
538 esac
539
540 case $host in
541 *-cygwin*)
542 is_win32=yes
543 parport_use_ppdev=no
544
545 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([], [[return __MINGW32__;]])],
546 [is_mingw=yes],[is_mingw=no])
547 if test $is_mingw = yes; then
548 AC_DEFINE(IS_MINGW, 1, [1 if building for MinGW.])
549 if test x$parport_use_giveio = xno; then
550 AC_MSG_WARN([--disable-parport-giveio is not supported by MinGW32 hosts])
551 fi
552 parport_use_giveio=yes
553 is_cygwin=no
554 else
555 is_cygwin=yes
556 AC_DEFINE(IS_CYGWIN, 1, [1 if building for Cygwin.])
557 # sys/io.h needed under cygwin for parport access
558 if test $build_parport = yes; then
559 AC_CHECK_HEADERS(sys/io.h,[],AC_MSG_ERROR([Please install the cygwin ioperm package]))
560 fi
561 fi
562
563 AC_DEFINE(IS_WIN32, 1, [1 if building for Win32.])
564 AC_DEFINE(IS_DARWIN, 0, [0 if not building for Darwin.])
565 ;;
566 *-mingw*)
567 is_mingw=yes
568 is_win32=yes
569 parport_use_ppdev=no
570
571 if test x$parport_use_giveio = xno; then
572 AC_MSG_WARN([--disable-parport-giveio is not supported by MinGW32 hosts])
573 fi
574 parport_use_giveio=yes
575
576 CFLAGS="$CFLAGS -D__USE_MINGW_ANSI_STDIO"
577
578 AC_DEFINE(IS_MINGW, 1, [1 if building for MinGW.])
579 AC_DEFINE(IS_WIN32, 1, [1 if building for Win32.])
580 AC_DEFINE(IS_DARWIN, 0, [0 if not building for Darwin.])
581 ;;
582 *darwin*)
583 is_darwin=yes
584
585 if test x$parport_use_giveio = xyes; then
586 AC_MSG_WARN([--enable-parport-giveio cannot be used by Darwin hosts])
587 fi
588 parport_use_giveio=no
589
590 AC_DEFINE(IS_CYGWIN, 0, [0 if not building for Cygwin.])
591 AC_DEFINE(IS_WIN32, 0, [0 if not building for Win32.])
592 AC_DEFINE(IS_DARWIN, 1, [1 if building for Darwin.])
593 ;;
594 *)
595 if test x$parport_use_giveio = xyes; then
596 AC_MSG_WARN([--enable-parport-giveio cannot be used by ]$host[ hosts])
597 fi
598 parport_use_giveio=no
599 AC_DEFINE(IS_CYGWIN, 0, [0 if not building for Cygwin.])
600 AC_DEFINE(IS_WIN32, 0, [0 if not building for Win32.])
601 AC_DEFINE(IS_DARWIN, 0, [0 if not building for Darwin.])
602 ;;
603 esac
604
605 if test $build_parport = yes; then
606 build_bitbang=yes
607 AC_DEFINE(BUILD_PARPORT, 1, [1 if you want parport.])
608 else
609 AC_DEFINE(BUILD_PARPORT, 0, [0 if you don't want parport.])
610 fi
611
612 if test $build_dummy = yes; then
613 build_bitbang=yes
614 AC_DEFINE(BUILD_DUMMY, 1, [1 if you want dummy driver.])
615 else
616 AC_DEFINE(BUILD_DUMMY, 0, [0 if you don't want dummy driver.])
617 fi
618
619 if test $build_ep93xx = yes; then
620 build_bitbang=yes
621 AC_DEFINE(BUILD_EP93XX, 1, [1 if you want ep93xx.])
622 else
623 AC_DEFINE(BUILD_EP93XX, 0, [0 if you don't want ep93xx.])
624 fi
625
626 if test $build_ecosboard = yes; then
627 AC_DEFINE(BUILD_ECOSBOARD, 1, [1 if you want eCosBoard.])
628 else
629 AC_DEFINE(BUILD_ECOSBOARD, 0, [0 if you don't want eCosBoard.])
630 fi
631
632 if test $build_zy1000 = yes; then
633 AC_DEFINE(BUILD_ZY1000, 1, [1 if you want ZY1000.])
634 else
635 AC_DEFINE(BUILD_ZY1000, 0, [0 if you don't want ZY1000.])
636 fi
637
638 if test $build_zy1000_master = yes; then
639 AC_DEFINE(BUILD_ZY1000_MASTER, 1, [1 if you want ZY1000 JTAG master registers.])
640 else
641 AC_DEFINE(BUILD_ZY1000_MASTER, 0, [0 if you don't want ZY1000 JTAG master registers.])
642 fi
643
644 if test $build_at91rm9200 = yes; then
645 build_bitbang=yes
646 AC_DEFINE(BUILD_AT91RM9200, 1, [1 if you want at91rm9200.])
647 else
648 AC_DEFINE(BUILD_AT91RM9200, 0, [0 if you don't want at91rm9200.])
649 fi
650
651 if test x$parport_use_ppdev = xyes; then
652 AC_DEFINE(PARPORT_USE_PPDEV, 1, [1 if you want parport to use ppdev.])
653 else
654 AC_DEFINE(PARPORT_USE_PPDEV, 0, [0 if you don't want parport to use ppdev.])
655 fi
656
657 if test x$parport_use_giveio = xyes; then
658 AC_DEFINE(PARPORT_USE_GIVEIO, 1, [1 if you want parport to use giveio.])
659 else
660 AC_DEFINE(PARPORT_USE_GIVEIO, 0, [0 if you don't want parport to use giveio.])
661 fi
662
663 if test $build_bitbang = yes; then
664 AC_DEFINE(BUILD_BITBANG, 1, [1 if you want a bitbang interface.])
665 else
666 AC_DEFINE(BUILD_BITBANG, 0, [0 if you don't want a bitbang interface.])
667 fi
668
669 if test $build_ft2232_libftdi = yes; then
670 AC_DEFINE(BUILD_FT2232_LIBFTDI, 1, [1 if you want libftdi ft2232.])
671 else
672 AC_DEFINE(BUILD_FT2232_LIBFTDI, 0, [0 if you don't want libftdi ft2232.])
673 fi
674
675 if test $build_ft2232_ftd2xx = yes; then
676 AC_DEFINE(BUILD_FT2232_FTD2XX, 1, [1 if you want ftd2xx ft2232.])
677 else
678 AC_DEFINE(BUILD_FT2232_FTD2XX, 0, [0 if you don't want ftd2xx ft2232.])
679 fi
680
681 if test $build_usb_blaster_libftdi = yes; then
682 build_bitbang=yes
683 AC_DEFINE(BUILD_USB_BLASTER_LIBFTDI, 1, [1 if you want libftdi usb_blaster.])
684 else
685 AC_DEFINE(BUILD_USB_BLASTER_LIBFTDI, 0, [0 if you don't want libftdi usb_blaster.])
686 fi
687
688 if test $build_usb_blaster_ftd2xx = yes; then
689 build_bitbang=yes
690 AC_DEFINE(BUILD_USB_BLASTER_FTD2XX, 1, [1 if you want ftd2xx usb_blaster.])
691 else
692 AC_DEFINE(BUILD_USB_BLASTER_FTD2XX, 0, [0 if you don't want ftd2xx usb_blaster.])
693 fi
694
695 if test $build_amtjtagaccel = yes; then
696 AC_DEFINE(BUILD_AMTJTAGACCEL, 1, [1 if you want the Amontec JTAG-Accelerator driver.])
697 else
698 AC_DEFINE(BUILD_AMTJTAGACCEL, 0, [0 if you don't want the Amontec JTAG-Accelerator driver.])
699 fi
700
701 if test $build_gw16012 = yes; then
702 AC_DEFINE(BUILD_GW16012, 1, [1 if you want the Gateworks GW16012 driver.])
703 else
704 AC_DEFINE(BUILD_GW16012, 0, [0 if you don't want the Gateworks GW16012 driver.])
705 fi
706
707 if test $build_presto_libftdi = yes; then
708 build_bitq=yes
709 AC_DEFINE(BUILD_PRESTO_LIBFTDI, 1, [1 if you want the ASIX PRESTO driver using libftdi.])
710 else
711 AC_DEFINE(BUILD_PRESTO_LIBFTDI, 0, [0 if you don't want the ASIX PRESTO driver using libftdi.])
712 fi
713
714 if test $build_presto_ftd2xx = yes; then
715 build_bitq=yes
716 AC_DEFINE(BUILD_PRESTO_FTD2XX, 1, [1 if you want the ASIX PRESTO driver using FTD2XX.])
717 else
718 AC_DEFINE(BUILD_PRESTO_FTD2XX, 0, [0 if you don't want the ASIX PRESTO driver using FTD2XX.])
719 fi
720
721 if test $build_bitq = yes; then
722 AC_DEFINE(BUILD_BITQ, 1, [1 if you want a bitq interface.])
723 else
724 AC_DEFINE(BUILD_BITQ, 0, [0 if you don't want a bitq interface.])
725 fi
726
727 if test $build_usbprog = yes; then
728 AC_DEFINE(BUILD_USBPROG, 1, [1 if you want the usbprog JTAG driver.])
729 else
730 AC_DEFINE(BUILD_USBPROG, 0, [0 if you don't want the usbprog JTAG driver.])
731 fi
732
733 if test $build_oocd_trace = yes; then
734 AC_DEFINE(BUILD_OOCD_TRACE, 1, [1 if you want the OpenOCD+trace ETM capture driver.])
735 else
736 AC_DEFINE(BUILD_OOCD_TRACE, 0, [0 if you don't want the OpenOCD+trace ETM capture driver.])
737 fi
738
739 if test $build_jlink = yes; then
740 AC_DEFINE(BUILD_JLINK, 1, [1 if you want the J-Link JTAG driver.])
741 else
742 AC_DEFINE(BUILD_JLINK, 0, [0 if you don't want the J-Link JTAG driver.])
743 fi
744
745 if test $build_vsllink = yes; then
746 AC_DEFINE(BUILD_VSLLINK, 1, [1 if you want the Versaloon-Link JTAG driver.])
747 else
748 AC_DEFINE(BUILD_VSLLINK, 0, [0 if you don't want the Versaloon-Link JTAG driver.])
749 fi
750
751 if test $build_rlink = yes; then
752 AC_DEFINE(BUILD_RLINK, 1, [1 if you want the RLink JTAG driver.])
753 else
754 AC_DEFINE(BUILD_RLINK, 0, [0 if you don't want the RLink JTAG driver.])
755 fi
756
757 if test $build_ulink = yes; then
758 AC_DEFINE(BUILD_ULINK, 1, [1 if you want the ULINK JTAG driver.])
759 else
760 AC_DEFINE(BUILD_ULINK, 0, [0 if you don't want the ULINK JTAG driver.])
761 fi
762
763 if test $build_armjtagew = yes; then
764 AC_DEFINE(BUILD_ARMJTAGEW, 1, [1 if you want the ARM-JTAG-EW JTAG driver.])
765 else
766 AC_DEFINE(BUILD_ARMJTAGEW, 0, [0 if you don't want the ARM-JTAG-EW JTAG driver.])
767 fi
768
769 if test $build_buspirate = yes; then
770 AC_DEFINE(BUILD_BUSPIRATE, 1, [1 if you want the Buspirate JTAG driver.])
771 else
772 AC_DEFINE(BUILD_BUSPIRATE, 0, [0 if you don't want the Buspirate JTAG driver.])
773 fi
774
775 if test "$use_internal_jimtcl" = yes; then
776 if test -f "$srcdir/jimtcl/configure.ac"; then
777 AX_CONFIG_SUBDIR_OPTION([jimtcl], [--with-jim-ext=nvp --disable-lineedit --disable-install-jim])
778 else
779 AC_MSG_ERROR([jimtcl not found, run git submodule init and git submodule update.])
780 fi
781 fi
782
783 #-- Deal with MingW/Cygwin FTD2XX issues
784
785 if test $is_win32 = yes; then
786 if test "${with_ftd2xx_linux_tardir+set}" = set
787 then
788 AC_MSG_ERROR([The option: with_ftd2xx_linux_tardir is for LINUX only.])
789 fi
790
791 if test $build_ft2232_ftd2xx = yes -o $build_presto_ftd2xx = yes -o $build_usb_blaster_ftd2xx = yes ; then
792 AC_MSG_CHECKING([for ftd2xx.lib exists (win32)])
793
794 # if we are given a zipdir...
795 if test "${with_ftd2xx_win32_zipdir+set}" = set
796 then
797 # Set the CFLAGS for "ftd2xx.h"
798 f=$with_ftd2xx_win32_zipdir/ftd2xx.h
799 if test ! -f $f ; then
800 AC_MSG_ERROR([File: $f cannot be found])
801 fi
802 CFLAGS="$CFLAGS -I$with_ftd2xx_win32_zipdir"
803
804 # And calculate the LDFLAGS for the machine
805 case "$host_cpu" in
806 i?86|x86_32)
807 LDFLAGS="$LDFLAGS -L$with_ftd2xx_win32_zipdir/i386"
808 LIBS="$LIBS -lftd2xx"
809 f=$with_ftd2xx_win32_zipdir/i386/ftd2xx.lib
810 ;;
811 amd64|x86_64)
812 LDFLAGS="$LDFLAGS -L$with_ftd2xx_win32_zipdir/amd64"
813 LIBS="$LIBS -lftd2xx"
814 f=$with_ftd2xx_win32_zipdir/amd64/ftd2xx.lib
815 ;;
816 *)
817 AC_MSG_ERROR([Unknown Win32 host cpu: $host_cpu])
818 ;;
819 esac
820 if test ! -f $f ; then
821 AC_MSG_ERROR([Library: $f not found])
822 fi
823 else
824 LIBS="$LIBS -lftd2xx"
825 AC_MSG_WARN([ASSUMPTION: The (win32) FTDICHIP.COM files: ftd2xx.h and ftd2xx.lib are in a proper place])
826 fi
827 fi
828 fi # win32
829
830 if test $is_darwin = yes ; then
831 if test "${with_ftd2xx_win32_zipdir+set}" = set
832 then
833 AC_MSG_ERROR([The option: --with-ftd2xx-win32-zipdir is for win32 only])
834 fi
835 if test "${with_ftd2xx_linux_tardir+set}" = set
836 then
837 AC_MSG_ERROR([The option: with_ftd2xx_linux_tardir is for LINUX only.])
838 fi
839
840 if test $build_ft2232_ftd2xx = yes -o $build_presto_ftd2xx = yes ; then
841 AC_MSG_CHECKING([for libftd2xx.a (darwin)])
842
843 if test ! -f /usr/local/include/ftd2xx.h ; then
844 AC_MSG_ERROR([ftd2xx library from FTDICHIP.com seems to be missing, cannot find: /usr/local/include/ftd2xx.h])
845 fi
846
847 CFLAGS="$CFLAGS -I/usr/local/include"
848 LDFLAGS="$LDFLAGS -L/usr/local/lib"
849 LIBS="$LIBS -lftd2xx"
850 AC_MSG_RESULT([-L/usr/local/lib -lftd2xx])
851 fi
852 fi # darwin
853
854 if test $is_win32 = no && test $is_darwin = no ; then
855
856 if test "${with_ftd2xx_win32_zipdir+set}" = set
857 then
858 AC_MSG_ERROR([The option: --with-ftd2xx-win32-zipdir is for win32 only])
859 fi
860
861 if test $build_ft2232_ftd2xx = yes -o $build_presto_ftd2xx = yes ; then
862 # Must be linux
863 if test $host_os != linux-gnu && test $host_os != linux ; then
864 AC_MSG_ERROR([The (linux) ftd2xx library from FTDICHIP.com is linux only. Try --enable-ft2232-libftdi instead])
865 fi
866 # Are we given a TAR directory?
867 if test "${with_ftd2xx_linux_tardir+set}" = set
868 then
869 AC_MSG_CHECKING([uninstalled ftd2xx distribution])
870 # The .H file is simple..
871 FTD2XX_H=$with_ftd2xx_linux_tardir/ftd2xx.h
872 if test ! -f "${FTD2XX_H}"; then
873 AC_MSG_ERROR([Option: --with-ftd2xx-linux-tardir appears wrong, cannot find: ${FTD2XX_H}])
874 fi
875 CFLAGS="$CFLAGS -I$with_ftd2xx_linux_tardir"
876 if test $with_ftd2xx_lib = shared; then
877 FTD2XX_LDFLAGS="-L$with_ftd2xx_linux_tardir"
878 FTD2XX_LIB="-lftd2xx"
879 else
880 # Test #1 - v1.0.x
881 case "$host_cpu" in
882 i?86|x86_32)
883 dir=build/i386;;
884 amd64|x86_64)
885 dir=build/x86_64;;
886 *)
887 dir=none;;
888 esac
889 if test -f "$with_ftd2xx_linux_tardir/$dir/libftd2xx.a"; then
890 FTD2XX_LDFLAGS="-L$with_ftd2xx_linux_tardir/$dir"
891 # Also needs -lrt
892 FTD2XX_LIB="-lftd2xx -lrt"
893 else
894 # Test Number2.
895 # Grr.. perhaps it exists as a version number?
896 FTD2XX_LIB="$with_ftd2xx_linux_tardir/static_lib/libftd2xx.a.*.*.*"
897 count=`ls ${FTD2XX_LIB} | wc -l`
898 if test $count -gt 1 ; then
899 AC_MSG_ERROR([Multiple libftd2xx.a files found in: $with_ftd2xx_linux_tardir/static_lib sorry cannot handle this yet])
900 fi
901 if test $count -ne 1 ; then
902 AC_MSG_ERROR([Not found: $f, option: --with-ftd2xx-linux-tardir appears to be wrong])
903 fi
904 # Because the "-l" rules do not understand version numbers...
905 # we will just stuff the absolute path onto the LIBS variable
906 FTD2XX_LIB="`ls ${FTD2XX_LIB}` -lpthread"
907 FTD2XX_LDFLAGS=""
908 fi
909 fi
910 LDFLAGS="${LDFLAGS} ${FTD2XX_LDFLAGS}"
911 LIBS="${LIBS} ${FTD2XX_LIB}"
912 AC_MSG_RESULT([${FTD2XX_LDFLAGS} ${FTD2XX_LIB}])
913 else
914 AC_CHECK_HEADER([ftd2xx.h],[],[
915 AC_MSG_ERROR([You seem to be missing the FTD2xx driver header file.])
916 ])
917 AC_SEARCH_LIBS([FT_GetLibraryVersion],[ftd2xx],,[
918 AC_MSG_ERROR([You appear to be missing the FTD2xx driver library.])
919 ],[])
920 fi
921 fi
922 fi # linux
923
924 if test $build_ft2232_ftd2xx = yes -o $build_presto_ftd2xx = yes; then
925
926 # Before we go any further - make sure we can *BUILD* and *RUN*
927 # a simple app with the "ftd2xx.lib" file - in what ever form we where given
928 # We should be able to compile, link and run this test program now
929 AC_MSG_CHECKING([whether ftd2xx library works])
930
931 #
932 # Save the LDFLAGS for later..
933 LDFLAGS_SAVE=$LDFLAGS
934 CFLAGS_SAVE=$CFLAGS
935 _LDFLAGS=`eval echo $LDFLAGS`
936 _CFLAGS=`eval echo $CFLAGS`
937 LDFLAGS=$_LDFLAGS
938 CFLAGS=$_CFLAGS
939
940 AC_RUN_IFELSE([AC_LANG_PROGRAM([[
941 #include "confdefs.h"
942 #if IS_WIN32
943 #include "windows.h"
944 #endif
945 #include <stdio.h>
946 #include <ftd2xx.h>
947 ]], [[
948 DWORD x;
949 FT_GetLibraryVersion( &x );
950 ]])], [
951 AC_MSG_RESULT([Success!])
952 ], [
953 AC_MSG_ERROR([Cannot build & run test program using ftd2xx.lib])
954 ], [
955 AC_MSG_RESULT([Skipping as we are cross-compiling])
956 ])
957
958 AC_MSG_CHECKING([for ftd2xx highspeed device support])
959 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
960 #include "confdefs.h"
961 #if IS_WIN32
962 #include "windows.h"
963 #endif
964 #include <stdio.h>
965 #include <ftd2xx.h>
966
967 DWORD x = FT_DEVICE_4232H;
968 ]], [])], [
969 AC_DEFINE(BUILD_FT2232_HIGHSPEED, [1],
970 [Support FT2232H/FT4232HS with FTD2XX or libftdi.])
971 build_ft2232_highspeed=yes
972 ], [
973 build_ft2232_highspeed=no
974 ])
975 AC_MSG_RESULT([$build_ft2232_highspeed])
976
977 if test $build_ft2232_highspeed = no; then
978 AC_MSG_WARN([You need a newer FTD2XX driver (version 2.04.16 or later).])
979 fi
980
981 LDFLAGS=$LDFLAGS_SAVE
982 CFLAGS=$CFLAGS_SAVE
983 fi
984
985 if test $build_ft2232_libftdi = yes ; then
986 # We assume: the package is preinstalled in the proper place
987 # these present as 2 libraries..
988 LIBS="$LIBS -lftdi -lusb"
989 #
990 # Try to build a small program.
991 AC_MSG_CHECKING([Build & Link with libftdi...])
992
993 LDFLAGS_SAVE=$LDFLAGS
994 CFLAGS_SAVE=$CFLAGS
995 _LDFLAGS=`eval echo $LDFLAGS`
996 _CFLAGS=`eval echo $CFLAGS`
997 LDFLAGS=$_LDFLAGS
998 CFLAGS=$_CFLAGS
999
1000 AC_RUN_IFELSE([AC_LANG_PROGRAM([[
1001 #include <stdio.h>
1002 #include <ftdi.h>
1003 ]], [[
1004 struct ftdi_context *p;
1005 p = ftdi_new();
1006 if( p != NULL ){
1007 return 0;
1008 } else {
1009 fprintf( stderr, "calling ftdi_new() failed\n");
1010 return 1;
1011 }
1012 ]])], [
1013 AC_MSG_RESULT([Success])
1014 ], [
1015 AC_MSG_ERROR([Cannot build & run test program using libftdi])
1016 ], [
1017 AC_MSG_RESULT([Skipping as we are cross-compiling])
1018 ])
1019
1020 AC_MSG_CHECKING([for libftdi highspeed device support])
1021 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
1022 #include <stdio.h>
1023 #include <ftdi.h>
1024 ]], [[
1025 enum ftdi_chip_type x = TYPE_2232H;
1026 ]])], [
1027 AC_DEFINE(BUILD_FT2232_HIGHSPEED, [1],
1028 [Support FT2232H/FT4232HS with FTD2XX or libftdi.])
1029 build_ft2232_highspeed=yes
1030 ], [
1031 build_ft2232_highspeed=no
1032 ])
1033 AC_MSG_RESULT([$build_ft2232_highspeed])
1034
1035 if test $build_ft2232_highspeed = no; then
1036 AC_MSG_WARN([You need a newer libftdi version (0.16 or later).])
1037 fi
1038
1039 # Restore the 'unexpanded ldflags'
1040 LDFLAGS=$LDFLAGS_SAVE
1041 CFLAGS=$CFLAGS_SAVE
1042 fi
1043
1044 # check for usb.h when a driver will require it
1045 build_usb=no
1046 if test $build_jlink = yes -o $build_vsllink = yes -o $build_usbprog = yes -o \
1047 $build_rlink = yes -o $build_ulink = yes -o $build_armjtagew = yes
1048 then
1049 AC_CHECK_HEADERS([usb.h],[],
1050 [AC_MSG_ERROR([usb.h is required to build some OpenOCD driver(s)])])
1051 build_usb=yes
1052 fi
1053
1054 AM_CONDITIONAL(RELEASE, test $build_release = yes)
1055 AM_CONDITIONAL(PARPORT, test $build_parport = yes)
1056 AM_CONDITIONAL(DUMMY, test $build_dummy = yes)
1057 AM_CONDITIONAL(GIVEIO, test x$parport_use_giveio = xyes)
1058 AM_CONDITIONAL(EP93XX, test $build_ep93xx = yes)
1059 AM_CONDITIONAL(ECOSBOARD, test $build_ecosboard = yes)
1060 AM_CONDITIONAL(ZY1000, test $build_zy1000 = yes)
1061 AM_CONDITIONAL(ZY1000_MASTER, test $build_zy1000_master = yes)
1062 AM_CONDITIONAL(IOUTIL, test $build_ioutil = yes)
1063 AM_CONDITIONAL(AT91RM9200, test $build_at91rm9200 = yes)
1064 AM_CONDITIONAL(BITBANG, test $build_bitbang = yes)
1065 AM_CONDITIONAL(FT2232_LIBFTDI, test $build_ft2232_libftdi = yes)
1066 AM_CONDITIONAL(FT2232_DRIVER, test $build_ft2232_ftd2xx = yes -o $build_ft2232_libftdi = yes)
1067 AM_CONDITIONAL(USB_BLASTER_LIBFTDI, test $build_usb_blaster_libftdi = yes)
1068 AM_CONDITIONAL(USB_BLASTER_DRIVER, test $build_usb_blaster_ftd2xx = yes -o $build_usb_blaster_libftdi = yes)
1069 AM_CONDITIONAL(AMTJTAGACCEL, test $build_amtjtagaccel = yes)
1070 AM_CONDITIONAL(GW16012, test $build_gw16012 = yes)
1071 AM_CONDITIONAL(PRESTO_LIBFTDI, test $build_presto_libftdi = yes)
1072 AM_CONDITIONAL(PRESTO_DRIVER, test $build_presto_ftd2xx = yes -o $build_presto_libftdi = yes)
1073 AM_CONDITIONAL(USBPROG, test $build_usbprog = yes)
1074 AM_CONDITIONAL(OOCD_TRACE, test $build_oocd_trace = yes)
1075 AM_CONDITIONAL(JLINK, test $build_jlink = yes)
1076 AM_CONDITIONAL(VSLLINK, test $build_vsllink = yes)
1077 AM_CONDITIONAL(RLINK, test $build_rlink = yes)
1078 AM_CONDITIONAL(ULINK, test $build_ulink = yes)
1079 AM_CONDITIONAL(ARMJTAGEW, test $build_armjtagew = yes)
1080 AM_CONDITIONAL(BUSPIRATE, test $build_buspirate = yes)
1081 AM_CONDITIONAL(USB, test $build_usb = yes)
1082 AM_CONDITIONAL(IS_CYGWIN, test $is_cygwin = yes)
1083 AM_CONDITIONAL(IS_MINGW, test $is_mingw = yes)
1084 AM_CONDITIONAL(IS_WIN32, test $is_win32 = yes)
1085 AM_CONDITIONAL(IS_DARWIN, test $is_darwin = yes)
1086 AM_CONDITIONAL(BITQ, test $build_bitq = yes)
1087
1088 AM_CONDITIONAL(MINIDRIVER, test $build_minidriver = yes)
1089 AM_CONDITIONAL(MINIDRIVER_DUMMY, test $build_minidriver_dummy = yes)
1090
1091 AM_CONDITIONAL(INTERNAL_JIMTCL, test $use_internal_jimtcl = yes)
1092
1093 # Look for environ alternatives. Possibility #1: is environ in unistd.h or stdlib.h?
1094 AC_MSG_CHECKING([for environ in unistd.h and stdlib.h])
1095 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
1096 #define _GNU_SOURCE
1097 #include <unistd.h>
1098 #include <stdlib.h>
1099 ]], [[char **ep = environ;]]
1100 )], [
1101 AC_MSG_RESULT([yes])
1102 has_environ=yes
1103 ], [
1104 AC_MSG_RESULT([no])
1105
1106 # Possibility #2: can environ be found in an available library?
1107 AC_MSG_CHECKING([for extern environ])
1108 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1109 extern char **environ;
1110 ]], [[char **ep = environ;]]
1111 )], [
1112 AC_DEFINE(NEED_ENVIRON_EXTERN, [1], [Must declare 'environ' to use it.])
1113 has_environ=yes
1114 ], [
1115 has_environ=no
1116 ])
1117 AC_MSG_RESULT([${has_environ}])
1118 ])
1119
1120 if test "${has_environ}" != "yes" ; then
1121 AC_MSG_FAILURE([Could not find 'environ' in unistd.h or available libraries.])
1122 fi
1123
1124 AC_DEFINE([_GNU_SOURCE],[1],[Use GNU C library extensions (e.g. stdndup).])
1125
1126 # set default gcc warnings
1127 GCC_WARNINGS="-Wall -Wstrict-prototypes -Wformat-security -Wshadow"
1128 if test "${gcc_wextra}" = yes; then
1129 GCC_WARNINGS="${GCC_WARNINGS} -Wextra -Wno-unused-parameter"
1130 GCC_WARNINGS="${GCC_WARNINGS} -Wbad-function-cast"
1131 GCC_WARNINGS="${GCC_WARNINGS} -Wcast-align"
1132 GCC_WARNINGS="${GCC_WARNINGS} -Wredundant-decls"
1133 fi
1134 if test "${gcc_werror}" = yes; then
1135 GCC_WARNINGS="${GCC_WARNINGS} -Werror"
1136 fi
1137
1138 # overide default gcc cflags
1139 if test $gcc_warnings = yes; then
1140 CFLAGS="$CFLAGS $GCC_WARNINGS"
1141 fi
1142
1143 # Setup for compiling build tools
1144 AC_MSG_CHECKING([for a C compiler for build tools])
1145 if test $cross_compiling = yes; then
1146 AC_CHECK_PROGS(CC_FOR_BUILD, gcc cc)
1147 CFLAGS_FOR_BUILD="-g -O2 $GCC_WARNINGS"
1148 else
1149 CC_FOR_BUILD=$CC
1150 CFLAGS_FOR_BUILD=$CFLAGS
1151 fi
1152
1153 AC_MSG_RESULT([$CC_FOR_BUILD])
1154 AC_SUBST(CC_FOR_BUILD)
1155 AC_SUBST(CFLAGS_FOR_BUILD)
1156
1157 AC_MSG_CHECKING([for suffix of executable build tools])
1158 if test $cross_compiling = yes; then
1159 cat >conftest.c <<\_______EOF
1160 int main ()
1161 {
1162 exit (0);
1163 }
1164 _______EOF
1165 for i in .exe ""; do
1166 compile="$CC_FOR_BUILD conftest.c -o conftest$i"
1167 if AC_TRY_EVAL(compile); then
1168 if (./conftest) 2>&AC_FD_CC; then
1169 EXEEXT_FOR_BUILD=$i
1170 break
1171 fi
1172 fi
1173 done
1174 rm -f conftest*
1175 if test "${EXEEXT_FOR_BUILD+set}" != set; then
1176 AC_MSG_ERROR([Cannot determine suffix of executable build tools])
1177 fi
1178 else
1179 EXEEXT_FOR_BUILD=$EXEEXT
1180 fi
1181 AC_MSG_RESULT([$EXEEXT_FOR_BUILD])
1182 AC_SUBST(EXEEXT_FOR_BUILD)
1183
1184 AC_OUTPUT(dnl
1185 Makefile dnl
1186 src/Makefile dnl
1187 src/helper/Makefile dnl
1188 src/jtag/Makefile dnl
1189 src/jtag/drivers/Makefile dnl
1190 src/transport/Makefile dnl
1191 src/xsvf/Makefile dnl
1192 src/svf/Makefile dnl
1193 src/target/Makefile dnl
1194 src/rtos/Makefile dnl
1195 src/server/Makefile dnl
1196 src/flash/Makefile dnl
1197 src/flash/nor/Makefile dnl
1198 src/flash/nand/Makefile dnl
1199 src/pld/Makefile dnl
1200 doc/Makefile dnl
1201 )

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)