Nico Coesel <ncoesel@dealogic.nl> MIPS32 speedup patches
[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 # Must be linux -
526 # Cause FTDICHIP does not supply a MAC-OS version
527 if test $host_os != linux-gnu && test $host_os != linux ; then
528 AC_MSG_ERROR([The (linux) ftd2xx library from FTDICHIP.com is linux only. Try --enable-ft2232-libftdi instead])
529 fi
530 # Are we given a TAR directory?
531 if test "${with_ftd2xx_linux_tardir+set}" = set
532 then
533 AC_MSG_CHECKING([uninstalled ftd2xx distribution])
534 # The .H file is simple..
535 FTD2XX_H=$with_ftd2xx_linux_tardir/ftd2xx.h
536 if test ! -f "${FTD2XX_H}"; then
537 AC_MSG_ERROR([Option: --with-ftd2xx-linux-tardir appears wrong, cannot find: ${FTD2XX_H}])
538 fi
539 CFLAGS="$CFLAGS -I$with_ftd2xx_linux_tardir"
540 FTD2XX_LDFLAGS="-L$with_ftd2xx_linux_tardir"
541 FTD2XX_LIB="-lftd2xx"
542 if test $with_ftd2xx_lib != shared; then
543 # Test #1 - Future proof - if/when ftdichip fixes their distro.
544 # Try it with the simple ".a" suffix.
545 FTD2XX_LIB="$with_ftd2xx_linux_tardir/static_lib/libftd2xx.a"
546 if test -f "${FTD2XX_LIB}"; then
547 FTD2XX_LDFLAGS="${FTD2XX_LDFLAGS}/static_lib"
548 else
549 # Test Number2.
550 # Grr.. perhaps it exists as a version number?
551 FTD2XX_LIB="$with_ftd2xx_linux_tardir/static_lib/libftd2xx.a.*.*.*"
552 count=`ls ${FTD2XX_LIB} | wc -l`
553 if test $count -gt 1 ; then
554 AC_MSG_ERROR([Multiple libftd2xx.a files found in: $with_ftd2xx_linux_tardir/static_lib sorry cannot handle this yet])
555 fi
556 if test $count -ne 1 ; then
557 AC_MSG_ERROR([Not found: $f, option: --with-ftd2xx-linux-tardir appears to be wrong])
558 fi
559 # Because the "-l" rules do not understand version numbers...
560 # we will just stuff the absolute path onto the LIBS variable
561 FTD2XX_LIB="`ls ${FTD2XX_LIB}` -lpthread"
562 FTD2XX_LDFLAGS=""
563 fi
564 fi
565 LDFLAGS="${LDFLAGS} ${FTD2XX_LDFLAGS}"
566 LIBS="${LIBS} ${FTD2XX_LIB}"
567 AC_MSG_RESULT([${FTD2XX_LDFLAGS} ${FTD2XX_LIB}])
568 else
569 AC_CHECK_HEADER([ftd2xx.h],[],[
570 AC_MSG_ERROR([You seem to be missing the FTD2xx driver header file.])
571 ])
572 AC_SEARCH_LIBS([FT_GetLibraryVersion],[ftd2xx],,[
573 AC_MSG_ERROR([You appear to be missing the FTD2xx driver library.])
574 ],[])
575 fi
576 fi
577 fi
578
579 if test $build_ft2232_ftd2xx = yes; then
580
581 # Before we go any further - make sure we can *BUILD* and *RUN*
582 # a simple app with the "ftd2xx.lib" file - in what ever form we where given
583 # We should be able to compile, link and run this test program now
584 AC_MSG_CHECKING([whether ftd2xx library works])
585
586 #
587 # Save the LDFLAGS for later..
588 LDFLAGS_SAVE=$LDFLAGS
589 CFLAGS_SAVE=$CFLAGS
590 _LDFLAGS=`eval echo $LDFLAGS`
591 _CFLAGS=`eval echo $CFLAGS`
592 LDFLAGS=$_LDFLAGS
593 CFLAGS=$_CFLAGS
594 AC_RUN_IFELSE(
595 [
596 #include "confdefs.h"
597 #if IS_WIN32
598 #include "windows.h"
599 #endif
600 #include <stdio.h>
601 #include <ftd2xx.h>
602
603 int
604 main( int argc, char **argv )
605 {
606 DWORD x;
607 FT_GetLibraryVersion( &x );
608 return 0;
609 }
610 ], [ AC_MSG_RESULT([Success!])] , [ AC_MSG_ERROR([Cannot build & run test program using ftd2xx.lib]) ] )
611 LDFLAGS=$LDFLAGS_SAVE
612 CFLAGS=$CFLAGS_SAVE
613 fi
614
615 if test $build_ft2232_libftdi = yes ; then
616 # We assume: the package is preinstalled in the proper place
617 # these present as 2 libraries..
618 LIBS="$LIBS -lftdi -lusb"
619 #
620 # Try to build a small program.
621 AC_MSG_CHECKING([Build & Link with libftdi...])
622
623 LDFLAGS_SAVE=$LDFLAGS
624 CFLAGS_SAVE=$CFLAGS
625 _LDFLAGS=`eval echo $LDFLAGS`
626 _CFLAGS=`eval echo $CFLAGS`
627 LDFLAGS=$_LDFLAGS
628 CFLAGS=$_CFLAGS
629
630 AC_RUN_IFELSE(
631 [
632 #include <stdio.h>
633 #include <ftdi.h>
634
635 int
636 main( int argc, char **argv )
637 {
638 struct ftdi_context *p;
639 p = ftdi_new();
640 if( p != NULL ){
641 return 0;
642 } else {
643 fprintf( stderr, "calling ftdi_new() failed\n");
644 return 1;
645 }
646 }
647 ]
648 ,
649 [ AC_MSG_RESULT([Success]) ]
650 ,
651 [ AC_MSG_ERROR([Cannot build & run test program using libftdi]) ] )
652 # Restore the 'unexpanded ldflags'
653 LDFLAGS=$LDFLAGS_SAVE
654 CFLAGS=$CFLAGS_SAVE
655 fi
656
657 AM_CONFIG_HEADER(config.h)
658 AM_INIT_AUTOMAKE(openocd, 1.0)
659 AM_MAINTAINER_MODE
660
661 AM_CONDITIONAL(RELEASE, test $build_release = yes)
662 AM_CONDITIONAL(PARPORT, test $build_parport = yes)
663 AM_CONDITIONAL(DUMMY, test $build_dummy = yes)
664 AM_CONDITIONAL(GIVEIO, test $parport_use_giveio = yes)
665 AM_CONDITIONAL(EP93XX, test $build_ep93xx = yes)
666 AM_CONDITIONAL(ECOSBOARD, test $build_ecosboard = yes)
667 AM_CONDITIONAL(IOUTIL, test $build_ioutil = yes)
668 AM_CONDITIONAL(HTTPD, test $build_httpd = yes)
669 AM_CONDITIONAL(AT91RM9200, test $build_at91rm9200 = yes)
670 AM_CONDITIONAL(BITBANG, test $build_bitbang = yes)
671 AM_CONDITIONAL(FT2232_LIBFTDI, test $build_ft2232_libftdi = yes)
672 AM_CONDITIONAL(FT2232_FTD2XX, test $build_ft2232_ftd2xx = yes)
673 AM_CONDITIONAL(AMTJTAGACCEL, test $build_amtjtagaccel = yes)
674 AM_CONDITIONAL(GW16012, test $build_gw16012 = yes)
675 AM_CONDITIONAL(PRESTO_LIBFTDI, test $build_presto_libftdi = yes)
676 AM_CONDITIONAL(PRESTO_FTD2XX, test $build_presto_ftd2xx = yes)
677 AM_CONDITIONAL(USBPROG, test $build_usbprog = yes)
678 AM_CONDITIONAL(OOCD_TRACE, test $build_oocd_trace = yes)
679 AM_CONDITIONAL(JLINK, test $build_jlink = yes)
680 AM_CONDITIONAL(VSLLINK, test $build_vsllink = yes)
681 AM_CONDITIONAL(RLINK, test $build_rlink = yes)
682 AM_CONDITIONAL(ARMJTAGEW, test $build_armjtagew = yes)
683 AM_CONDITIONAL(IS_CYGWIN, test $is_cygwin = yes)
684 AM_CONDITIONAL(IS_MINGW, test $is_mingw = yes)
685 AM_CONDITIONAL(IS_WIN32, test $is_win32 = yes)
686 AM_CONDITIONAL(BITQ, test $build_bitq = yes)
687
688 AC_LANG_C
689 AC_PROG_CC
690 AC_PROG_RANLIB
691
692 # set default gcc warnings
693 GCC_WARNINGS="-Wall -Wstrict-prototypes -Wformat-security"
694 if test "${gcc_wextra}" = yes; then
695 GCC_WARNINGS="${GCC_WARNINGS} -Wextra -Wno-unused-parameter"
696 fi
697 if test "${gcc_werror}" = yes; then
698 GCC_WARNINGS="${GCC_WARNINGS} -Werror"
699 fi
700
701 # overide default gcc cflags
702 if test $gcc_warnings = yes; then
703 CFLAGS="$CFLAGS $GCC_WARNINGS"
704 fi
705
706 # Setup for compiling build tools
707 AC_MSG_CHECKING([for a C compiler for build tools])
708 if test $cross_compiling = yes; then
709 AC_CHECK_PROGS(CC_FOR_BUILD, gcc cc)
710 CFLAGS_FOR_BUILD="-g -O2 $GCC_WARNINGS"
711 else
712 CC_FOR_BUILD=$CC
713 CFLAGS_FOR_BUILD=$CFLAGS
714 fi
715
716 AC_MSG_RESULT([$CC_FOR_BUILD])
717 AC_SUBST(CC_FOR_BUILD)
718 AC_SUBST(CFLAGS_FOR_BUILD)
719
720 AC_MSG_CHECKING([for suffix of executable build tools])
721 if test $cross_compiling = yes; then
722 cat >conftest.c <<\_______EOF
723 int main ()
724 {
725 exit (0);
726 }
727 _______EOF
728 for i in .exe ""; do
729 compile="$CC_FOR_BUILD conftest.c -o conftest$i"
730 if AC_TRY_EVAL(compile); then
731 if (./conftest) 2>&AC_FD_CC; then
732 EXEEXT_FOR_BUILD=$i
733 break
734 fi
735 fi
736 done
737 rm -f conftest*
738 if test "${EXEEXT_FOR_BUILD+set}" != set; then
739 AC_MSG_ERROR([Cannot determine suffix of executable build tools])
740 fi
741 else
742 EXEEXT_FOR_BUILD=$EXEEXT
743 fi
744 AC_MSG_RESULT([$EXEEXT_FOR_BUILD])
745 AC_SUBST(EXEEXT_FOR_BUILD)
746
747 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)