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

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)