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