Add OpenULINK driver files generated by SDCC to .gitignore
[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])
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 FTD2XX_LDFLAGS="-L$with_ftd2xx_linux_tardir"
877 FTD2XX_LIB="-lftd2xx"
878 if test $with_ftd2xx_lib != shared; then
879 # Test #1 - Future proof - if/when ftdichip fixes their distro.
880 # Try it with the simple ".a" suffix.
881 FTD2XX_LIB="$with_ftd2xx_linux_tardir/static_lib/libftd2xx.a"
882 if test -f "${FTD2XX_LIB}"; then
883 FTD2XX_LDFLAGS="${FTD2XX_LDFLAGS}/static_lib"
884 else
885 # Test Number2.
886 # Grr.. perhaps it exists as a version number?
887 FTD2XX_LIB="$with_ftd2xx_linux_tardir/static_lib/libftd2xx.a.*.*.*"
888 count=`ls ${FTD2XX_LIB} | wc -l`
889 if test $count -gt 1 ; then
890 AC_MSG_ERROR([Multiple libftd2xx.a files found in: $with_ftd2xx_linux_tardir/static_lib sorry cannot handle this yet])
891 fi
892 if test $count -ne 1 ; then
893 AC_MSG_ERROR([Not found: $f, option: --with-ftd2xx-linux-tardir appears to be wrong])
894 fi
895 # Because the "-l" rules do not understand version numbers...
896 # we will just stuff the absolute path onto the LIBS variable
897 FTD2XX_LIB="`ls ${FTD2XX_LIB}` -lpthread"
898 FTD2XX_LDFLAGS=""
899 fi
900 fi
901 LDFLAGS="${LDFLAGS} ${FTD2XX_LDFLAGS}"
902 LIBS="${LIBS} ${FTD2XX_LIB}"
903 AC_MSG_RESULT([${FTD2XX_LDFLAGS} ${FTD2XX_LIB}])
904 else
905 AC_CHECK_HEADER([ftd2xx.h],[],[
906 AC_MSG_ERROR([You seem to be missing the FTD2xx driver header file.])
907 ])
908 AC_SEARCH_LIBS([FT_GetLibraryVersion],[ftd2xx],,[
909 AC_MSG_ERROR([You appear to be missing the FTD2xx driver library.])
910 ],[])
911 fi
912 fi
913 fi # linux
914
915 if test $build_ft2232_ftd2xx = yes -o $build_presto_ftd2xx = yes; then
916
917 # Before we go any further - make sure we can *BUILD* and *RUN*
918 # a simple app with the "ftd2xx.lib" file - in what ever form we where given
919 # We should be able to compile, link and run this test program now
920 AC_MSG_CHECKING([whether ftd2xx library works])
921
922 #
923 # Save the LDFLAGS for later..
924 LDFLAGS_SAVE=$LDFLAGS
925 CFLAGS_SAVE=$CFLAGS
926 _LDFLAGS=`eval echo $LDFLAGS`
927 _CFLAGS=`eval echo $CFLAGS`
928 LDFLAGS=$_LDFLAGS
929 CFLAGS=$_CFLAGS
930
931 AC_RUN_IFELSE([AC_LANG_PROGRAM([[
932 #include "confdefs.h"
933 #if IS_WIN32
934 #include "windows.h"
935 #endif
936 #include <stdio.h>
937 #include <ftd2xx.h>
938 ]], [[
939 DWORD x;
940 FT_GetLibraryVersion( &x );
941 ]])], [
942 AC_MSG_RESULT([Success!])
943 ], [
944 AC_MSG_ERROR([Cannot build & run test program using ftd2xx.lib])
945 ], [
946 AC_MSG_RESULT([Skipping as we are cross-compiling])
947 ])
948
949 AC_MSG_CHECKING([for ftd2xx highspeed device support])
950 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
951 #include "confdefs.h"
952 #if IS_WIN32
953 #include "windows.h"
954 #endif
955 #include <stdio.h>
956 #include <ftd2xx.h>
957
958 DWORD x = FT_DEVICE_4232H;
959 ]], [])], [
960 AC_DEFINE(BUILD_FT2232_HIGHSPEED, [1],
961 [Support FT2232H/FT4232HS with FTD2XX or libftdi.])
962 build_ft2232_highspeed=yes
963 ], [
964 build_ft2232_highspeed=no
965 ])
966 AC_MSG_RESULT([$build_ft2232_highspeed])
967
968 if test $build_ft2232_highspeed = no; then
969 AC_MSG_WARN([You need a newer FTD2XX driver (version 2.04.16 or later).])
970 fi
971
972 LDFLAGS=$LDFLAGS_SAVE
973 CFLAGS=$CFLAGS_SAVE
974 fi
975
976 if test $build_ft2232_libftdi = yes ; then
977 # We assume: the package is preinstalled in the proper place
978 # these present as 2 libraries..
979 LIBS="$LIBS -lftdi -lusb"
980 #
981 # Try to build a small program.
982 AC_MSG_CHECKING([Build & Link with libftdi...])
983
984 LDFLAGS_SAVE=$LDFLAGS
985 CFLAGS_SAVE=$CFLAGS
986 _LDFLAGS=`eval echo $LDFLAGS`
987 _CFLAGS=`eval echo $CFLAGS`
988 LDFLAGS=$_LDFLAGS
989 CFLAGS=$_CFLAGS
990
991 AC_RUN_IFELSE([AC_LANG_PROGRAM([[
992 #include <stdio.h>
993 #include <ftdi.h>
994 ]], [[
995 struct ftdi_context *p;
996 p = ftdi_new();
997 if( p != NULL ){
998 return 0;
999 } else {
1000 fprintf( stderr, "calling ftdi_new() failed\n");
1001 return 1;
1002 }
1003 ]])], [
1004 AC_MSG_RESULT([Success])
1005 ], [
1006 AC_MSG_ERROR([Cannot build & run test program using libftdi])
1007 ], [
1008 AC_MSG_RESULT([Skipping as we are cross-compiling])
1009 ])
1010
1011 AC_MSG_CHECKING([for libftdi highspeed device support])
1012 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
1013 #include <stdio.h>
1014 #include <ftdi.h>
1015 ]], [[
1016 enum ftdi_chip_type x = TYPE_2232H;
1017 ]])], [
1018 AC_DEFINE(BUILD_FT2232_HIGHSPEED, [1],
1019 [Support FT2232H/FT4232HS with FTD2XX or libftdi.])
1020 build_ft2232_highspeed=yes
1021 ], [
1022 build_ft2232_highspeed=no
1023 ])
1024 AC_MSG_RESULT([$build_ft2232_highspeed])
1025
1026 if test $build_ft2232_highspeed = no; then
1027 AC_MSG_WARN([You need a newer libftdi version (0.16 or later).])
1028 fi
1029
1030 # Restore the 'unexpanded ldflags'
1031 LDFLAGS=$LDFLAGS_SAVE
1032 CFLAGS=$CFLAGS_SAVE
1033 fi
1034
1035 # check for usb.h when a driver will require it
1036 build_usb=no
1037 if test $build_jlink = yes -o $build_vsllink = yes -o $build_usbprog = yes -o \
1038 $build_rlink = yes -o $build_ulink = yes -o $build_armjtagew = yes
1039 then
1040 AC_CHECK_HEADERS([usb.h],[],
1041 [AC_MSG_ERROR([usb.h is required to build some OpenOCD driver(s)])])
1042 build_usb=yes
1043 fi
1044
1045 AM_CONDITIONAL(RELEASE, test $build_release = yes)
1046 AM_CONDITIONAL(PARPORT, test $build_parport = yes)
1047 AM_CONDITIONAL(DUMMY, test $build_dummy = yes)
1048 AM_CONDITIONAL(GIVEIO, test x$parport_use_giveio = xyes)
1049 AM_CONDITIONAL(EP93XX, test $build_ep93xx = yes)
1050 AM_CONDITIONAL(ECOSBOARD, test $build_ecosboard = yes)
1051 AM_CONDITIONAL(ZY1000, test $build_zy1000 = yes)
1052 AM_CONDITIONAL(ZY1000_MASTER, test $build_zy1000_master = yes)
1053 AM_CONDITIONAL(IOUTIL, test $build_ioutil = yes)
1054 AM_CONDITIONAL(AT91RM9200, test $build_at91rm9200 = yes)
1055 AM_CONDITIONAL(BITBANG, test $build_bitbang = yes)
1056 AM_CONDITIONAL(FT2232_LIBFTDI, test $build_ft2232_libftdi = yes)
1057 AM_CONDITIONAL(FT2232_DRIVER, test $build_ft2232_ftd2xx = yes -o $build_ft2232_libftdi = yes)
1058 AM_CONDITIONAL(USB_BLASTER_LIBFTDI, test $build_usb_blaster_libftdi = yes)
1059 AM_CONDITIONAL(USB_BLASTER_DRIVER, test $build_usb_blaster_ftd2xx = yes -o $build_usb_blaster_libftdi = yes)
1060 AM_CONDITIONAL(AMTJTAGACCEL, test $build_amtjtagaccel = yes)
1061 AM_CONDITIONAL(GW16012, test $build_gw16012 = yes)
1062 AM_CONDITIONAL(PRESTO_LIBFTDI, test $build_presto_libftdi = yes)
1063 AM_CONDITIONAL(PRESTO_DRIVER, test $build_presto_ftd2xx = yes -o $build_presto_libftdi = yes)
1064 AM_CONDITIONAL(USBPROG, test $build_usbprog = yes)
1065 AM_CONDITIONAL(OOCD_TRACE, test $build_oocd_trace = yes)
1066 AM_CONDITIONAL(JLINK, test $build_jlink = yes)
1067 AM_CONDITIONAL(VSLLINK, test $build_vsllink = yes)
1068 AM_CONDITIONAL(RLINK, test $build_rlink = yes)
1069 AM_CONDITIONAL(ULINK, test $build_ulink = yes)
1070 AM_CONDITIONAL(ARMJTAGEW, test $build_armjtagew = yes)
1071 AM_CONDITIONAL(BUSPIRATE, test $build_buspirate = yes)
1072 AM_CONDITIONAL(USB, test $build_usb = yes)
1073 AM_CONDITIONAL(IS_CYGWIN, test $is_cygwin = yes)
1074 AM_CONDITIONAL(IS_MINGW, test $is_mingw = yes)
1075 AM_CONDITIONAL(IS_WIN32, test $is_win32 = yes)
1076 AM_CONDITIONAL(IS_DARWIN, test $is_darwin = yes)
1077 AM_CONDITIONAL(BITQ, test $build_bitq = yes)
1078
1079 AM_CONDITIONAL(MINIDRIVER, test $build_minidriver = yes)
1080 AM_CONDITIONAL(MINIDRIVER_DUMMY, test $build_minidriver_dummy = yes)
1081
1082 AM_CONDITIONAL(INTERNAL_JIMTCL, test $use_internal_jimtcl = yes)
1083
1084 # Look for environ alternatives. Possibility #1: is environ in unistd.h or stdlib.h?
1085 AC_MSG_CHECKING([for environ in unistd.h and stdlib.h])
1086 AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
1087 #define _GNU_SOURCE
1088 #include <unistd.h>
1089 #include <stdlib.h>
1090 ]], [[char **ep = environ;]]
1091 )], [
1092 AC_MSG_RESULT([yes])
1093 has_environ=yes
1094 ], [
1095 AC_MSG_RESULT([no])
1096
1097 # Possibility #2: can environ be found in an available library?
1098 AC_MSG_CHECKING([for extern environ])
1099 AC_LINK_IFELSE([AC_LANG_PROGRAM([[
1100 extern char **environ;
1101 ]], [[char **ep = environ;]]
1102 )], [
1103 AC_DEFINE(NEED_ENVIRON_EXTERN, [1], [Must declare 'environ' to use it.])
1104 has_environ=yes
1105 ], [
1106 has_environ=no
1107 ])
1108 AC_MSG_RESULT([${has_environ}])
1109 ])
1110
1111 if test "${has_environ}" != "yes" ; then
1112 AC_MSG_FAILURE([Could not find 'environ' in unistd.h or available libraries.])
1113 fi
1114
1115 AC_DEFINE([_GNU_SOURCE],[1],[Use GNU C library extensions (e.g. stdndup).])
1116
1117 # set default gcc warnings
1118 GCC_WARNINGS="-Wall -Wstrict-prototypes -Wformat-security -Wshadow"
1119 if test "${gcc_wextra}" = yes; then
1120 GCC_WARNINGS="${GCC_WARNINGS} -Wextra -Wno-unused-parameter"
1121 GCC_WARNINGS="${GCC_WARNINGS} -Wbad-function-cast"
1122 GCC_WARNINGS="${GCC_WARNINGS} -Wcast-align"
1123 GCC_WARNINGS="${GCC_WARNINGS} -Wredundant-decls"
1124 fi
1125 if test "${gcc_werror}" = yes; then
1126 GCC_WARNINGS="${GCC_WARNINGS} -Werror"
1127 fi
1128
1129 # overide default gcc cflags
1130 if test $gcc_warnings = yes; then
1131 CFLAGS="$CFLAGS $GCC_WARNINGS"
1132 fi
1133
1134 # Setup for compiling build tools
1135 AC_MSG_CHECKING([for a C compiler for build tools])
1136 if test $cross_compiling = yes; then
1137 AC_CHECK_PROGS(CC_FOR_BUILD, gcc cc)
1138 CFLAGS_FOR_BUILD="-g -O2 $GCC_WARNINGS"
1139 else
1140 CC_FOR_BUILD=$CC
1141 CFLAGS_FOR_BUILD=$CFLAGS
1142 fi
1143
1144 AC_MSG_RESULT([$CC_FOR_BUILD])
1145 AC_SUBST(CC_FOR_BUILD)
1146 AC_SUBST(CFLAGS_FOR_BUILD)
1147
1148 AC_MSG_CHECKING([for suffix of executable build tools])
1149 if test $cross_compiling = yes; then
1150 cat >conftest.c <<\_______EOF
1151 int main ()
1152 {
1153 exit (0);
1154 }
1155 _______EOF
1156 for i in .exe ""; do
1157 compile="$CC_FOR_BUILD conftest.c -o conftest$i"
1158 if AC_TRY_EVAL(compile); then
1159 if (./conftest) 2>&AC_FD_CC; then
1160 EXEEXT_FOR_BUILD=$i
1161 break
1162 fi
1163 fi
1164 done
1165 rm -f conftest*
1166 if test "${EXEEXT_FOR_BUILD+set}" != set; then
1167 AC_MSG_ERROR([Cannot determine suffix of executable build tools])
1168 fi
1169 else
1170 EXEEXT_FOR_BUILD=$EXEEXT
1171 fi
1172 AC_MSG_RESULT([$EXEEXT_FOR_BUILD])
1173 AC_SUBST(EXEEXT_FOR_BUILD)
1174
1175 AC_OUTPUT(dnl
1176 Makefile dnl
1177 src/Makefile dnl
1178 src/helper/Makefile dnl
1179 src/jtag/Makefile dnl
1180 src/jtag/drivers/Makefile dnl
1181 src/transport/Makefile dnl
1182 src/xsvf/Makefile dnl
1183 src/svf/Makefile dnl
1184 src/target/Makefile dnl
1185 src/rtos/Makefile dnl
1186 src/server/Makefile dnl
1187 src/flash/Makefile dnl
1188 src/flash/nor/Makefile dnl
1189 src/flash/nand/Makefile dnl
1190 src/pld/Makefile dnl
1191 doc/Makefile dnl
1192 )

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)