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

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)