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

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)