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

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)