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

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)