Zach Welch <zw@superlucidity.net> add --enable-verbose* options
[openocd.git] / configure.in
1 AC_PREREQ(2.59)
2 AC_INIT(configure.in)
3
4 AC_CANONICAL_HOST
5
6 AC_SEARCH_LIBS([ioperm], [ioperm])
7 AC_SEARCH_LIBS([dlopen], [dl])
8
9 AC_CHECK_HEADERS(jtag_minidriver.h)
10 AC_CHECK_HEADERS(sys/param.h)
11 AC_CHECK_HEADERS(sys/time.h)
12 AC_CHECK_HEADERS(elf.h)
13 AC_CHECK_HEADERS(strings.h)
14 AC_CHECK_HEADERS(stdbool.h)
15
16 AC_HEADER_TIME
17
18 AC_C_BIGENDIAN
19
20 AC_CHECK_FUNCS(strndup)
21 AC_CHECK_FUNCS(strnlen)
22 AC_CHECK_FUNCS(gettimeofday)
23 AC_CHECK_FUNCS(usleep)
24 AC_CHECK_FUNCS(vasprintf)
25
26 build_bitbang=no
27 build_bitq=no
28 is_cygwin=no
29 is_mingw=no
30 is_win32=no
31 build_release=yes
32
33 AC_ARG_ENABLE(release,
34 AS_HELP_STRING([--enable-release], [Enable Release Build, default no]),
35 [build_release=$enableval], [build_release=no])
36
37 if test $cross_compiling = no; then
38 if test $build_release = no; then
39 # check we can find guess-rev.sh
40 AC_CHECK_FILE("$srcdir/guess-rev.sh", build_release=no, build_release=yes)
41 fi
42 fi
43
44 # We are not *ALWAYS* being installed in the standard place.
45 # We may be installed in a "tool-build" specific location.
46 # Normally with other packages - as part of a tool distro.
47 # Thus - we should search that 'libdir' also.
48 #
49 # And - if we are being installed there - the odds are
50 # The libraries unique to what we are are there too.
51 #
52
53 # Expand nd deal with NONE - just like configure will do later
54 OCDprefix=$prefix
55 OCDxprefix=$exec_prefix
56 test x"$OCDprefix" = xNONE && OCDprefix=$ac_default_prefix
57 # Let make expand exec_prefix.
58 test x"$OCDxprefix" = xNONE && OCDxprefix="$OCDprefix"
59
60 # what matters is the "exec-prefix"
61 if test "$OCDxprefix" != "$ac_default_prefix"
62 then
63 # We are installing in a non-standard place
64 # Nonstandard --prefix and/or --exec-prefix
65 # We have an override of some sort.
66 # use build specific install library dir
67
68 LDFLAGS="$LDFLAGS -L$OCDxprefix/lib"
69 # RPATH becomes an issue on Linux only
70 if test $host_os = linux-gnu || test $host_os = linux ; then
71 LDFLAGS="$LDFLAGS -Wl,-rpath,$OCDxprefix/lib"
72 fi
73 # The "INCDIR" is also usable
74 CFLAGS="$CFLAGS -I$includedir"
75 fi
76
77 AC_ARG_WITH(ftd2xx,
78 AS_HELP_STRING([--with-ftd2xx=<PATH>],[This option has been removed.]),
79 [
80 # Option Given.
81 cat << __EOF__
82
83 The option: --with-ftd2xx=<PATH> has been removed.
84 On Linux, the new option is:
85
86 --with-ftd2xx-linux-tardir=/path/to/files
87
88 Where <path> is the path the the directory where the "tar.gz" file
89 from FTDICHIP.COM was unpacked, for example:
90
91 --with-ftd2xx-linux-tardir=/home/duane/libftd2xx-linux-tardir=/home/duane/libftd2xx0.4.16
92
93 On Cygwin/MingW32, the new option is:
94
95 --with-ftd2xx-win32-zipdir=/path/to/files
96
97 Where <path> is the path to the directory where the "zip" file from
98 FTDICHIP.COM was unpacked, for example:
99
100 --with-ftd2xx-win32-zipdir=/home/duane/ftd2xx.cdm.files
101
102 __EOF__
103
104 AC_MSG_ERROR([Sorry Cannot continue])
105 ],
106 [
107 # Option not given
108 true
109 ]
110 )
111
112 #========================================
113 # FTD2XXX support comes in 3 forms.
114 # (1) win32 - via a zip file
115 # (2) linux - via a tar file
116 # (3) linux/cygwin/mingw - via libftdi
117 #
118 # In case (1) and (2) we need to know where the package was unpacked.
119
120 AC_ARG_WITH(ftd2xx-win32-zipdir,
121 AS_HELP_STRING([--with-ftd2xx-win32-zipdir],[Where (CYGWIN/MINGW) the zip file from ftdichip.com was unpacked <default=search>]),
122 [
123 # option present
124 if test -d $with_ftd2xx_win32_zipdir
125 then
126 with_ftd2xx_win32_zipdir=`cd $with_ftd2xx_win32_zipdir && pwd`
127 AC_MSG_NOTICE([Using: ftdichip.com library: $with_ftd2xx_win32_zipdir])
128 else
129 AC_MSG_ERROR([Parameter to --with-ftd2xx-win32-zipdir is not a dir: $with_ftd2xx_win32_zipdir])
130 fi
131 ],
132 [
133 # not given
134 true
135 ]
136 )
137
138 AC_ARG_WITH(ftd2xx-linux-tardir,
139 AS_HELP_STRING([--with-ftd2xx-linux-tardir], [Where (Linux/Unix) the tar file from ftdichip.com was unpacked <default=search>]),
140 [
141 # Option present
142 if test $is_win32 = yes ; then
143 AC_MSG_ERROR([The option: --with-ftd2xx-linux-tardir is only usable on linux])
144 fi
145 if test -d $with_ftd2xx_linux_tardir
146 then
147 with_ftd2xx_linux_tardir=`cd $with_ftd2xx_linux_tardir && pwd`
148 AC_MSG_NOTICE([Using: ftdichip.com library: $with_ftd2xx_linux_tardir])
149 else
150 AC_MSG_ERROR([Parameter to --with-ftd2xx-linux-tardir is not a dir: $with_ftd2xx_linux_tardir])
151 fi
152 ],
153 [
154 # Not given
155 true
156 ]
157 )
158
159 AC_ARG_WITH(ftd2xx-lib,
160 AS_HELP_STRING([--with-ftd2xx-lib], [Use static or shared ftd2xx libs on default static]),
161 [
162 case "$withval" in
163 static)
164 with_ftd2xx_lib=$withval
165 ;;
166 shared)
167 with_ftd2xx_lib=$withval
168 ;;
169 *)
170 AC_MSG_ERROR([Option: --with-ftd2xx-lib=static or --with-ftd2xx-lib=shared not, $withval])
171 ;;
172 esac
173 ],
174 [
175 # Default is static - it is simpler :-(
176 with_ftd2xx_lib=static
177 ]
178 )
179
180 AC_ARG_ENABLE(gccwarnings,
181 AS_HELP_STRING([--disable-gccwarnings], [Disable compiler warnings]),
182 [gcc_warnings=$enableval], [gcc_warnings=yes])
183
184 AC_ARG_ENABLE(wextra,
185 AS_HELP_STRING([--disable-wextra], [Disable extra compiler warnings]),
186 [gcc_wextra=$enableval], [gcc_wextra=$gcc_warnings])
187
188 AC_ARG_ENABLE(werror,
189 AS_HELP_STRING([--disable-werror], [Do not treat warnings as errors]),
190 [gcc_werror=$enableval], [gcc_werror=$gcc_warnings])
191
192 # set default verbose options, overridden by following options
193 debug_jtag_io=no
194 debug_usb_io=no
195 debug_usb_comms=no
196
197 AC_ARG_ENABLE(verbose,
198 AS_HELP_STRING([--enable-verbose],
199 [Enable verbose JTAG I/O messages (for debugging).]),
200 [
201 debug_jtag_io=$enableval
202 debug_usb_io=$enableval
203 debug_usb_comms=$enableval
204 ], [])
205
206 AC_ARG_ENABLE(verbose_jtag_io,
207 AS_HELP_STRING([--enable-verbose-jtag-io],
208 [Enable verbose JTAG I/O messages (for debugging).]),
209 [debug_jtag_io=$enableval], [])
210 AC_ARG_ENABLE(verbose_usb_io,
211 AS_HELP_STRING([--enable-verbose-usb-io],
212 [Enable verbose USB I/O messages (for debugging)]),
213 [debug_usb_io=$enableval], [])
214 AC_ARG_ENABLE(verbose_usb_comms,
215 AS_HELP_STRING([--enable-verbose-usb-comms],
216 [Enable verbose USB communication messages (for debugging)]),
217 [debug_usb_comms=$enableval], [])
218
219 AC_MSG_CHECKING([whether to enable verbose JTAB I/O messages]);
220 AC_MSG_RESULT($debug_jtag_io)
221 if test $debug_jtag_io = yes; then
222 AC_DEFINE([_DEBUG_JTAG_IO_],[1], [Print verbose JTAG I/O messages])
223 fi
224
225 AC_MSG_CHECKING([whether to enable verbose USB I/O messages]);
226 AC_MSG_RESULT($debug_usb_io)
227 if test $debug_usb_io = yes; then
228 AC_DEFINE([_DEBUG_USB_IO_],[1], [Print verbose USB I/O messages])
229 fi
230
231 AC_MSG_CHECKING([whether to enable verbose USB communication messages]);
232 AC_MSG_RESULT($debug_usb_comms)
233 if test $debug_usb_comms = yes; then
234 AC_DEFINE([_DEBUG_USB_COMMS_],[1], [Print verbose USB communication messages])
235 fi
236
237
238 AC_ARG_ENABLE(parport,
239 AS_HELP_STRING([--enable-parport], [Enable building the pc parallel port driver]),
240 [build_parport=$enableval], [build_parport=no])
241
242 AC_ARG_ENABLE(dummy,
243 AS_HELP_STRING([--enable-dummy], [Enable building the dummy port driver]),
244 [build_dummy=$enableval], [build_dummy=no])
245
246 case "${host_cpu}" in
247 i?86|x86*)
248 AC_ARG_ENABLE(parport_ppdev,
249 AS_HELP_STRING([--enable-parport_ppdev], [Enable use of ppdev (/dev/parportN) for parport]),
250 [parport_use_ppdev=$enableval], [parport_use_ppdev=no])
251 ;;
252 *)
253 parport_use_ppdev=yes
254 ;;
255 esac
256
257 AC_ARG_ENABLE(ft2232_libftdi,
258 AS_HELP_STRING([--enable-ft2232_libftdi], [Enable building support for FT2232 based devices using the libftdi driver, opensource alternate of FTD2XX]),
259 [build_ft2232_libftdi=$enableval], [build_ft2232_libftdi=no])
260
261 AC_ARG_ENABLE(ft2232_ftd2xx,
262 AS_HELP_STRING([--enable-ft2232_ftd2xx], [Enable building support for FT2232 based devices using the FTD2XX driver from ftdichip.com]),
263 [build_ft2232_ftd2xx=$enableval], [build_ft2232_ftd2xx=no])
264
265 AC_ARG_ENABLE(amtjtagaccel,
266 AS_HELP_STRING([--enable-amtjtagaccel], [Enable building the Amontec JTAG-Accelerator driver]),
267 [build_amtjtagaccel=$enableval], [build_amtjtagaccel=no])
268
269 AC_ARG_ENABLE(ecosboard,
270 AS_HELP_STRING([--enable-ecosboard], [Enable building support for eCosBoard based JTAG debugger]),
271 [build_ecosboard=$enableval], [build_ecosboard=no])
272
273 AC_ARG_ENABLE(ioutil,
274 AS_HELP_STRING([--enable-ioutil], [Enable ioutil functions - useful for standalone OpenOCD implementations]),
275 [build_ioutil=$enableval], [build_ioutil=no])
276
277 AC_ARG_ENABLE(httpd,
278 AS_HELP_STRING([--enable-httpd], [Enable builtin httpd server - useful for standalone OpenOCD implementations]),
279 [build_httpd=$enableval], [build_httpd=no])
280
281 case "${host_cpu}" in
282 arm*)
283 AC_ARG_ENABLE(ep93xx,
284 AS_HELP_STRING([--enable-ep93xx], [Enable building support for EP93xx based SBCs]),
285 [build_ep93xx=$enableval], [build_ep93xx=no])
286
287 AC_ARG_ENABLE(at91rm9200,
288 AS_HELP_STRING([--enable-at91rm9200], [Enable building support for AT91RM9200 based SBCs]),
289 [build_at91rm9200=$enableval], [build_at91rm9200=no])
290 ;;
291
292 *)
293 build_ep93xx=no
294 build_at91rm9200=no
295 ;;
296 esac
297
298 AC_ARG_ENABLE(gw16012,
299 AS_HELP_STRING([--enable-gw16012], [Enable building support for the Gateworks GW16012 JTAG Programmer]),
300 [build_gw16012=$enableval], [build_gw16012=no])
301
302 AC_ARG_ENABLE(presto_libftdi,
303 AS_HELP_STRING([--enable-presto_libftdi], [Enable building support for ASIX Presto Programmer using the libftdi driver]),
304 [build_presto_libftdi=$enableval], [build_presto_libftdi=no])
305
306 AC_ARG_ENABLE(presto_ftd2xx,
307 AS_HELP_STRING([--enable-presto_ftd2xx], [Enable building support for ASIX Presto Programmer using the FTD2XX driver]),
308 [build_presto_ftd2xx=$enableval], [build_presto_ftd2xx=no])
309
310 AC_ARG_ENABLE(usbprog,
311 AS_HELP_STRING([--enable-usbprog], [Enable building support for the usbprog JTAG Programmer]),
312 [build_usbprog=$enableval], [build_usbprog=no])
313
314 AC_ARG_ENABLE(oocd_trace,
315 AS_HELP_STRING([--enable-oocd_trace], [Enable building support for the OpenOCD+trace ETM capture device]),
316 [build_oocd_trace=$enableval], [build_oocd_trace=no])
317
318 AC_ARG_ENABLE(jlink,
319 AS_HELP_STRING([--enable-jlink], [Enable building support for the Segger J-Link JTAG Programmer]),
320 [build_jlink=$enableval], [build_jlink=no])
321
322 AC_ARG_ENABLE(vsllink,
323 AS_HELP_STRING([--enable-vsllink], [Enable building support for the Versaloon-Link JTAG Programmer]),
324 [build_vsllink=$enableval], [build_vsllink=no])
325
326 AC_ARG_ENABLE(rlink,
327 AS_HELP_STRING([--enable-rlink], [Enable building support for the Raisonance RLink JTAG Programmer]),
328 [build_rlink=$enableval], [build_rlink=no])
329
330 AC_ARG_ENABLE(arm-jtag-ew,
331 AS_HELP_STRING([--enable-arm-jtag-ew], [Enable building support for the Olimex ARM-JTAG-EW Programmer]),
332 [build_armjtagew=$enableval], [build_armjtagew=no])
333
334 case $host in
335 *-cygwin*)
336 is_win32=yes
337
338 AC_ARG_ENABLE(parport_giveio,
339 AS_HELP_STRING([--enable-parport_giveio], [Enable use of giveio for parport instead of ioperm]),
340 [parport_use_giveio=$enableval], [parport_use_giveio=no])
341
342 AC_COMPILE_IFELSE(AC_LANG_PROGRAM([],[return __MINGW32__;]),[is_mingw=yes],[is_mingw=no])
343 if test $is_mingw = yes; then
344 AC_DEFINE(IS_MINGW, 1, [1 if building for MinGW.])
345 parport_use_giveio=yes
346 is_cygwin=no
347 else
348 is_cygwin=yes
349 AC_DEFINE(IS_CYGWIN, 1, [1 if building for Cygwin.])
350 fi
351
352 AC_DEFINE(IS_WIN32, 1, [1 if building for Win32.])
353 ;;
354 *-mingw*)
355 is_mingw=yes
356 is_win32=yes
357
358 parport_use_giveio=yes
359
360 AC_DEFINE(IS_MINGW, 1, [1 if building for MinGW.])
361 AC_DEFINE(IS_WIN32, 1, [1 if building for Win32.])
362 ;;
363 *)
364 parport_use_giveio=no
365 AC_DEFINE(IS_CYGWIN, 0, [0 if not building for Cygwin.])
366 AC_DEFINE(IS_WIN32, 0, [0 if not building for Win32.])
367 ;;
368 esac
369
370 if test $build_parport = yes; then
371 build_bitbang=yes
372 AC_DEFINE(BUILD_PARPORT, 1, [1 if you want parport.])
373 else
374 AC_DEFINE(BUILD_PARPORT, 0, [0 if you don't want parport.])
375 fi
376
377 if test $build_dummy = yes; then
378 build_bitbang=yes
379 AC_DEFINE(BUILD_DUMMY, 1, [1 if you want dummy driver.])
380 else
381 AC_DEFINE(BUILD_DUMMY, 0, [0 if you don't want dummy driver.])
382 fi
383
384 if test $build_ep93xx = yes; then
385 build_bitbang=yes
386 AC_DEFINE(BUILD_EP93XX, 1, [1 if you want ep93xx.])
387 else
388 AC_DEFINE(BUILD_EP93XX, 0, [0 if you don't want ep93xx.])
389 fi
390
391 if test $build_ecosboard = yes; then
392 build_bitbang=yes
393 AC_DEFINE(BUILD_ECOSBOARD, 1, [1 if you want eCosBoard.])
394 else
395 AC_DEFINE(BUILD_ECOSBOARD, 0, [0 if you don't want eCosBoard.])
396 fi
397
398 if test $build_ioutil = yes; then
399 AC_DEFINE(BUILD_IOUTIL, 1, [1 if you want ioutils.])
400 else
401 AC_DEFINE(BUILD_IOUTIL, 0, [0 if you don't want ioutils.])
402 fi
403
404 if test $build_httpd = yes; then
405 AC_DEFINE(BUILD_HTTPD, 1, [1 if you want httpd.])
406 else
407 AC_DEFINE(BUILD_HTTPD, 0, [0 if you don't want httpd.])
408 fi
409
410 if test $build_at91rm9200 = yes; then
411 build_bitbang=yes
412 AC_DEFINE(BUILD_AT91RM9200, 1, [1 if you want at91rm9200.])
413 else
414 AC_DEFINE(BUILD_AT91RM9200, 0, [0 if you don't want at91rm9200.])
415 fi
416
417 if test $parport_use_ppdev = yes; then
418 AC_DEFINE(PARPORT_USE_PPDEV, 1, [1 if you want parport to use ppdev.])
419 else
420 AC_DEFINE(PARPORT_USE_PPDEV, 0, [0 if you don't want parport to use ppdev.])
421 fi
422
423 if test $parport_use_giveio = yes; then
424 AC_DEFINE(PARPORT_USE_GIVEIO, 1, [1 if you want parport to use giveio.])
425 else
426 AC_DEFINE(PARPORT_USE_GIVEIO, 0, [0 if you don't want parport to use giveio.])
427 fi
428
429 if test $build_bitbang = yes; then
430 AC_DEFINE(BUILD_BITBANG, 1, [1 if you want a bitbang interface.])
431 else
432 AC_DEFINE(BUILD_BITBANG, 0, [0 if you don't want a bitbang interface.])
433 fi
434
435 if test $build_ft2232_libftdi = yes; then
436 AC_DEFINE(BUILD_FT2232_LIBFTDI, 1, [1 if you want libftdi ft2232.])
437 else
438 AC_DEFINE(BUILD_FT2232_LIBFTDI, 0, [0 if you don't want libftdi ft2232.])
439 fi
440
441 if test $build_ft2232_ftd2xx = yes; then
442 AC_DEFINE(BUILD_FT2232_FTD2XX, 1, [1 if you want ftd2xx ft2232.])
443 else
444 AC_DEFINE(BUILD_FT2232_FTD2XX, 0, [0 if you don't want ftd2xx ft2232.])
445 fi
446
447 if test $build_amtjtagaccel = yes; then
448 AC_DEFINE(BUILD_AMTJTAGACCEL, 1, [1 if you want the Amontec JTAG-Accelerator driver.])
449 else
450 AC_DEFINE(BUILD_AMTJTAGACCEL, 0, [0 if you don't want the Amontec JTAG-Accelerator driver.])
451 fi
452
453 if test $build_gw16012 = yes; then
454 AC_DEFINE(BUILD_GW16012, 1, [1 if you want the Gateworks GW16012 driver.])
455 else
456 AC_DEFINE(BUILD_GW16012, 0, [0 if you don't want the Gateworks GW16012 driver.])
457 fi
458
459 if test $build_presto_libftdi = yes; then
460 build_bitq=yes
461 AC_DEFINE(BUILD_PRESTO_LIBFTDI, 1, [1 if you want the ASIX PRESTO driver using libftdi.])
462 else
463 AC_DEFINE(BUILD_PRESTO_LIBFTDI, 0, [0 if you don't want the ASIX PRESTO driver using libftdi.])
464 fi
465
466 if test $build_presto_ftd2xx = yes; then
467 build_bitq=yes
468 AC_DEFINE(BUILD_PRESTO_FTD2XX, 1, [1 if you want the ASIX PRESTO driver using FTD2XX.])
469 else
470 AC_DEFINE(BUILD_PRESTO_FTD2XX, 0, [0 if you don't want the ASIX PRESTO driver using FTD2XX.])
471 fi
472
473 if test $build_bitq = yes; then
474 AC_DEFINE(BUILD_BITQ, 1, [1 if you want a bitq interface.])
475 else
476 AC_DEFINE(BUILD_BITQ, 0, [0 if you don't want a bitq interface.])
477 fi
478
479 if test $build_usbprog = yes; then
480 AC_DEFINE(BUILD_USBPROG, 1, [1 if you want the usbprog JTAG driver.])
481 else
482 AC_DEFINE(BUILD_USBPROG, 0, [0 if you don't want the usbprog JTAG driver.])
483 fi
484
485 if test $build_oocd_trace = yes; then
486 AC_DEFINE(BUILD_OOCD_TRACE, 1, [1 if you want the OpenOCD+trace ETM capture driver.])
487 else
488 AC_DEFINE(BUILD_OOCD_TRACE, 0, [0 if you don't want the OpenOCD+trace ETM capture driver.])
489 fi
490
491 if test $build_jlink = yes; then
492 AC_DEFINE(BUILD_JLINK, 1, [1 if you want the J-Link JTAG driver.])
493 else
494 AC_DEFINE(BUILD_JLINK, 0, [0 if you don't want the J-Link JTAG driver.])
495 fi
496
497 if test $build_vsllink = yes; then
498 AC_DEFINE(BUILD_VSLLINK, 1, [1 if you want the Versaloon-Link JTAG driver.])
499 else
500 AC_DEFINE(BUILD_VSLLINK, 0, [0 if you don't want the Versaloon-Link JTAG driver.])
501 fi
502
503 if test $build_rlink = yes; then
504 AC_DEFINE(BUILD_RLINK, 1, [1 if you want the RLink JTAG driver.])
505 else
506 AC_DEFINE(BUILD_RLINK, 0, [0 if you don't want the RLink JTAG driver.])
507 fi
508
509 if test $build_armjtagew = yes; then
510 AC_DEFINE(BUILD_ARMJTAGEW, 1, [1 if you want the ARM-JTAG-EW JTAG driver.])
511 else
512 AC_DEFINE(BUILD_ARMJTAGEW, 0, [0 if you don't want the ARM-JTAG-EW JTAG driver.])
513 fi
514
515 #-- Deal with MingW/Cygwin FTD2XX issues
516
517 if test $is_win32 = yes; then
518 if test "${with_ftd2xx_linux_tardir+set}" = set
519 then
520 AC_MSG_ERROR([The option: with_ftd2xx_linux_tardir is for LINUX only.])
521 fi
522
523 if test $build_ft2232_ftd2xx = yes ; then
524 AC_MSG_CHECKING([for ftd2xx.lib exists (win32)])
525
526 # if we are given a zipdir...
527 if test "${with_ftd2xx_win32_zipdir+set}" = set
528 then
529 # Set the CFLAGS for "ftd2xx.h"
530 f=$with_ftd2xx_win32_zipdir/ftd2xx.h
531 if test ! -f $f ; then
532 AC_MSG_ERROR([File: $f cannot be found])
533 fi
534 CFLAGS="$CFLAGS -I$with_ftd2xx_win32_zipdir"
535
536 # And calculate the LDFLAGS for the machine
537 case "$host_cpu" in
538 i?86|x86_*)
539 LDFLAGS="$LDFLAGS -L$with_ftd2xx_win32_zipdir/i386"
540 LIBS="$LIBS -lftd2xx"
541 f=$with_ftd2xx_win32_zipdir/i386/ftd2xx.lib
542 ;;
543 amd64)
544 LDFLAGS="$LDFLAGS -L$with_ftd2xx_win32_zipdir/amd64"
545 LIBS="$LIBS -lftd2xx"
546 f=$with_ftd2xx_win32_zipdir/amd64/ftd2xx.lib
547 ;;
548 *)
549 AC_MSG_ERROR([Unknown Win32 host cpu: $host_cpu])
550 ;;
551 esac
552 if test ! -f $f ; then
553 AC_MSG_ERROR([Library: $f not found])
554 fi
555 else
556 LIBS="$LIBS -lftd2xx"
557 AC_MSG_WARN([ASSUMPTION: The (win32) FTDICHIP.COM files: ftd2xx.h and ftd2xx.lib are in a proper place])
558 fi
559 fi
560 fi
561
562 if test $is_win32 = no; then
563
564 if test "${with_ftd2xx_win32_zipdir+set}" = set
565 then
566 AC_MSG_ERROR([The option: --with-ftd2xx-win32-zipdir is for win32 only])
567 fi
568
569 if test $build_ft2232_ftd2xx = yes ; then
570 # Must be linux -
571 # Cause FTDICHIP does not supply a MAC-OS version
572 if test $host_os != linux-gnu && test $host_os != linux ; then
573 AC_MSG_ERROR([The (linux) ftd2xx library from FTDICHIP.com is linux only. Try --enable-ft2232-libftdi instead])
574 fi
575 # Are we given a TAR directory?
576 if test "${with_ftd2xx_linux_tardir+set}" = set
577 then
578 AC_MSG_CHECKING([uninstalled ftd2xx distribution])
579 # The .H file is simple..
580 FTD2XX_H=$with_ftd2xx_linux_tardir/ftd2xx.h
581 if test ! -f "${FTD2XX_H}"; then
582 AC_MSG_ERROR([Option: --with-ftd2xx-linux-tardir appears wrong, cannot find: ${FTD2XX_H}])
583 fi
584 CFLAGS="$CFLAGS -I$with_ftd2xx_linux_tardir"
585 FTD2XX_LDFLAGS="-L$with_ftd2xx_linux_tardir"
586 FTD2XX_LIB="-lftd2xx"
587 if test $with_ftd2xx_lib != shared; then
588 # Test #1 - Future proof - if/when ftdichip fixes their distro.
589 # Try it with the simple ".a" suffix.
590 FTD2XX_LIB="$with_ftd2xx_linux_tardir/static_lib/libftd2xx.a"
591 if test -f "${FTD2XX_LIB}"; then
592 FTD2XX_LDFLAGS="${FTD2XX_LDFLAGS}/static_lib"
593 else
594 # Test Number2.
595 # Grr.. perhaps it exists as a version number?
596 FTD2XX_LIB="$with_ftd2xx_linux_tardir/static_lib/libftd2xx.a.*.*.*"
597 count=`ls ${FTD2XX_LIB} | wc -l`
598 if test $count -gt 1 ; then
599 AC_MSG_ERROR([Multiple libftd2xx.a files found in: $with_ftd2xx_linux_tardir/static_lib sorry cannot handle this yet])
600 fi
601 if test $count -ne 1 ; then
602 AC_MSG_ERROR([Not found: $f, option: --with-ftd2xx-linux-tardir appears to be wrong])
603 fi
604 # Because the "-l" rules do not understand version numbers...
605 # we will just stuff the absolute path onto the LIBS variable
606 FTD2XX_LIB="`ls ${FTD2XX_LIB}` -lpthread"
607 FTD2XX_LDFLAGS=""
608 fi
609 fi
610 LDFLAGS="${LDFLAGS} ${FTD2XX_LDFLAGS}"
611 LIBS="${LIBS} ${FTD2XX_LIB}"
612 AC_MSG_RESULT([${FTD2XX_LDFLAGS} ${FTD2XX_LIB}])
613 else
614 AC_CHECK_HEADER([ftd2xx.h],[],[
615 AC_MSG_ERROR([You seem to be missing the FTD2xx driver header file.])
616 ])
617 AC_SEARCH_LIBS([FT_GetLibraryVersion],[ftd2xx],,[
618 AC_MSG_ERROR([You appear to be missing the FTD2xx driver library.])
619 ],[])
620 fi
621 fi
622 fi
623
624 if test $build_ft2232_ftd2xx = yes; then
625
626 # Before we go any further - make sure we can *BUILD* and *RUN*
627 # a simple app with the "ftd2xx.lib" file - in what ever form we where given
628 # We should be able to compile, link and run this test program now
629 AC_MSG_CHECKING([whether ftd2xx library works])
630
631 #
632 # Save the LDFLAGS for later..
633 LDFLAGS_SAVE=$LDFLAGS
634 CFLAGS_SAVE=$CFLAGS
635 _LDFLAGS=`eval echo $LDFLAGS`
636 _CFLAGS=`eval echo $CFLAGS`
637 LDFLAGS=$_LDFLAGS
638 CFLAGS=$_CFLAGS
639 AC_RUN_IFELSE(
640 [
641 #include "confdefs.h"
642 #if IS_WIN32
643 #include "windows.h"
644 #endif
645 #include <stdio.h>
646 #include <ftd2xx.h>
647
648 int
649 main( int argc, char **argv )
650 {
651 DWORD x;
652 FT_GetLibraryVersion( &x );
653 return 0;
654 }
655 ], [ AC_MSG_RESULT([Success!])] , [ AC_MSG_ERROR([Cannot build & run test program using ftd2xx.lib]) ] )
656 LDFLAGS=$LDFLAGS_SAVE
657 CFLAGS=$CFLAGS_SAVE
658 fi
659
660 if test $build_ft2232_libftdi = yes ; then
661 # We assume: the package is preinstalled in the proper place
662 # these present as 2 libraries..
663 LIBS="$LIBS -lftdi -lusb"
664 #
665 # Try to build a small program.
666 AC_MSG_CHECKING([Build & Link with libftdi...])
667
668 LDFLAGS_SAVE=$LDFLAGS
669 CFLAGS_SAVE=$CFLAGS
670 _LDFLAGS=`eval echo $LDFLAGS`
671 _CFLAGS=`eval echo $CFLAGS`
672 LDFLAGS=$_LDFLAGS
673 CFLAGS=$_CFLAGS
674
675 AC_RUN_IFELSE(
676 [
677 #include <stdio.h>
678 #include <ftdi.h>
679
680 int
681 main( int argc, char **argv )
682 {
683 struct ftdi_context *p;
684 p = ftdi_new();
685 if( p != NULL ){
686 return 0;
687 } else {
688 fprintf( stderr, "calling ftdi_new() failed\n");
689 return 1;
690 }
691 }
692 ]
693 ,
694 [ AC_MSG_RESULT([Success]) ]
695 ,
696 [ AC_MSG_ERROR([Cannot build & run test program using libftdi]) ] )
697 # Restore the 'unexpanded ldflags'
698 LDFLAGS=$LDFLAGS_SAVE
699 CFLAGS=$CFLAGS_SAVE
700 fi
701
702 AM_CONFIG_HEADER(config.h)
703 AM_INIT_AUTOMAKE(openocd, 1.0)
704 AM_MAINTAINER_MODE
705
706 AM_CONDITIONAL(RELEASE, test $build_release = yes)
707 AM_CONDITIONAL(PARPORT, test $build_parport = yes)
708 AM_CONDITIONAL(DUMMY, test $build_dummy = yes)
709 AM_CONDITIONAL(GIVEIO, test $parport_use_giveio = yes)
710 AM_CONDITIONAL(EP93XX, test $build_ep93xx = yes)
711 AM_CONDITIONAL(ECOSBOARD, test $build_ecosboard = yes)
712 AM_CONDITIONAL(IOUTIL, test $build_ioutil = yes)
713 AM_CONDITIONAL(HTTPD, test $build_httpd = yes)
714 AM_CONDITIONAL(AT91RM9200, test $build_at91rm9200 = yes)
715 AM_CONDITIONAL(BITBANG, test $build_bitbang = yes)
716 AM_CONDITIONAL(FT2232_LIBFTDI, test $build_ft2232_libftdi = yes)
717 AM_CONDITIONAL(FT2232_FTD2XX, test $build_ft2232_ftd2xx = yes)
718 AM_CONDITIONAL(AMTJTAGACCEL, test $build_amtjtagaccel = yes)
719 AM_CONDITIONAL(GW16012, test $build_gw16012 = yes)
720 AM_CONDITIONAL(PRESTO_LIBFTDI, test $build_presto_libftdi = yes)
721 AM_CONDITIONAL(PRESTO_FTD2XX, test $build_presto_ftd2xx = yes)
722 AM_CONDITIONAL(USBPROG, test $build_usbprog = yes)
723 AM_CONDITIONAL(OOCD_TRACE, test $build_oocd_trace = yes)
724 AM_CONDITIONAL(JLINK, test $build_jlink = yes)
725 AM_CONDITIONAL(VSLLINK, test $build_vsllink = yes)
726 AM_CONDITIONAL(RLINK, test $build_rlink = yes)
727 AM_CONDITIONAL(ARMJTAGEW, test $build_armjtagew = yes)
728 AM_CONDITIONAL(IS_CYGWIN, test $is_cygwin = yes)
729 AM_CONDITIONAL(IS_MINGW, test $is_mingw = yes)
730 AM_CONDITIONAL(IS_WIN32, test $is_win32 = yes)
731 AM_CONDITIONAL(BITQ, test $build_bitq = yes)
732
733 AC_LANG_C
734 AC_PROG_CC
735 AC_PROG_RANLIB
736
737 # set default gcc warnings
738 GCC_WARNINGS="-Wall -Wstrict-prototypes -Wformat-security"
739 if test "${gcc_wextra}" = yes; then
740 GCC_WARNINGS="${GCC_WARNINGS} -Wextra -Wno-unused-parameter"
741 fi
742 if test "${gcc_werror}" = yes; then
743 GCC_WARNINGS="${GCC_WARNINGS} -Werror"
744 fi
745
746 # overide default gcc cflags
747 if test $gcc_warnings = yes; then
748 CFLAGS="$CFLAGS $GCC_WARNINGS"
749 fi
750
751 # Setup for compiling build tools
752 AC_MSG_CHECKING([for a C compiler for build tools])
753 if test $cross_compiling = yes; then
754 AC_CHECK_PROGS(CC_FOR_BUILD, gcc cc)
755 CFLAGS_FOR_BUILD="-g -O2 $GCC_WARNINGS"
756 else
757 CC_FOR_BUILD=$CC
758 CFLAGS_FOR_BUILD=$CFLAGS
759 fi
760
761 AC_MSG_RESULT([$CC_FOR_BUILD])
762 AC_SUBST(CC_FOR_BUILD)
763 AC_SUBST(CFLAGS_FOR_BUILD)
764
765 AC_MSG_CHECKING([for suffix of executable build tools])
766 if test $cross_compiling = yes; then
767 cat >conftest.c <<\_______EOF
768 int main ()
769 {
770 exit (0);
771 }
772 _______EOF
773 for i in .exe ""; do
774 compile="$CC_FOR_BUILD conftest.c -o conftest$i"
775 if AC_TRY_EVAL(compile); then
776 if (./conftest) 2>&AC_FD_CC; then
777 EXEEXT_FOR_BUILD=$i
778 break
779 fi
780 fi
781 done
782 rm -f conftest*
783 if test "${EXEEXT_FOR_BUILD+set}" != set; then
784 AC_MSG_ERROR([Cannot determine suffix of executable build tools])
785 fi
786 else
787 EXEEXT_FOR_BUILD=$EXEEXT
788 fi
789 AC_MSG_RESULT([$EXEEXT_FOR_BUILD])
790 AC_SUBST(EXEEXT_FOR_BUILD)
791
792 AC_OUTPUT(Makefile src/Makefile src/helper/Makefile src/jtag/Makefile src/xsvf/Makefile src/svf/Makefile src/target/Makefile src/server/Makefile src/flash/Makefile src/pld/Makefile doc/Makefile)

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)