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

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)