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