]> git.sur5r.net Git - openocd/blob - configure.in
remove native line style
[openocd] / configure.in
1 AC_PREREQ(2.60)\r
2 AC_INIT([openocd], [0.2.0-in-development],\r
3   [OpenOCD Mailing List <openocd-development@lists.berlios.de>])\r
4 AC_CONFIG_SRCDIR([src/openocd.c])\r
5 \r
6 AM_INIT_AUTOMAKE([-Wall -Wno-portability])\r
7 AM_MAINTAINER_MODE\r
8 \r
9 AM_CONFIG_HEADER(config.h)\r
10 AH_BOTTOM([\r
11 #include "system.h"\r
12 #include "replacements.h"\r
13 ])\r
14 \r
15 AC_LANG_C\r
16 AC_PROG_CC\r
17 AC_PROG_CC_C99\r
18 AM_PROG_CC_C_O\r
19 AC_PROG_RANLIB\r
20 \r
21 dnl disable checks for C++, Fortran and GNU Java Compiler\r
22 m4_defun([_LT_AC_LANG_CXX_CONFIG], [:])\r
23 m4_defun([_LT_AC_LANG_F77_CONFIG], [:])\r
24 m4_defun([_LT_AC_LANG_GCJ_CONFIG], [:])\r
25 AC_DISABLE_SHARED\r
26 AC_PROG_LIBTOOL\r
27 \r
28 \r
29 dnl configure checks required for Jim files (these are obsolete w/ C99)\r
30 AC_C_CONST\r
31 AC_TYPE_LONG_LONG_INT\r
32 \r
33 \r
34 AC_SEARCH_LIBS([ioperm], [ioperm])\r
35 AC_SEARCH_LIBS([dlopen], [dl])\r
36 \r
37 AC_CHECK_HEADERS(arpa/inet.h)\r
38 AC_CHECK_HEADERS(elf.h)\r
39 AC_CHECK_HEADERS(dirent.h)\r
40 AC_CHECK_HEADERS(fcntl.h)\r
41 AC_CHECK_HEADERS(ifaddrs.h)\r
42 AC_CHECK_HEADERS(malloc.h)\r
43 AC_CHECK_HEADERS(netdb.h)\r
44 AC_CHECK_HEADERS(netinet/in.h)\r
45 AC_CHECK_HEADERS(netinet/tcp.h)\r
46 AC_CHECK_HEADERS(pthread.h)\r
47 AC_CHECK_HEADERS(strings.h)\r
48 AC_CHECK_HEADERS(sys/ioctl.h)\r
49 AC_CHECK_HEADERS(sys/param.h)\r
50 AC_CHECK_HEADERS(sys/poll.h)\r
51 AC_CHECK_HEADERS(sys/select.h)\r
52 AC_CHECK_HEADERS(sys/socket.h)\r
53 AC_CHECK_HEADERS(sys/stat.h)\r
54 AC_CHECK_HEADERS(sys/time.h)\r
55 AC_CHECK_HEADERS(sys/types.h)\r
56 AC_CHECK_HEADERS(unistd.h)\r
57 \r
58 AC_CHECK_HEADERS([net/if.h], [], [], [dnl\r
59 #include <stdio.h>\r
60 #ifdef STDC_HEADERS\r
61 # include <stdlib.h>\r
62 # include <stddef.h>\r
63 #else\r
64 # ifdef HAVE_STDLIB_H\r
65 #  include <stdlib.h>\r
66 # endif\r
67 #endif\r
68 #ifdef HAVE_SYS_SOCKET_H\r
69 # include <sys/socket.h>\r
70 #endif\r
71 ])\r
72 \r
73 AC_HEADER_ASSERT\r
74 AC_HEADER_STDBOOL\r
75 AC_HEADER_TIME\r
76 \r
77 AC_C_BIGENDIAN\r
78 \r
79 AC_CHECK_FUNCS(strndup)\r
80 AC_CHECK_FUNCS(strnlen)\r
81 AC_CHECK_FUNCS(gettimeofday)\r
82 AC_CHECK_FUNCS(usleep)\r
83 AC_CHECK_FUNCS(vasprintf)\r
84 \r
85 build_bitbang=no\r
86 build_bitq=no\r
87 is_cygwin=no\r
88 is_mingw=no\r
89 is_win32=no\r
90 is_darwin=no\r
91 build_release=yes\r
92 \r
93 AC_ARG_ENABLE(release,\r
94   AS_HELP_STRING([--enable-release], [Enable Release Build, default no]),\r
95   [build_release=$enableval], [build_release=no])\r
96 \r
97 if test $cross_compiling = no; then\r
98   if test $build_release = no; then\r
99     # check we can find guess-rev.sh\r
100     AC_CHECK_FILE("$srcdir/guess-rev.sh", build_release=no, build_release=yes)\r
101   fi\r
102 fi\r
103 \r
104 # We are not *ALWAYS* being installed in the standard place.\r
105 # We may be installed in a "tool-build" specific location.\r
106 # Normally with other packages - as part of a tool distro.\r
107 # Thus - we should search that 'libdir' also.\r
108 #\r
109 # And - if we are being installed there - the odds are\r
110 # The libraries unique to what we are are there too.\r
111 #\r
112 \r
113 # Expand nd deal with NONE - just like configure will do later\r
114 OCDprefix=$prefix\r
115 OCDxprefix=$exec_prefix\r
116 test x"$OCDprefix"  = xNONE && OCDprefix=$ac_default_prefix\r
117 # Let make expand exec_prefix.\r
118 test x"$OCDxprefix" = xNONE && OCDxprefix="$OCDprefix"\r
119 \r
120 # what matters is the "exec-prefix"\r
121 if test "$OCDxprefix" != "$ac_default_prefix"\r
122 then\r
123     # We are installing in a non-standard place\r
124     # Nonstandard --prefix and/or --exec-prefix\r
125     # We have an override of some sort.\r
126     # use build specific install library dir\r
127     \r
128     LDFLAGS="$LDFLAGS -L$OCDxprefix/lib"\r
129     # RPATH becomes an issue on Linux only\r
130     if test $host_os = linux-gnu || test $host_os = linux ; then\r
131       LDFLAGS="$LDFLAGS -Wl,-rpath,$OCDxprefix/lib"\r
132     fi\r
133     # The "INCDIR" is also usable\r
134     CFLAGS="$CFLAGS -I$includedir"\r
135 fi\r
136 \r
137 AC_ARG_WITH(ftd2xx,\r
138    AS_HELP_STRING([--with-ftd2xx=<PATH>],[This option has been removed.]),\r
139   [\r
140 # Option Given.\r
141 cat << __EOF__\r
142 \r
143 The option: --with-ftd2xx=<PATH> has been removed.\r
144 On Linux, the new option is:\r
145   \r
146   --with-ftd2xx-linux-tardir=/path/to/files\r
147 \r
148 Where <path> is the path the the directory where the "tar.gz" file\r
149 from FTDICHIP.COM was unpacked, for example:\r
150 \r
151   --with-ftd2xx-linux-tardir=${HOME}/libftd2xx0.4.16\r
152 \r
153 On Cygwin/MingW32, the new option is:\r
154 \r
155   --with-ftd2xx-win32-zipdir=/path/to/files\r
156 \r
157 Where <path> is the path to the directory where the "zip" file from\r
158 FTDICHIP.COM was unpacked, for example:\r
159 \r
160   --with-ftd2xx-win32-zipdir=${HOME}/ftd2xx.cdm.files\r
161 \r
162 __EOF__\r
163 \r
164    AC_MSG_ERROR([Sorry Cannot continue])\r
165   ], [true])\r
166 \r
167 #========================================\r
168 # FTD2XXX support comes in 4 forms.\r
169 #    (1) win32 - via a zip file\r
170 #    (2) linux - via a tar file\r
171 #    (3) linux/cygwin/mingw - via libftdi\r
172 #    (4) darwin - installed under /usr/local\r
173 #\r
174 # In case (1) and (2) we need to know where the package was unpacked.\r
175 \r
176 AC_ARG_WITH(ftd2xx-win32-zipdir,\r
177   AS_HELP_STRING([--with-ftd2xx-win32-zipdir],[Where (CYGWIN/MINGW) the zip file from ftdichip.com was unpacked <default=search>]),\r
178   [\r
179   # option present\r
180   if test -d $with_ftd2xx_win32_zipdir\r
181   then\r
182     with_ftd2xx_win32_zipdir=`cd $with_ftd2xx_win32_zipdir && pwd`\r
183     AC_MSG_NOTICE([Using: ftdichip.com library: $with_ftd2xx_win32_zipdir])\r
184   else\r
185     AC_MSG_ERROR([Parameter to --with-ftd2xx-win32-zipdir is not a dir: $with_ftd2xx_win32_zipdir])\r
186   fi\r
187   ], [true])\r
188 \r
189 AC_ARG_WITH(ftd2xx-linux-tardir,\r
190   AS_HELP_STRING([--with-ftd2xx-linux-tardir], [Where (Linux/Unix) the tar file from ftdichip.com was unpacked <default=search>]),\r
191   [\r
192   # Option present\r
193   if test $is_win32 = yes ; then\r
194      AC_MSG_ERROR([The option: --with-ftd2xx-linux-tardir is only usable on linux])\r
195   fi\r
196   if test -d $with_ftd2xx_linux_tardir\r
197   then\r
198     with_ftd2xx_linux_tardir=`cd $with_ftd2xx_linux_tardir && pwd`\r
199     AC_MSG_NOTICE([Using: ftdichip.com library: $with_ftd2xx_linux_tardir])\r
200   else\r
201     AC_MSG_ERROR([Parameter to --with-ftd2xx-linux-tardir is not a dir: $with_ftd2xx_linux_tardir])\r
202   fi\r
203   ], [true])\r
204 \r
205 AC_ARG_WITH(ftd2xx-lib,\r
206   AS_HELP_STRING([--with-ftd2xx-lib],\r
207     [Use static or shared ftd2xx libs on default static]),\r
208   [\r
209   case "$withval" in\r
210   static)\r
211     with_ftd2xx_lib=$withval\r
212     ;;\r
213   shared)\r
214     with_ftd2xx_lib=$withval\r
215     ;;\r
216   *)\r
217     AC_MSG_ERROR([Option: --with-ftd2xx-lib=static or --with-ftd2xx-lib=shared not, $withval])\r
218     ;;\r
219   esac\r
220   ], [\r
221   # Default is static - it is simpler :-(\r
222   with_ftd2xx_lib=static\r
223   ])\r
224 \r
225 AC_ARG_ENABLE(gccwarnings,\r
226   AS_HELP_STRING([--disable-gccwarnings], [Disable compiler warnings]),\r
227   [gcc_warnings=$enableval], [gcc_warnings=yes])\r
228 \r
229 AC_ARG_ENABLE(wextra,\r
230   AS_HELP_STRING([--disable-wextra], [Disable extra compiler warnings]),\r
231   [gcc_wextra=$enableval], [gcc_wextra=$gcc_warnings])\r
232 \r
233 AC_ARG_ENABLE(werror,\r
234   AS_HELP_STRING([--disable-werror], [Do not treat warnings as errors]),\r
235   [gcc_werror=$enableval], [gcc_werror=$gcc_warnings])\r
236 \r
237 # set default verbose options, overridden by following options\r
238 debug_jtag_io=no\r
239 debug_usb_io=no\r
240 debug_usb_comms=no\r
241 \r
242 AC_ARG_ENABLE(verbose,\r
243   AS_HELP_STRING([--enable-verbose],\r
244       [Enable verbose JTAG I/O messages (for debugging).]), \r
245   [\r
246   debug_jtag_io=$enableval\r
247   debug_usb_io=$enableval\r
248   debug_usb_comms=$enableval\r
249   ], [])\r
250 \r
251 AC_ARG_ENABLE(verbose_jtag_io,\r
252   AS_HELP_STRING([--enable-verbose-jtag-io],\r
253       [Enable verbose JTAG I/O messages (for debugging).]), \r
254   [debug_jtag_io=$enableval], [])\r
255 AC_ARG_ENABLE(verbose_usb_io,\r
256   AS_HELP_STRING([--enable-verbose-usb-io],\r
257       [Enable verbose USB I/O messages (for debugging)]), \r
258   [debug_usb_io=$enableval], [])\r
259 AC_ARG_ENABLE(verbose_usb_comms,\r
260   AS_HELP_STRING([--enable-verbose-usb-comms],\r
261       [Enable verbose USB communication messages (for debugging)]), \r
262   [debug_usb_comms=$enableval], [])\r
263 \r
264 AC_MSG_CHECKING([whether to enable verbose JTAG I/O messages]);\r
265 AC_MSG_RESULT($debug_jtag_io)\r
266 if test $debug_jtag_io = yes; then\r
267   AC_DEFINE([_DEBUG_JTAG_IO_],[1], [Print verbose JTAG I/O messages])\r
268 fi\r
269 \r
270 AC_MSG_CHECKING([whether to enable verbose USB I/O messages]);\r
271 AC_MSG_RESULT($debug_usb_io)\r
272 if test $debug_usb_io = yes; then\r
273   AC_DEFINE([_DEBUG_USB_IO_],[1], [Print verbose USB I/O messages])\r
274 fi\r
275 \r
276 AC_MSG_CHECKING([whether to enable verbose USB communication messages]);\r
277 AC_MSG_RESULT($debug_usb_comms)\r
278 if test $debug_usb_comms = yes; then\r
279   AC_DEFINE([_DEBUG_USB_COMMS_],[1], [Print verbose USB communication messages])\r
280 fi\r
281 \r
282 \r
283 debug_malloc=no\r
284 AC_ARG_ENABLE(malloc_logging,\r
285   AS_HELP_STRING([--enable-malloc-logging],\r
286       [Include free space in logging messages (requires malloc.h).]), \r
287   [debug_malloc=$enableval], [])\r
288 \r
289 AC_MSG_CHECKING([whether to enable malloc free space logging]);\r
290 AC_MSG_RESULT($debug_malloc)\r
291 if test $debug_malloc = yes; then\r
292   AC_DEFINE([_DEBUG_FREE_SPACE_],[1], [Include malloc free space in logging])\r
293 fi\r
294 \r
295 \r
296 AC_ARG_ENABLE(dummy,\r
297   AS_HELP_STRING([--enable-dummy], [Enable building the dummy port driver]), \r
298   [build_dummy=$enableval], [build_dummy=no])\r
299 \r
300 AC_ARG_ENABLE(parport,\r
301   AS_HELP_STRING([--enable-parport], [Enable building the pc parallel port driver]), \r
302   [build_parport=$enableval], [build_parport=no])\r
303 \r
304 AC_ARG_ENABLE(parport_ppdev,\r
305   AS_HELP_STRING([--disable-parport-ppdev],\r
306       [Disable use of ppdev (/dev/parportN) for parport (for x86 only)]), \r
307     [parport_use_ppdev=$enableval], [parport_use_ppdev=])\r
308 \r
309 AC_ARG_ENABLE(parport_giveio,\r
310     AS_HELP_STRING([--enable-parport-giveio],\r
311       [Enable use of giveio for parport (for CygWin only)]), \r
312     [parport_use_giveio=$enableval], [parport_use_giveio=])\r
313     \r
314 AC_ARG_ENABLE(ft2232_libftdi,\r
315   AS_HELP_STRING([--enable-ft2232_libftdi], [Enable building support for FT2232 based devices using the libftdi driver, opensource alternate of FTD2XX]), \r
316   [build_ft2232_libftdi=$enableval], [build_ft2232_libftdi=no])\r
317 \r
318 AC_ARG_ENABLE(ft2232_ftd2xx,\r
319   AS_HELP_STRING([--enable-ft2232_ftd2xx], [Enable building support for FT2232 based devices using the FTD2XX driver from ftdichip.com]), \r
320   [build_ft2232_ftd2xx=$enableval], [build_ft2232_ftd2xx=no])\r
321 \r
322 AC_ARG_ENABLE(ftd2xx_highspeed,\r
323   AS_HELP_STRING([--enable-ftd2xx-highspeed], [Enable building support for FT2232H and FT4232H-based devices (requires >=libftd2xx-0.4.16)]), \r
324   [want_ftd2xx_highspeed=$enableval], [want_ftd2xx_highspeed=maybe])\r
325  \r
326 AC_ARG_ENABLE(amtjtagaccel,\r
327   AS_HELP_STRING([--enable-amtjtagaccel], [Enable building the Amontec JTAG-Accelerator driver]), \r
328   [build_amtjtagaccel=$enableval], [build_amtjtagaccel=no])\r
329 \r
330 AC_ARG_ENABLE(ecosboard,\r
331   AS_HELP_STRING([--enable-ecosboard], [Enable building support for eCosBoard based JTAG debugger]), \r
332   [build_ecosboard=$enableval], [build_ecosboard=no])\r
333 \r
334 AC_ARG_ENABLE(ioutil,\r
335   AS_HELP_STRING([--enable-ioutil], [Enable ioutil functions - useful for standalone OpenOCD implementations]), \r
336   [build_ioutil=$enableval], [build_ioutil=no])\r
337 \r
338 AC_ARG_ENABLE(httpd,\r
339   AS_HELP_STRING([--enable-httpd], [Enable builtin httpd server - useful for standalone OpenOCD implementations]), \r
340   [build_httpd=$enableval], [build_httpd=no])\r
341 \r
342 case "${host_cpu}" in \r
343   arm*)\r
344     AC_ARG_ENABLE(ep93xx,\r
345       AS_HELP_STRING([--enable-ep93xx], [Enable building support for EP93xx based SBCs]), \r
346       [build_ep93xx=$enableval], [build_ep93xx=no])\r
347 \r
348     AC_ARG_ENABLE(at91rm9200,\r
349       AS_HELP_STRING([--enable-at91rm9200], [Enable building support for AT91RM9200 based SBCs]),\r
350       [build_at91rm9200=$enableval], [build_at91rm9200=no])\r
351     ;;\r
352     \r
353   *) \r
354     build_ep93xx=no\r
355     build_at91rm9200=no\r
356     ;;\r
357 esac\r
358 \r
359 AC_ARG_ENABLE(gw16012,\r
360   AS_HELP_STRING([--enable-gw16012], [Enable building support for the Gateworks GW16012 JTAG Programmer]),\r
361   [build_gw16012=$enableval], [build_gw16012=no])\r
362 \r
363 AC_ARG_ENABLE(presto_libftdi,\r
364   AS_HELP_STRING([--enable-presto_libftdi], [Enable building support for ASIX Presto Programmer using the libftdi driver]),\r
365   [build_presto_libftdi=$enableval], [build_presto_libftdi=no])\r
366 \r
367 AC_ARG_ENABLE(presto_ftd2xx,\r
368   AS_HELP_STRING([--enable-presto_ftd2xx], [Enable building support for ASIX Presto Programmer using the FTD2XX driver]),\r
369   [build_presto_ftd2xx=$enableval], [build_presto_ftd2xx=no])\r
370 \r
371 AC_ARG_ENABLE(usbprog,\r
372   AS_HELP_STRING([--enable-usbprog], [Enable building support for the usbprog JTAG Programmer]),\r
373   [build_usbprog=$enableval], [build_usbprog=no])\r
374 \r
375 AC_ARG_ENABLE(oocd_trace,\r
376   AS_HELP_STRING([--enable-oocd_trace], [Enable building support for the OpenOCD+trace ETM capture device]),\r
377   [build_oocd_trace=$enableval], [build_oocd_trace=no])\r
378 \r
379 AC_ARG_ENABLE(jlink,\r
380   AS_HELP_STRING([--enable-jlink], [Enable building support for the Segger J-Link JTAG Programmer]),\r
381   [build_jlink=$enableval], [build_jlink=no])\r
382 \r
383 AC_ARG_ENABLE(vsllink,\r
384   AS_HELP_STRING([--enable-vsllink], [Enable building support for the Versaloon-Link JTAG Programmer]),\r
385   [build_vsllink=$enableval], [build_vsllink=no])\r
386 \r
387 AC_ARG_ENABLE(rlink,\r
388   AS_HELP_STRING([--enable-rlink], [Enable building support for the Raisonance RLink JTAG Programmer]),\r
389   [build_rlink=$enableval], [build_rlink=no])\r
390 \r
391 AC_ARG_ENABLE(arm-jtag-ew,\r
392   AS_HELP_STRING([--enable-arm-jtag-ew], [Enable building support for the Olimex ARM-JTAG-EW Programmer]),\r
393   [build_armjtagew=$enableval], [build_armjtagew=no])\r
394 \r
395 AC_ARG_ENABLE(minidriver_dummy,\r
396   AS_HELP_STRING([--enable-minidriver-dummy], [Enable the dummy minidriver.]),\r
397   [build_minidriver_dummy=$enableval], [build_minidriver_dummy=no])\r
398 \r
399 \r
400 build_minidriver=no\r
401 AC_MSG_CHECKING([whether to enable ZY1000 minidriver])\r
402 if test $build_ecosboard = yes; then\r
403   if test $build_minidriver = yes; then\r
404     AC_MSG_ERROR([Multiple minidriver options have been enabled.])\r
405   fi\r
406   AC_DEFINE(HAVE_JTAG_MINIDRIVER_H, 1,\r
407       [Define to 1 if you have the <jtag_minidriver.h> header file.])\r
408   build_minidriver=yes\r
409 fi\r
410 AC_MSG_RESULT($build_ecosboard)\r
411 \r
412 \r
413 AC_MSG_CHECKING([whether to enable dummy minidriver])\r
414 if test $build_minidriver_dummy = yes; then\r
415   if test $build_minidriver = yes; then\r
416     AC_MSG_ERROR([Multiple minidriver options have been enabled.])\r
417   fi\r
418   build_minidriver=yes\r
419   AC_DEFINE(BUILD_MINIDRIVER_DUMMY, 1, [Use the dummy minidriver.])\r
420   AC_DEFINE(HAVE_JTAG_MINIDRIVER_H, 1,\r
421       [Define to 1 if you have the <jtag_minidriver.h> header file.])\r
422 fi\r
423 AC_MSG_RESULT($build_minidriver_dummy)\r
424 \r
425 AC_MSG_CHECKING([whether standard drivers can be built])\r
426 if test "$build_minidriver" = yes; then\r
427   AC_MSG_RESULT([no])\r
428   AC_MSG_WARN([Using the minidriver disables all other drivers.])\r
429   sleep 2\r
430 else\r
431   AC_MSG_RESULT([yes])\r
432 fi\r
433 \r
434 case "${host_cpu}" in \r
435   i?86|x86*)\r
436     ;;\r
437   *) \r
438     if test x$parport_use_ppdev = xno; then\r
439       AC_MSG_WARN([--disable-parport-ppdev is not supported by the host CPU])\r
440     fi\r
441     parport_use_ppdev=yes\r
442     ;;\r
443 esac\r
444 \r
445 case $host in \r
446   *-cygwin*) \r
447     is_win32=yes\r
448 \r
449     AC_COMPILE_IFELSE(AC_LANG_PROGRAM([],[return __MINGW32__;]),\r
450       [is_mingw=yes],[is_mingw=no])\r
451     if test $is_mingw = yes; then\r
452       AC_DEFINE(IS_MINGW, 1, [1 if building for MinGW.])\r
453       if test x$parport_use_giveio = xno; then\r
454         AC_MSG_WARN([--disable-parport-giveio is not supported by MinGW32 hosts])\r
455       fi\r
456       parport_use_giveio=yes\r
457       is_cygwin=no\r
458     else\r
459       is_cygwin=yes\r
460       AC_DEFINE(IS_CYGWIN, 1, [1 if building for Cygwin.])\r
461     fi\r
462   \r
463     AC_DEFINE(IS_WIN32, 1, [1 if building for Win32.])\r
464     AC_DEFINE(IS_DARWIN, 0, [0 if not building for Darwin.])\r
465     ;; \r
466   *-mingw*) \r
467     is_mingw=yes\r
468     is_win32=yes\r
469 \r
470     if test x$parport_use_giveio = xno; then\r
471       AC_MSG_WARN([--disable-parport-giveio is not supported by MinGW32 hosts])\r
472     fi\r
473     parport_use_giveio=yes\r
474 \r
475     AC_DEFINE(IS_MINGW, 1, [1 if building for MinGW.])\r
476     AC_DEFINE(IS_WIN32, 1, [1 if building for Win32.])\r
477     AC_DEFINE(IS_DARWIN, 0, [0 if not building for Darwin.])\r
478     ;; \r
479   *darwin*)\r
480     is_darwin=yes\r
481 \r
482     if test x$parport_use_giveio = xyes; then\r
483       AC_MSG_WARN([--enable-parport-giveio cannot be used by Darwin hosts])\r
484     fi\r
485     parport_use_giveio=no\r
486 \r
487     AC_DEFINE(IS_CYGWIN, 0, [0 if not building for Cygwin.])\r
488     AC_DEFINE(IS_WIN32, 0, [0 if not building for Win32.])\r
489     AC_DEFINE(IS_DARWIN, 1, [1 if building for Darwin.])\r
490     ;;\r
491   *) \r
492     if test x$parport_use_giveio = xyes; then\r
493       AC_MSG_WARN([--enable-parport-giveio cannot be used by ]$host[ hosts])\r
494     fi\r
495     parport_use_giveio=no\r
496     AC_DEFINE(IS_CYGWIN, 0, [0 if not building for Cygwin.])\r
497     AC_DEFINE(IS_WIN32, 0, [0 if not building for Win32.])\r
498     AC_DEFINE(IS_DARWIN, 0, [0 if not building for Darwin.])\r
499     ;;\r
500 esac\r
501 \r
502 if test $build_parport = yes; then\r
503   build_bitbang=yes\r
504   AC_DEFINE(BUILD_PARPORT, 1, [1 if you want parport.])\r
505 else\r
506   AC_DEFINE(BUILD_PARPORT, 0, [0 if you don't want parport.])\r
507 fi\r
508 \r
509 if test $build_dummy = yes; then\r
510   build_bitbang=yes\r
511   AC_DEFINE(BUILD_DUMMY, 1, [1 if you want dummy driver.])\r
512 else\r
513   AC_DEFINE(BUILD_DUMMY, 0, [0 if you don't want dummy driver.])\r
514 fi\r
515 \r
516 if test $build_ep93xx = yes; then\r
517   build_bitbang=yes\r
518   AC_DEFINE(BUILD_EP93XX, 1, [1 if you want ep93xx.])\r
519 else\r
520   AC_DEFINE(BUILD_EP93XX, 0, [0 if you don't want ep93xx.])\r
521 fi\r
522 \r
523 if test $build_ecosboard = yes; then\r
524   AC_DEFINE(BUILD_ECOSBOARD, 1, [1 if you want eCosBoard.])\r
525 else\r
526   AC_DEFINE(BUILD_ECOSBOARD, 0, [0 if you don't want eCosBoard.])\r
527 fi\r
528 \r
529 if test $build_ioutil = yes; then\r
530   AC_DEFINE(BUILD_IOUTIL, 1, [1 if you want ioutils.])\r
531 else\r
532   AC_DEFINE(BUILD_IOUTIL, 0, [0 if you don't want ioutils.])\r
533 fi\r
534 \r
535 if test $build_httpd = yes; then\r
536   AC_DEFINE(BUILD_HTTPD, 1, [1 if you want httpd.])\r
537 else\r
538   AC_DEFINE(BUILD_HTTPD, 0, [0 if you don't want httpd.])\r
539 fi\r
540 \r
541 if test $build_at91rm9200 = yes; then\r
542   build_bitbang=yes\r
543   AC_DEFINE(BUILD_AT91RM9200, 1, [1 if you want at91rm9200.])\r
544 else\r
545   AC_DEFINE(BUILD_AT91RM9200, 0, [0 if you don't want at91rm9200.])\r
546 fi\r
547 \r
548 if test x$parport_use_ppdev = xyes; then\r
549   AC_DEFINE(PARPORT_USE_PPDEV, 1, [1 if you want parport to use ppdev.])\r
550 else\r
551   AC_DEFINE(PARPORT_USE_PPDEV, 0, [0 if you don't want parport to use ppdev.])\r
552 fi\r
553 \r
554 if test x$parport_use_giveio = xyes; then\r
555   AC_DEFINE(PARPORT_USE_GIVEIO, 1, [1 if you want parport to use giveio.])\r
556 else\r
557   AC_DEFINE(PARPORT_USE_GIVEIO, 0, [0 if you don't want parport to use giveio.])\r
558 fi\r
559 \r
560 if test $build_bitbang = yes; then\r
561   AC_DEFINE(BUILD_BITBANG, 1, [1 if you want a bitbang interface.])\r
562 else\r
563   AC_DEFINE(BUILD_BITBANG, 0, [0 if you don't want a bitbang interface.])\r
564 fi\r
565 \r
566 if test $build_ft2232_libftdi = yes; then\r
567   AC_DEFINE(BUILD_FT2232_LIBFTDI, 1, [1 if you want libftdi ft2232.])\r
568 else\r
569   AC_DEFINE(BUILD_FT2232_LIBFTDI, 0, [0 if you don't want libftdi ft2232.])\r
570 fi\r
571 \r
572 if test $build_ft2232_ftd2xx = yes; then\r
573   AC_DEFINE(BUILD_FT2232_FTD2XX, 1, [1 if you want ftd2xx ft2232.])\r
574 else\r
575   AC_DEFINE(BUILD_FT2232_FTD2XX, 0, [0 if you don't want ftd2xx ft2232.])\r
576 fi\r
577 \r
578 if test $build_amtjtagaccel = yes; then\r
579   AC_DEFINE(BUILD_AMTJTAGACCEL, 1, [1 if you want the Amontec JTAG-Accelerator driver.])\r
580 else\r
581   AC_DEFINE(BUILD_AMTJTAGACCEL, 0, [0 if you don't want the Amontec JTAG-Accelerator driver.])\r
582 fi\r
583 \r
584 if test $build_gw16012 = yes; then\r
585   AC_DEFINE(BUILD_GW16012, 1, [1 if you want the Gateworks GW16012 driver.])\r
586 else\r
587   AC_DEFINE(BUILD_GW16012, 0, [0 if you don't want the Gateworks GW16012 driver.])\r
588 fi\r
589 \r
590 if test $build_presto_libftdi = yes; then\r
591   build_bitq=yes\r
592   AC_DEFINE(BUILD_PRESTO_LIBFTDI, 1, [1 if you want the ASIX PRESTO driver using libftdi.])\r
593 else\r
594   AC_DEFINE(BUILD_PRESTO_LIBFTDI, 0, [0 if you don't want the ASIX PRESTO driver using libftdi.])\r
595 fi\r
596 \r
597 if test $build_presto_ftd2xx = yes; then\r
598   build_bitq=yes\r
599   AC_DEFINE(BUILD_PRESTO_FTD2XX, 1, [1 if you want the ASIX PRESTO driver using FTD2XX.])\r
600 else\r
601   AC_DEFINE(BUILD_PRESTO_FTD2XX, 0, [0 if you don't want the ASIX PRESTO driver using FTD2XX.])\r
602 fi\r
603 \r
604 if test $build_bitq = yes; then\r
605   AC_DEFINE(BUILD_BITQ, 1, [1 if you want a bitq interface.])\r
606 else\r
607   AC_DEFINE(BUILD_BITQ, 0, [0 if you don't want a bitq interface.])\r
608 fi\r
609 \r
610 if test $build_usbprog = yes; then\r
611   AC_DEFINE(BUILD_USBPROG, 1, [1 if you want the usbprog JTAG driver.])\r
612 else\r
613   AC_DEFINE(BUILD_USBPROG, 0, [0 if you don't want the usbprog JTAG driver.])\r
614 fi\r
615 \r
616 if test $build_oocd_trace = yes; then\r
617   AC_DEFINE(BUILD_OOCD_TRACE, 1, [1 if you want the OpenOCD+trace ETM capture driver.])\r
618 else\r
619   AC_DEFINE(BUILD_OOCD_TRACE, 0, [0 if you don't want the OpenOCD+trace ETM capture driver.])\r
620 fi\r
621 \r
622 if test $build_jlink = yes; then\r
623   AC_DEFINE(BUILD_JLINK, 1, [1 if you want the J-Link JTAG driver.])\r
624 else\r
625   AC_DEFINE(BUILD_JLINK, 0, [0 if you don't want the J-Link JTAG driver.])\r
626 fi\r
627 \r
628 if test $build_vsllink = yes; then\r
629   AC_DEFINE(BUILD_VSLLINK, 1, [1 if you want the Versaloon-Link JTAG driver.])\r
630 else\r
631   AC_DEFINE(BUILD_VSLLINK, 0, [0 if you don't want the Versaloon-Link JTAG driver.])\r
632 fi\r
633 \r
634 if test $build_rlink = yes; then\r
635   AC_DEFINE(BUILD_RLINK, 1, [1 if you want the RLink JTAG driver.])\r
636 else\r
637   AC_DEFINE(BUILD_RLINK, 0, [0 if you don't want the RLink JTAG driver.])\r
638 fi\r
639 \r
640 if test $build_armjtagew = yes; then\r
641   AC_DEFINE(BUILD_ARMJTAGEW, 1, [1 if you want the ARM-JTAG-EW JTAG driver.])\r
642 else\r
643   AC_DEFINE(BUILD_ARMJTAGEW, 0, [0 if you don't want the ARM-JTAG-EW JTAG driver.])\r
644 fi\r
645 \r
646 #-- Deal with MingW/Cygwin FTD2XX issues\r
647 \r
648 if test $is_win32 = yes; then\r
649 if test "${with_ftd2xx_linux_tardir+set}" = set\r
650 then\r
651   AC_MSG_ERROR([The option: with_ftd2xx_linux_tardir is for LINUX only.])\r
652 fi\r
653 \r
654 if test $build_ft2232_ftd2xx = yes -o $build_presto_ftd2xx = yes ; then\r
655   AC_MSG_CHECKING([for ftd2xx.lib exists (win32)])\r
656 \r
657   # if we are given a zipdir...\r
658   if test "${with_ftd2xx_win32_zipdir+set}" = set\r
659   then\r
660     # Set the CFLAGS for "ftd2xx.h"\r
661     f=$with_ftd2xx_win32_zipdir/ftd2xx.h\r
662     if test ! -f $f ; then\r
663       AC_MSG_ERROR([File: $f cannot be found])\r
664     fi\r
665     CFLAGS="$CFLAGS -I$with_ftd2xx_win32_zipdir"\r
666 \r
667     # And calculate the LDFLAGS for the machine\r
668     case "$host_cpu" in\r
669     i?86|x86_*)\r
670       LDFLAGS="$LDFLAGS -L$with_ftd2xx_win32_zipdir/i386"\r
671       LIBS="$LIBS -lftd2xx"\r
672       f=$with_ftd2xx_win32_zipdir/i386/ftd2xx.lib\r
673       ;;\r
674     amd64)\r
675       LDFLAGS="$LDFLAGS -L$with_ftd2xx_win32_zipdir/amd64"\r
676       LIBS="$LIBS -lftd2xx"\r
677       f=$with_ftd2xx_win32_zipdir/amd64/ftd2xx.lib\r
678       ;;\r
679     *)\r
680       AC_MSG_ERROR([Unknown Win32 host cpu: $host_cpu])\r
681       ;;\r
682     esac\r
683     if test ! -f $f ; then\r
684          AC_MSG_ERROR([Library: $f not found])\r
685     fi\r
686   else\r
687     LIBS="$LIBS -lftd2xx"\r
688     AC_MSG_WARN([ASSUMPTION: The (win32) FTDICHIP.COM files: ftd2xx.h and ftd2xx.lib are in a proper place])\r
689   fi\r
690 fi\r
691 fi # win32\r
692 \r
693 if test $is_darwin = yes ; then\r
694 if test "${with_ftd2xx_win32_zipdir+set}" = set\r
695 then\r
696    AC_MSG_ERROR([The option: --with-ftd2xx-win32-zipdir is for win32 only])\r
697 fi\r
698 if test "${with_ftd2xx_linux_tardir+set}" = set\r
699 then\r
700    AC_MSG_ERROR([The option: with_ftd2xx_linux_tardir is for LINUX only.])\r
701 fi\r
702 \r
703 if test $build_ft2232_ftd2xx = yes -o $build_presto_ftd2xx = yes ; then\r
704    AC_MSG_CHECKING([for libftd2xx.a (darwin)])\r
705 \r
706    if test ! -f /usr/local/include/ftd2xx.h ; then\r
707       AC_MSG_ERROR([ftd2xx library from FTDICHIP.com seems to be missing, cannot find: /usr/local/include/ftd2xx.h])\r
708    fi\r
709 \r
710    CFLAGS="$CFLAGS -I/usr/local/include"\r
711    LDFLAGS="$LDFLAGS -L/usr/local/lib"\r
712    LIBS="$LIBS -lftd2xx"\r
713    AC_MSG_RESULT([-L/usr/local/lib -lftd2xx])\r
714 fi\r
715 fi # darwin\r
716 \r
717 if test $is_win32 = no && test $is_darwin = no ; then\r
718 \r
719 if test "${with_ftd2xx_win32_zipdir+set}" = set\r
720 then\r
721    AC_MSG_ERROR([The option: --with-ftd2xx-win32-zipdir is for win32 only])\r
722 fi\r
723 \r
724 if test $build_ft2232_ftd2xx = yes -o $build_presto_ftd2xx = yes ; then\r
725    # Must be linux\r
726    if test $host_os != linux-gnu && test $host_os != linux ; then\r
727       AC_MSG_ERROR([The (linux) ftd2xx library from FTDICHIP.com is linux only. Try --enable-ft2232-libftdi instead])\r
728   fi\r
729   # Are we given a TAR directory?\r
730   if test "${with_ftd2xx_linux_tardir+set}" = set\r
731   then\r
732     AC_MSG_CHECKING([uninstalled ftd2xx distribution])\r
733     # The .H file is simple..\r
734     FTD2XX_H=$with_ftd2xx_linux_tardir/ftd2xx.h\r
735     if test ! -f "${FTD2XX_H}"; then\r
736     AC_MSG_ERROR([Option: --with-ftd2xx-linux-tardir appears wrong, cannot find: ${FTD2XX_H}])\r
737     fi\r
738     CFLAGS="$CFLAGS -I$with_ftd2xx_linux_tardir"\r
739     FTD2XX_LDFLAGS="-L$with_ftd2xx_linux_tardir"\r
740     FTD2XX_LIB="-lftd2xx"\r
741     if test $with_ftd2xx_lib != shared; then\r
742       # Test #1 - Future proof - if/when ftdichip fixes their distro.\r
743       # Try it with the simple ".a" suffix.\r
744       FTD2XX_LIB="$with_ftd2xx_linux_tardir/static_lib/libftd2xx.a"\r
745       if test -f "${FTD2XX_LIB}"; then\r
746         FTD2XX_LDFLAGS="${FTD2XX_LDFLAGS}/static_lib"\r
747       else\r
748         # Test Number2.\r
749         # Grr.. perhaps it exists as a version number?\r
750         FTD2XX_LIB="$with_ftd2xx_linux_tardir/static_lib/libftd2xx.a.*.*.*"\r
751         count=`ls ${FTD2XX_LIB} | wc -l`\r
752         if test $count -gt 1 ; then\r
753           AC_MSG_ERROR([Multiple libftd2xx.a files found in: $with_ftd2xx_linux_tardir/static_lib sorry cannot handle this yet])\r
754         fi\r
755         if test $count -ne 1 ; then\r
756           AC_MSG_ERROR([Not found: $f, option: --with-ftd2xx-linux-tardir appears to be wrong])\r
757         fi\r
758         # Because the "-l" rules do not understand version numbers...\r
759         # we will just stuff the absolute path onto the LIBS variable\r
760         FTD2XX_LIB="`ls ${FTD2XX_LIB}` -lpthread"\r
761         FTD2XX_LDFLAGS=""\r
762       fi\r
763     fi\r
764     LDFLAGS="${LDFLAGS} ${FTD2XX_LDFLAGS}"\r
765     LIBS="${LIBS} ${FTD2XX_LIB}"\r
766     AC_MSG_RESULT([${FTD2XX_LDFLAGS} ${FTD2XX_LIB}])\r
767   else\r
768     AC_CHECK_HEADER([ftd2xx.h],[],[\r
769         AC_MSG_ERROR([You seem to be missing the FTD2xx driver header file.])\r
770       ])\r
771     AC_SEARCH_LIBS([FT_GetLibraryVersion],[ftd2xx],,[\r
772         AC_MSG_ERROR([You appear to be missing the FTD2xx driver library.])\r
773       ],[])\r
774   fi\r
775 fi\r
776 fi # linux\r
777 \r
778 if test $build_ft2232_ftd2xx = yes -o $build_presto_ftd2xx = yes; then\r
779 \r
780 # Before we go any further - make sure we can *BUILD* and *RUN*\r
781 # a simple app with the "ftd2xx.lib" file - in what ever form we where given\r
782 # We should be able to compile, link and run this test program now\r
783 AC_MSG_CHECKING([whether ftd2xx library works])\r
784 \r
785 #\r
786 # Save the LDFLAGS for later..\r
787 LDFLAGS_SAVE=$LDFLAGS\r
788 CFLAGS_SAVE=$CFLAGS\r
789 _LDFLAGS=`eval echo $LDFLAGS`\r
790 _CFLAGS=`eval echo $CFLAGS`\r
791 LDFLAGS=$_LDFLAGS\r
792 CFLAGS=$_CFLAGS\r
793 \r
794 AC_RUN_IFELSE([\r
795 #include "confdefs.h"\r
796 #if IS_WIN32\r
797 #include "windows.h"\r
798 #endif\r
799 #include <stdio.h>\r
800 #include <ftd2xx.h>\r
801 \r
802 int\r
803 main( int argc, char **argv )\r
804 {\r
805   DWORD x;\r
806   FT_GetLibraryVersion( &x );\r
807   return 0;\r
808 }\r
809   ], [\r
810     AC_MSG_RESULT([Success!])\r
811   ], [\r
812     AC_MSG_ERROR([Cannot build & run test program using ftd2xx.lib])\r
813   ] )\r
814 \r
815 AC_MSG_CHECKING([whether to build ftd2xx device support])\r
816 AC_MSG_RESULT([$want_ftd2xx_highspeed])\r
817 if test $want_ftd2xx_highspeed != no; then\r
818   AC_MSG_CHECKING([for ftd2xx highspeed device support])\r
819   AC_COMPILE_IFELSE([\r
820 #include "confdefs.h"\r
821 #if IS_WIN32\r
822 #include "windows.h"\r
823 #endif\r
824 #include <stdio.h>\r
825 #include <ftd2xx.h>\r
826 DWORD x = FT_DEVICE_4232H;\r
827     ], [\r
828       AC_DEFINE(BUILD_FTD2XX_HIGHSPEED, [1],\r
829         [Support FT2232H/FT4232HS with FTD2XX.])\r
830       build_ftd2xx_highspeed=yes\r
831     ], [\r
832       build_ftd2xx_highspeed=no\r
833     ])\r
834   AC_MSG_RESULT([$build_ftd2xx_highspeed])\r
835 \r
836   if test $want_ftd2xx_highspeed = yes -a $build_ftd2xx_highspeed = no; then\r
837     AC_MSG_ERROR([You need a newer FTD2XX driver (version 0.4.16 or later).])\r
838   fi\r
839 fi\r
840 \r
841 LDFLAGS=$LDFLAGS_SAVE\r
842 CFLAGS=$CFLAGS_SAVE\r
843 fi\r
844 \r
845 if test $build_ft2232_libftdi = yes ; then\r
846   # We assume: the package is preinstalled in the proper place\r
847   # these present as 2 libraries..\r
848   LIBS="$LIBS -lftdi -lusb"\r
849   # \r
850   # Try to build a small program.\r
851   AC_MSG_CHECKING([Build & Link with libftdi...])\r
852 \r
853   LDFLAGS_SAVE=$LDFLAGS\r
854   CFLAGS_SAVE=$CFLAGS\r
855   _LDFLAGS=`eval echo $LDFLAGS`\r
856   _CFLAGS=`eval echo $CFLAGS`\r
857   LDFLAGS=$_LDFLAGS\r
858   CFLAGS=$_CFLAGS\r
859 \r
860   AC_RUN_IFELSE([\r
861 #include <stdio.h>\r
862 #include <ftdi.h>\r
863 \r
864 int\r
865 main( int argc, char **argv )\r
866 {\r
867   struct ftdi_context *p;\r
868   p = ftdi_new();\r
869   if( p != NULL ){\r
870       return 0;\r
871   } else {\r
872       fprintf( stderr, "calling ftdi_new() failed\n");\r
873       return 1;\r
874         }\r
875 }\r
876     ], [\r
877       AC_MSG_RESULT([Success])\r
878     ], [\r
879       AC_MSG_ERROR([Cannot build & run test program using libftdi])\r
880     ])\r
881   # Restore the 'unexpanded ldflags'\r
882   LDFLAGS=$LDFLAGS_SAVE\r
883   CFLAGS=$CFLAGS_SAVE\r
884 fi\r
885 \r
886 # check for usb.h when a driver will require it\r
887 if test $build_jlink = yes -o $build_vsllink = yes -o $build_usbprog = yes -o \\r
888   $build_rlink = yes -o $build_armjtagew = yes\r
889 then \r
890   AC_CHECK_HEADERS([usb.h],[],\r
891   [AC_MSG_ERROR([usb.h is required to build some OpenOCD driver(s)])])\r
892 fi\r
893 \r
894 AM_CONDITIONAL(RELEASE, test $build_release = yes)\r
895 AM_CONDITIONAL(PARPORT, test $build_parport = yes)\r
896 AM_CONDITIONAL(DUMMY, test $build_dummy = yes)\r
897 AM_CONDITIONAL(GIVEIO, test x$parport_use_giveio = xyes)\r
898 AM_CONDITIONAL(EP93XX, test $build_ep93xx = yes)\r
899 AM_CONDITIONAL(ECOSBOARD, test $build_ecosboard = yes)\r
900 AM_CONDITIONAL(IOUTIL, test $build_ioutil = yes)\r
901 AM_CONDITIONAL(HTTPD, test $build_httpd = yes)\r
902 AM_CONDITIONAL(AT91RM9200, test $build_at91rm9200 = yes)\r
903 AM_CONDITIONAL(BITBANG, test $build_bitbang = yes)\r
904 AM_CONDITIONAL(FT2232_LIBFTDI, test $build_ft2232_libftdi = yes)\r
905 AM_CONDITIONAL(FT2232_FTD2XX, test $build_ft2232_ftd2xx = yes)\r
906 AM_CONDITIONAL(AMTJTAGACCEL, test $build_amtjtagaccel = yes)\r
907 AM_CONDITIONAL(GW16012, test $build_gw16012 = yes)\r
908 AM_CONDITIONAL(PRESTO_LIBFTDI, test $build_presto_libftdi = yes)\r
909 AM_CONDITIONAL(PRESTO_FTD2XX, test $build_presto_ftd2xx = yes)\r
910 AM_CONDITIONAL(USBPROG, test $build_usbprog = yes)\r
911 AM_CONDITIONAL(OOCD_TRACE, test $build_oocd_trace = yes)\r
912 AM_CONDITIONAL(JLINK, test $build_jlink = yes)\r
913 AM_CONDITIONAL(VSLLINK, test $build_vsllink = yes)\r
914 AM_CONDITIONAL(RLINK, test $build_rlink = yes)\r
915 AM_CONDITIONAL(ARMJTAGEW, test $build_armjtagew = yes)\r
916 AM_CONDITIONAL(IS_CYGWIN, test $is_cygwin = yes)\r
917 AM_CONDITIONAL(IS_MINGW, test $is_mingw = yes)\r
918 AM_CONDITIONAL(IS_WIN32, test $is_win32 = yes)\r
919 AM_CONDITIONAL(IS_DARWIN, test $is_darwin = yes)\r
920 AM_CONDITIONAL(BITQ, test $build_bitq = yes)\r
921 \r
922 AM_CONDITIONAL(MINIDRIVER, test $build_minidriver = yes)\r
923 AM_CONDITIONAL(MINIDRIVER_DUMMY, test $build_minidriver_dummy = yes)\r
924 \r
925 # Look for environ alternatives.  Possibility #1: is environ in unistd.h or stdlib.h?\r
926 AC_MSG_CHECKING([for environ in unistd.h and stdlib.h])\r
927 AC_COMPILE_IFELSE([\r
928 #define _GNU_SOURCE\r
929 #include <unistd.h>\r
930 #include <stdlib.h>\r
931 int main(int argc, char **argv) { char **ep = environ; }\r
932   ], [\r
933     AC_MSG_RESULT([yes])\r
934     has_environ=yes\r
935   ], [\r
936     AC_MSG_RESULT([no])\r
937 \r
938     # Possibility #2: can environ be found in an available library?\r
939     AC_MSG_CHECKING([for extern environ])\r
940     AC_LINK_IFELSE([\r
941 extern char **environ;\r
942 int main(int argc, char **argv) { char **ep = environ; }\r
943       ], [\r
944         AC_DEFINE(NEED_ENVIRON_EXTERN, [1], [Must declare 'environ' to use it.])\r
945         has_environ=yes\r
946       ], [\r
947         has_environ=no\r
948       ])\r
949     AC_MSG_RESULT([${has_environ}])\r
950   ])\r
951 \r
952 if test "${has_environ}" != "yes" ; then\r
953   AC_MSG_FAILURE([Could not find 'environ' in unistd.h or available libraries.]) \r
954 fi\r
955 \r
956 AC_DEFINE([_GNU_SOURCE],[1],[Use GNU C library extensions (e.g. stdndup).])\r
957 \r
958 # set default gcc warnings\r
959 GCC_WARNINGS="-Wall -Wstrict-prototypes -Wformat-security"\r
960 if test "${gcc_wextra}" = yes; then\r
961   GCC_WARNINGS="${GCC_WARNINGS} -Wextra -Wno-unused-parameter"\r
962   GCC_WARNINGS="${GCC_WARNINGS} -Wbad-function-cast"\r
963   GCC_WARNINGS="${GCC_WARNINGS} -Wcast-align"\r
964   GCC_WARNINGS="${GCC_WARNINGS} -Wredundant-decls"\r
965 fi\r
966 if test "${gcc_werror}" = yes; then\r
967   GCC_WARNINGS="${GCC_WARNINGS} -Werror"\r
968 fi\r
969 \r
970 # overide default gcc cflags\r
971 if test $gcc_warnings = yes; then\r
972   CFLAGS="$CFLAGS $GCC_WARNINGS"\r
973 fi\r
974 \r
975 # Setup for compiling build tools\r
976 AC_MSG_CHECKING([for a C compiler for build tools])\r
977 if test $cross_compiling = yes; then\r
978   AC_CHECK_PROGS(CC_FOR_BUILD, gcc cc)\r
979   CFLAGS_FOR_BUILD="-g -O2 $GCC_WARNINGS"\r
980 else\r
981   CC_FOR_BUILD=$CC\r
982   CFLAGS_FOR_BUILD=$CFLAGS\r
983 fi\r
984 \r
985 AC_MSG_RESULT([$CC_FOR_BUILD])\r
986 AC_SUBST(CC_FOR_BUILD)\r
987 AC_SUBST(CFLAGS_FOR_BUILD)\r
988 \r
989 AC_MSG_CHECKING([for suffix of executable build tools])\r
990 if test $cross_compiling = yes; then\r
991   cat >conftest.c <<\_______EOF\r
992 int main ()\r
993 {\r
994   exit (0);\r
995 }\r
996 _______EOF\r
997   for i in .exe ""; do\r
998     compile="$CC_FOR_BUILD conftest.c -o conftest$i"\r
999     if AC_TRY_EVAL(compile); then\r
1000       if (./conftest) 2>&AC_FD_CC; then\r
1001         EXEEXT_FOR_BUILD=$i\r
1002         break\r
1003       fi\r
1004     fi\r
1005   done\r
1006   rm -f conftest*\r
1007   if test "${EXEEXT_FOR_BUILD+set}" != set; then\r
1008     AC_MSG_ERROR([Cannot determine suffix of executable build tools])\r
1009   fi\r
1010 else\r
1011   EXEEXT_FOR_BUILD=$EXEEXT\r
1012 fi\r
1013 AC_MSG_RESULT([$EXEEXT_FOR_BUILD])\r
1014 AC_SUBST(EXEEXT_FOR_BUILD)\r
1015 \r
1016 AC_OUTPUT(dnl\r
1017     Makefile dnl\r
1018     src/Makefile dnl\r
1019     src/helper/Makefile dnl\r
1020     src/jtag/Makefile dnl\r
1021     src/xsvf/Makefile dnl\r
1022     src/svf/Makefile dnl\r
1023     src/target/Makefile dnl\r
1024     src/server/Makefile dnl\r
1025     src/flash/Makefile dnl\r
1026     src/pld/Makefile dnl\r
1027     doc/Makefile dnl\r
1028   )\r