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

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)