Zach Welch <zw@superlucidity.net> treat warnings as errors
[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
193 AC_ARG_ENABLE(parport,
194 AS_HELP_STRING([--enable-parport], [Enable building the pc parallel port driver]),
195 [build_parport=$enableval], [build_parport=no])
196
197 AC_ARG_ENABLE(dummy,
198 AS_HELP_STRING([--enable-dummy], [Enable building the dummy port driver]),
199 [build_dummy=$enableval], [build_dummy=no])
200
201 case "${host_cpu}" in
202 i?86|x86*)
203 AC_ARG_ENABLE(parport_ppdev,
204 AS_HELP_STRING([--enable-parport_ppdev], [Enable use of ppdev (/dev/parportN) for parport]),
205 [parport_use_ppdev=$enableval], [parport_use_ppdev=no])
206 ;;
207 *)
208 parport_use_ppdev=yes
209 ;;
210 esac
211
212 AC_ARG_ENABLE(ft2232_libftdi,
213 AS_HELP_STRING([--enable-ft2232_libftdi], [Enable building support for FT2232 based devices using the libftdi driver, opensource alternate of FTD2XX]),
214 [build_ft2232_libftdi=$enableval], [build_ft2232_libftdi=no])
215
216 AC_ARG_ENABLE(ft2232_ftd2xx,
217 AS_HELP_STRING([--enable-ft2232_ftd2xx], [Enable building support for FT2232 based devices using the FTD2XX driver from ftdichip.com]),
218 [build_ft2232_ftd2xx=$enableval], [build_ft2232_ftd2xx=no])
219
220 AC_ARG_ENABLE(amtjtagaccel,
221 AS_HELP_STRING([--enable-amtjtagaccel], [Enable building the Amontec JTAG-Accelerator driver]),
222 [build_amtjtagaccel=$enableval], [build_amtjtagaccel=no])
223
224 AC_ARG_ENABLE(ecosboard,
225 AS_HELP_STRING([--enable-ecosboard], [Enable building support for eCosBoard based JTAG debugger]),
226 [build_ecosboard=$enableval], [build_ecosboard=no])
227
228 AC_ARG_ENABLE(ioutil,
229 AS_HELP_STRING([--enable-ioutil], [Enable ioutil functions - useful for standalone OpenOCD implementations]),
230 [build_ioutil=$enableval], [build_ioutil=no])
231
232 AC_ARG_ENABLE(httpd,
233 AS_HELP_STRING([--enable-httpd], [Enable builtin httpd server - useful for standalone OpenOCD implementations]),
234 [build_httpd=$enableval], [build_httpd=no])
235
236 case "${host_cpu}" in
237 arm*)
238 AC_ARG_ENABLE(ep93xx,
239 AS_HELP_STRING([--enable-ep93xx], [Enable building support for EP93xx based SBCs]),
240 [build_ep93xx=$enableval], [build_ep93xx=no])
241
242 AC_ARG_ENABLE(at91rm9200,
243 AS_HELP_STRING([--enable-at91rm9200], [Enable building support for AT91RM9200 based SBCs]),
244 [build_at91rm9200=$enableval], [build_at91rm9200=no])
245 ;;
246
247 *)
248 build_ep93xx=no
249 build_at91rm9200=no
250 ;;
251 esac
252
253 AC_ARG_ENABLE(gw16012,
254 AS_HELP_STRING([--enable-gw16012], [Enable building support for the Gateworks GW16012 JTAG Programmer]),
255 [build_gw16012=$enableval], [build_gw16012=no])
256
257 AC_ARG_ENABLE(presto_libftdi,
258 AS_HELP_STRING([--enable-presto_libftdi], [Enable building support for ASIX Presto Programmer using the libftdi driver]),
259 [build_presto_libftdi=$enableval], [build_presto_libftdi=no])
260
261 AC_ARG_ENABLE(presto_ftd2xx,
262 AS_HELP_STRING([--enable-presto_ftd2xx], [Enable building support for ASIX Presto Programmer using the FTD2XX driver]),
263 [build_presto_ftd2xx=$enableval], [build_presto_ftd2xx=no])
264
265 AC_ARG_ENABLE(usbprog,
266 AS_HELP_STRING([--enable-usbprog], [Enable building support for the usbprog JTAG Programmer]),
267 [build_usbprog=$enableval], [build_usbprog=no])
268
269 AC_ARG_ENABLE(oocd_trace,
270 AS_HELP_STRING([--enable-oocd_trace], [Enable building support for the OpenOCD+trace ETM capture device]),
271 [build_oocd_trace=$enableval], [build_oocd_trace=no])
272
273 AC_ARG_ENABLE(jlink,
274 AS_HELP_STRING([--enable-jlink], [Enable building support for the Segger J-Link JTAG Programmer]),
275 [build_jlink=$enableval], [build_jlink=no])
276
277 AC_ARG_ENABLE(vsllink,
278 AS_HELP_STRING([--enable-vsllink], [Enable building support for the Versaloon-Link JTAG Programmer]),
279 [build_vsllink=$enableval], [build_vsllink=no])
280
281 AC_ARG_ENABLE(rlink,
282 AS_HELP_STRING([--enable-rlink], [Enable building support for the Raisonance RLink JTAG Programmer]),
283 [build_rlink=$enableval], [build_rlink=no])
284
285 AC_ARG_ENABLE(arm-jtag-ew,
286 AS_HELP_STRING([--enable-arm-jtag-ew], [Enable building support for the Olimex ARM-JTAG-EW Programmer]),
287 [build_armjtagew=$enableval], [build_armjtagew=no])
288
289 case $host in
290 *-cygwin*)
291 is_win32=yes
292
293 AC_ARG_ENABLE(parport_giveio,
294 AS_HELP_STRING([--enable-parport_giveio], [Enable use of giveio for parport instead of ioperm]),
295 [parport_use_giveio=$enableval], [parport_use_giveio=no])
296
297 AC_COMPILE_IFELSE(AC_LANG_PROGRAM([],[return __MINGW32__;]),[is_mingw=yes],[is_mingw=no])
298 if test $is_mingw = yes; then
299 AC_DEFINE(IS_MINGW, 1, [1 if building for MinGW.])
300 parport_use_giveio=yes
301 is_cygwin=no
302 else
303 is_cygwin=yes
304 AC_DEFINE(IS_CYGWIN, 1, [1 if building for Cygwin.])
305 fi
306
307 AC_DEFINE(IS_WIN32, 1, [1 if building for Win32.])
308 ;;
309 *-mingw*)
310 is_mingw=yes
311 is_win32=yes
312
313 parport_use_giveio=yes
314
315 AC_DEFINE(IS_MINGW, 1, [1 if building for MinGW.])
316 AC_DEFINE(IS_WIN32, 1, [1 if building for Win32.])
317 ;;
318 *)
319 parport_use_giveio=no
320 AC_DEFINE(IS_CYGWIN, 0, [0 if not building for Cygwin.])
321 AC_DEFINE(IS_WIN32, 0, [0 if not building for Win32.])
322 ;;
323 esac
324
325 if test $build_parport = yes; then
326 build_bitbang=yes
327 AC_DEFINE(BUILD_PARPORT, 1, [1 if you want parport.])
328 else
329 AC_DEFINE(BUILD_PARPORT, 0, [0 if you don't want parport.])
330 fi
331
332 if test $build_dummy = yes; then
333 build_bitbang=yes
334 AC_DEFINE(BUILD_DUMMY, 1, [1 if you want dummy driver.])
335 else
336 AC_DEFINE(BUILD_DUMMY, 0, [0 if you don't want dummy driver.])
337 fi
338
339 if test $build_ep93xx = yes; then
340 build_bitbang=yes
341 AC_DEFINE(BUILD_EP93XX, 1, [1 if you want ep93xx.])
342 else
343 AC_DEFINE(BUILD_EP93XX, 0, [0 if you don't want ep93xx.])
344 fi
345
346 if test $build_ecosboard = yes; then
347 build_bitbang=yes
348 AC_DEFINE(BUILD_ECOSBOARD, 1, [1 if you want eCosBoard.])
349 else
350 AC_DEFINE(BUILD_ECOSBOARD, 0, [0 if you don't want eCosBoard.])
351 fi
352
353 if test $build_ioutil = yes; then
354 AC_DEFINE(BUILD_IOUTIL, 1, [1 if you want ioutils.])
355 else
356 AC_DEFINE(BUILD_IOUTIL, 0, [0 if you don't want ioutils.])
357 fi
358
359 if test $build_httpd = yes; then
360 AC_DEFINE(BUILD_HTTPD, 1, [1 if you want httpd.])
361 else
362 AC_DEFINE(BUILD_HTTPD, 0, [0 if you don't want httpd.])
363 fi
364
365 if test $build_at91rm9200 = yes; then
366 build_bitbang=yes
367 AC_DEFINE(BUILD_AT91RM9200, 1, [1 if you want at91rm9200.])
368 else
369 AC_DEFINE(BUILD_AT91RM9200, 0, [0 if you don't want at91rm9200.])
370 fi
371
372 if test $parport_use_ppdev = yes; then
373 AC_DEFINE(PARPORT_USE_PPDEV, 1, [1 if you want parport to use ppdev.])
374 else
375 AC_DEFINE(PARPORT_USE_PPDEV, 0, [0 if you don't want parport to use ppdev.])
376 fi
377
378 if test $parport_use_giveio = yes; then
379 AC_DEFINE(PARPORT_USE_GIVEIO, 1, [1 if you want parport to use giveio.])
380 else
381 AC_DEFINE(PARPORT_USE_GIVEIO, 0, [0 if you don't want parport to use giveio.])
382 fi
383
384 if test $build_bitbang = yes; then
385 AC_DEFINE(BUILD_BITBANG, 1, [1 if you want a bitbang interface.])
386 else
387 AC_DEFINE(BUILD_BITBANG, 0, [0 if you don't want a bitbang interface.])
388 fi
389
390 if test $build_ft2232_libftdi = yes; then
391 AC_DEFINE(BUILD_FT2232_LIBFTDI, 1, [1 if you want libftdi ft2232.])
392 else
393 AC_DEFINE(BUILD_FT2232_LIBFTDI, 0, [0 if you don't want libftdi ft2232.])
394 fi
395
396 if test $build_ft2232_ftd2xx = yes; then
397 AC_DEFINE(BUILD_FT2232_FTD2XX, 1, [1 if you want ftd2xx ft2232.])
398 else
399 AC_DEFINE(BUILD_FT2232_FTD2XX, 0, [0 if you don't want ftd2xx ft2232.])
400 fi
401
402 if test $build_amtjtagaccel = yes; then
403 AC_DEFINE(BUILD_AMTJTAGACCEL, 1, [1 if you want the Amontec JTAG-Accelerator driver.])
404 else
405 AC_DEFINE(BUILD_AMTJTAGACCEL, 0, [0 if you don't want the Amontec JTAG-Accelerator driver.])
406 fi
407
408 if test $build_gw16012 = yes; then
409 AC_DEFINE(BUILD_GW16012, 1, [1 if you want the Gateworks GW16012 driver.])
410 else
411 AC_DEFINE(BUILD_GW16012, 0, [0 if you don't want the Gateworks GW16012 driver.])
412 fi
413
414 if test $build_presto_libftdi = yes; then
415 build_bitq=yes
416 AC_DEFINE(BUILD_PRESTO_LIBFTDI, 1, [1 if you want the ASIX PRESTO driver using libftdi.])
417 else
418 AC_DEFINE(BUILD_PRESTO_LIBFTDI, 0, [0 if you don't want the ASIX PRESTO driver using libftdi.])
419 fi
420
421 if test $build_presto_ftd2xx = yes; then
422 build_bitq=yes
423 AC_DEFINE(BUILD_PRESTO_FTD2XX, 1, [1 if you want the ASIX PRESTO driver using FTD2XX.])
424 else
425 AC_DEFINE(BUILD_PRESTO_FTD2XX, 0, [0 if you don't want the ASIX PRESTO driver using FTD2XX.])
426 fi
427
428 if test $build_bitq = yes; then
429 AC_DEFINE(BUILD_BITQ, 1, [1 if you want a bitq interface.])
430 else
431 AC_DEFINE(BUILD_BITQ, 0, [0 if you don't want a bitq interface.])
432 fi
433
434 if test $build_usbprog = yes; then
435 AC_DEFINE(BUILD_USBPROG, 1, [1 if you want the usbprog JTAG driver.])
436 else
437 AC_DEFINE(BUILD_USBPROG, 0, [0 if you don't want the usbprog JTAG driver.])
438 fi
439
440 if test $build_oocd_trace = yes; then
441 AC_DEFINE(BUILD_OOCD_TRACE, 1, [1 if you want the OpenOCD+trace ETM capture driver.])
442 else
443 AC_DEFINE(BUILD_OOCD_TRACE, 0, [0 if you don't want the OpenOCD+trace ETM capture driver.])
444 fi
445
446 if test $build_jlink = yes; then
447 AC_DEFINE(BUILD_JLINK, 1, [1 if you want the J-Link JTAG driver.])
448 else
449 AC_DEFINE(BUILD_JLINK, 0, [0 if you don't want the J-Link JTAG driver.])
450 fi
451
452 if test $build_vsllink = yes; then
453 AC_DEFINE(BUILD_VSLLINK, 1, [1 if you want the Versaloon-Link JTAG driver.])
454 else
455 AC_DEFINE(BUILD_VSLLINK, 0, [0 if you don't want the Versaloon-Link JTAG driver.])
456 fi
457
458 if test $build_rlink = yes; then
459 AC_DEFINE(BUILD_RLINK, 1, [1 if you want the RLink JTAG driver.])
460 else
461 AC_DEFINE(BUILD_RLINK, 0, [0 if you don't want the RLink JTAG driver.])
462 fi
463
464 if test $build_armjtagew = yes; then
465 AC_DEFINE(BUILD_ARMJTAGEW, 1, [1 if you want the ARM-JTAG-EW JTAG driver.])
466 else
467 AC_DEFINE(BUILD_ARMJTAGEW, 0, [0 if you don't want the ARM-JTAG-EW JTAG driver.])
468 fi
469
470 #-- Deal with MingW/Cygwin FTD2XX issues
471
472 if test $is_win32 = yes; then
473 if test "${with_ftd2xx_linux_tardir+set}" = set
474 then
475 AC_MSG_ERROR([The option: with_ftd2xx_linux_tardir is for LINUX only.])
476 fi
477
478 if test $build_ft2232_ftd2xx = yes ; then
479 AC_MSG_CHECKING([for ftd2xx.lib exists (win32)])
480
481 # if we are given a zipdir...
482 if test "${with_ftd2xx_win32_zipdir+set}" = set
483 then
484 # Set the CFLAGS for "ftd2xx.h"
485 f=$with_ftd2xx_win32_zipdir/ftd2xx.h
486 if test ! -f $f ; then
487 AC_MSG_ERROR([File: $f cannot be found])
488 fi
489 CFLAGS="$CFLAGS -I$with_ftd2xx_win32_zipdir"
490
491 # And calculate the LDFLAGS for the machine
492 case "$host_cpu" in
493 i?86|x86_*)
494 LDFLAGS="$LDFLAGS -L$with_ftd2xx_win32_zipdir/i386"
495 LIBS="$LIBS -lftd2xx"
496 f=$with_ftd2xx_win32_zipdir/i386/ftd2xx.lib
497 ;;
498 amd64)
499 LDFLAGS="$LDFLAGS -L$with_ftd2xx_win32_zipdir/amd64"
500 LIBS="$LIBS -lftd2xx"
501 f=$with_ftd2xx_win32_zipdir/amd64/ftd2xx.lib
502 ;;
503 *)
504 AC_MSG_ERROR([Unknown Win32 host cpu: $host_cpu])
505 ;;
506 esac
507 if test ! -f $f ; then
508 AC_MSG_ERROR([Library: $f not found])
509 fi
510 else
511 LIBS="$LIBS -lftd2xx"
512 AC_MSG_WARN([ASSUMPTION: The (win32) FTDICHIP.COM files: ftd2xx.h and ftd2xx.lib are in a proper place])
513 fi
514 fi
515 fi
516
517 if test $is_win32 = no; then
518
519 if test "${with_ftd2xx_win32_zipdir+set}" = set
520 then
521 AC_MSG_ERROR([The option: --with-ftd2xx-win32-zipdir is for win32 only])
522 fi
523
524 if test $build_ft2232_ftd2xx = yes ; then
525 AC_MSG_CHECKING([for libftd2xx.a (linux)])
526 # Must be linux -
527 # Cause FTDICHIP does not supply a MAC-OS version
528 if test $host_os != linux-gnu && test $host_os != linux ; then
529 AC_MSG_ERROR([The (linux) ftd2xx library from FTDICHIP.com is linux only. Try --enable-ft2232-libftdi instead])
530 fi
531 # Are we given a TAR directory?
532 if test "${with_ftd2xx_linux_tardir+set}" = set
533 then
534 # The .H file is simple..
535 f=$with_ftd2xx_linux_tardir/ftd2xx.h
536 if test ! -f $f ; then
537 AC_MSG_ERROR([Option: --with-ftd2xx-linux-tardir appears wrong, cannot find: $f])
538 fi
539 CFLAGS="$CFLAGS -I$with_ftd2xx_linux_tardir"
540 if test $with_ftd2xx_lib = shared
541 then
542 LDFLAGS="$LDFLAGS -L$with_ftd2xx_linux_tardir"
543 LIBS="$LIBS -lftd2xx"
544 AC_MSG_RESULT([ Assuming: -L$with_ftd2xx_linux_tardir -lftd2xx])
545 else
546 # Test #1 - Future proof - if/when ftdichip fixes their distro.
547 # Try it with the simple ".a" suffix.
548 f=$with_ftd2xx_linux_tardir/static_lib/libftd2xx.a
549 if test -f $f ; then
550 # Yea we are done
551 LDFLAGS="$LDFLAGS -L$with_ftd2xx_linux_tardir/static_lib"
552 LIBS="$LIBS -lftd2xx"
553 else
554 # Test Number2.
555 # Grr.. perhaps it exists as a version number?
556 f="$with_ftd2xx_linux_tardir/static_lib/libftd2xx.a.*.*.*"
557 count=`ls $f | wc -l`
558 if test $count -gt 1 ; then
559 AC_MSG_ERROR([Multiple libftd2xx.a files found in: $with_ftd2xx_linux_tardir/static_lib sorry cannot handle this yet])
560 fi
561 if test $count -ne 1 ; then
562 AC_MSG_ERROR([Not found: $f, option: --with-ftd2xx-linux-tardir appears to be wrong])
563 fi
564 # Because the "-l" rules do not understand version numbers...
565 # we will just stuff the absolute path onto the LIBS variable
566 f=`ls $f`
567 #
568 LIBS="$LIBS $f -lpthread"
569 # No need to bother with LDFLAGS...
570 fi
571 AC_MSG_RESULT([Found: $f])
572 fi
573 else
574 LIBS="$LIBS -lftd2xx"
575 AC_MSG_RESULT([Assumed: installed])
576 AC_MSG_WARN([The (linux) FTDICHIP.COM files ftd2xx.h and libftd2xx.so are assumed to be in a proper place])
577 fi
578 fi
579 fi
580
581 if test $build_ft2232_ftd2xx = yes; then
582
583 # Before we go any further - make sure we can *BUILD* and *RUN*
584 # a simple app with the "ftd2xx.lib" file - in what ever form we where given
585 # We should be able to compile, link and run this test program now
586 AC_MSG_CHECKING([Test: Build & Link with ftd2xx])
587
588 #
589 # Save the LDFLAGS for later..
590 LDFLAGS_SAVE=$LDFLAGS
591 CFLAGS_SAVE=$CFLAGS
592 _LDFLAGS=`eval echo $LDFLAGS`
593 _CFLAGS=`eval echo $CFLAGS`
594 LDFLAGS=$_LDFLAGS
595 CFLAGS=$_CFLAGS
596 AC_RUN_IFELSE(
597 [
598 #include "confdefs.h"
599 #if IS_WIN32
600 #include "windows.h"
601 #endif
602 #include <stdio.h>
603 #include <ftd2xx.h>
604
605 int
606 main( int argc, char **argv )
607 {
608 DWORD x;
609 FT_GetLibraryVersion( &x );
610 return 0;
611 }
612 ], [ AC_MSG_RESULT([Success!])] , [ AC_MSG_ERROR([Cannot build & run test program using ftd2xx.lib]) ] )
613 LDFLAGS=$LDFLAGS_SAVE
614 CFLAGS=$CFLAGS_SAVE
615 fi
616
617 if test $build_ft2232_libftdi = yes ; then
618 # We assume: the package is preinstalled in the proper place
619 # these present as 2 libraries..
620 LIBS="$LIBS -lftdi -lusb"
621 #
622 # Try to build a small program.
623 AC_MSG_CHECKING([Build & Link with libftdi...])
624
625 LDFLAGS_SAVE=$LDFLAGS
626 CFLAGS_SAVE=$CFLAGS
627 _LDFLAGS=`eval echo $LDFLAGS`
628 _CFLAGS=`eval echo $CFLAGS`
629 LDFLAGS=$_LDFLAGS
630 CFLAGS=$_CFLAGS
631
632 AC_RUN_IFELSE(
633 [
634 #include <stdio.h>
635 #include <ftdi.h>
636
637 int
638 main( int argc, char **argv )
639 {
640 struct ftdi_context *p;
641 p = ftdi_new();
642 if( p != NULL ){
643 return 0;
644 } else {
645 fprintf( stderr, "calling ftdi_new() failed\n");
646 return 1;
647 }
648 }
649 ]
650 ,
651 [ AC_MSG_RESULT([Success]) ]
652 ,
653 [ AC_MSG_ERROR([Cannot build & run test program using libftdi]) ] )
654 # Restore the 'unexpanded ldflags'
655 LDFLAGS=$LDFLAGS_SAVE
656 CFLAGS=$CFLAGS_SAVE
657 fi
658
659 AM_CONFIG_HEADER(config.h)
660 AM_INIT_AUTOMAKE(openocd, 1.0)
661 AM_MAINTAINER_MODE
662
663 AM_CONDITIONAL(RELEASE, test $build_release = yes)
664 AM_CONDITIONAL(PARPORT, test $build_parport = yes)
665 AM_CONDITIONAL(DUMMY, test $build_dummy = yes)
666 AM_CONDITIONAL(GIVEIO, test $parport_use_giveio = yes)
667 AM_CONDITIONAL(EP93XX, test $build_ep93xx = yes)
668 AM_CONDITIONAL(ECOSBOARD, test $build_ecosboard = yes)
669 AM_CONDITIONAL(IOUTIL, test $build_ioutil = yes)
670 AM_CONDITIONAL(HTTPD, test $build_httpd = yes)
671 AM_CONDITIONAL(AT91RM9200, test $build_at91rm9200 = yes)
672 AM_CONDITIONAL(BITBANG, test $build_bitbang = yes)
673 AM_CONDITIONAL(FT2232_LIBFTDI, test $build_ft2232_libftdi = yes)
674 AM_CONDITIONAL(FT2232_FTD2XX, test $build_ft2232_ftd2xx = yes)
675 AM_CONDITIONAL(AMTJTAGACCEL, test $build_amtjtagaccel = yes)
676 AM_CONDITIONAL(GW16012, test $build_gw16012 = yes)
677 AM_CONDITIONAL(PRESTO_LIBFTDI, test $build_presto_libftdi = yes)
678 AM_CONDITIONAL(PRESTO_FTD2XX, test $build_presto_ftd2xx = yes)
679 AM_CONDITIONAL(USBPROG, test $build_usbprog = yes)
680 AM_CONDITIONAL(OOCD_TRACE, test $build_oocd_trace = yes)
681 AM_CONDITIONAL(JLINK, test $build_jlink = yes)
682 AM_CONDITIONAL(VSLLINK, test $build_vsllink = yes)
683 AM_CONDITIONAL(RLINK, test $build_rlink = yes)
684 AM_CONDITIONAL(ARMJTAGEW, test $build_armjtagew = yes)
685 AM_CONDITIONAL(IS_CYGWIN, test $is_cygwin = yes)
686 AM_CONDITIONAL(IS_MINGW, test $is_mingw = yes)
687 AM_CONDITIONAL(IS_WIN32, test $is_win32 = yes)
688 AM_CONDITIONAL(BITQ, test $build_bitq = yes)
689
690 AC_LANG_C
691 AC_PROG_CC
692 AC_PROG_RANLIB
693
694 # set default gcc warnings
695 GCC_WARNINGS="-Wall -Wstrict-prototypes"
696 if test "${gcc_wextra}" = yes; then
697 GCC_WARNINGS="${GCC_WARNINGS} -Wextra -Wno-unused-parameter"
698 fi
699 if test "${gcc_werror}" = yes; then
700 GCC_WARNINGS="${GCC_WARNINGS} -Werror"
701 fi
702
703 # overide default gcc cflags
704 if test $gcc_warnings = yes; then
705 CFLAGS="$CFLAGS $GCC_WARNINGS"
706 fi
707
708 # Setup for compiling build tools
709 AC_MSG_CHECKING([for a C compiler for build tools])
710 if test $cross_compiling = yes; then
711 AC_CHECK_PROGS(CC_FOR_BUILD, gcc cc)
712 CFLAGS_FOR_BUILD="-g -O2 $GCC_WARNINGS"
713 else
714 CC_FOR_BUILD=$CC
715 CFLAGS_FOR_BUILD=$CFLAGS
716 fi
717
718 AC_MSG_RESULT([$CC_FOR_BUILD])
719 AC_SUBST(CC_FOR_BUILD)
720 AC_SUBST(CFLAGS_FOR_BUILD)
721
722 AC_MSG_CHECKING([for suffix of executable build tools])
723 if test $cross_compiling = yes; then
724 cat >conftest.c <<\_______EOF
725 int main ()
726 {
727 exit (0);
728 }
729 _______EOF
730 for i in .exe ""; do
731 compile="$CC_FOR_BUILD conftest.c -o conftest$i"
732 if AC_TRY_EVAL(compile); then
733 if (./conftest) 2>&AC_FD_CC; then
734 EXEEXT_FOR_BUILD=$i
735 break
736 fi
737 fi
738 done
739 rm -f conftest*
740 if test "${EXEEXT_FOR_BUILD+set}" != set; then
741 AC_MSG_ERROR([Cannot determine suffix of executable build tools])
742 fi
743 else
744 EXEEXT_FOR_BUILD=$EXEEXT
745 fi
746 AC_MSG_RESULT([$EXEEXT_FOR_BUILD])
747 AC_SUBST(EXEEXT_FOR_BUILD)
748
749 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)