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