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