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