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

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)