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

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)