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