sync up to tap_xxx rename + add with-ioutil for standalone openocd implemetnations
[openocd.git] / configure.in
1 AC_PREREQ(2.59)
2 AC_INIT(configure.in)
3
4 AC_CANONICAL_HOST
5
6 AC_SEARCH_LIBS([ioperm], [ioperm])
7 AC_SEARCH_LIBS([dlopen], [dl])
8
9 AC_CHECK_HEADERS(jtag_minidriver.h)
10 AC_CHECK_HEADERS(sys/param.h)
11 AC_CHECK_HEADERS(sys/time.h)
12 AC_CHECK_HEADERS(elf.h)
13 AC_CHECK_HEADERS(strings.h)
14
15 AC_HEADER_TIME
16
17 AC_C_BIGENDIAN
18
19 AC_CHECK_FUNCS(strndup)
20 AC_CHECK_FUNCS(strnlen)
21 AC_CHECK_FUNCS(gettimeofday)
22 AC_CHECK_FUNCS(usleep)
23 AC_CHECK_FUNCS(vasprintf)
24
25 build_bitbang=no
26 build_bitq=no
27 is_cygwin=no
28 is_mingw=no
29 is_win32=no
30
31 AC_ARG_ENABLE(gccwarnings,
32 AS_HELP_STRING([--enable-gccwarnings], [Enable compiler warnings, default no]),
33 [gcc_warnings=$enableval], [gcc_warnings=no])
34
35 AC_ARG_ENABLE(parport,
36 AS_HELP_STRING([--enable-parport], [Enable building the pc parallel port driver]),
37 [build_parport=$enableval], [build_parport=no])
38
39 AC_ARG_ENABLE(dummy,
40 AS_HELP_STRING([--enable-dummy], [Enable building the dummy port driver]),
41 [build_dummy=$enableval], [build_dummy=no])
42
43 case "${host_cpu}" in
44 i?86|x86*)
45 AC_ARG_ENABLE(parport_ppdev,
46 AS_HELP_STRING([--enable-parport_ppdev], [Enable use of ppdev (/dev/parportN) for parport]),
47 [parport_use_ppdev=$enableval], [parport_use_ppdev=no])
48 ;;
49 *)
50 parport_use_ppdev=yes
51 ;;
52 esac
53
54 AC_ARG_ENABLE(ft2232_libftdi,
55 AS_HELP_STRING([--enable-ft2232_libftdi], [Enable building support for FT2232 based devices using the libftdi driver]),
56 [build_ft2232_libftdi=$enableval], [build_ft2232_libftdi=no])
57
58 AC_ARG_ENABLE(ft2232_ftd2xx,
59 AS_HELP_STRING([--enable-ft2232_ftd2xx], [Enable building support for FT2232 based devices using the FTD2XX driver]),
60 [build_ft2232_ftd2xx=$enableval], [build_ft2232_ftd2xx=no])
61
62 AC_ARG_ENABLE(amtjtagaccel,
63 AS_HELP_STRING([--enable-amtjtagaccel], [Enable building the Amontec JTAG-Accelerator driver]),
64 [build_amtjtagaccel=$enableval], [build_amtjtagaccel=no])
65
66 AC_ARG_ENABLE(ecosboard,
67 AS_HELP_STRING([--enable-ecosboard], [Enable building support for eCosBoard based JTAG debugger]),
68 [build_ecosboard=$enableval], [build_ecosboard=no])
69
70 AC_ARG_ENABLE(ioutil,
71 AS_HELP_STRING([--enable-ioutil], [Enable ioutil functions - useful for standalone OpenOCD implementations]),
72 [build_ioutil=$enableval], [build_ioutil=no])
73
74 case "${host_cpu}" in
75 arm*)
76 AC_ARG_ENABLE(ep93xx,
77 AS_HELP_STRING([--enable-ep93xx], [Enable building support for EP93xx based SBCs]),
78 [build_ep93xx=$enableval], [build_ep93xx=no])
79
80 AC_ARG_ENABLE(at91rm9200,
81 AS_HELP_STRING([--enable-at91rm9200], [Enable building support for AT91RM9200 based SBCs]),
82 [build_at91rm9200=$enableval], [build_at91rm9200=no])
83 ;;
84
85 *)
86 build_ep93xx=no
87 build_at91rm9200=no
88 ;;
89 esac
90
91 AC_ARG_ENABLE(gw16012,
92 AS_HELP_STRING([--enable-gw16012], [Enable building support for the Gateworks GW16012 JTAG Programmer]),
93 [build_gw16012=$enableval], [build_gw16012=no])
94
95 AC_ARG_ENABLE(presto_libftdi,
96 AS_HELP_STRING([--enable-presto_libftdi], [Enable building support for ASIX Presto Programmer using the libftdi driver]),
97 [build_presto_libftdi=$enableval], [build_presto_libftdi=no])
98
99 AC_ARG_ENABLE(presto_ftd2xx,
100 AS_HELP_STRING([--enable-presto_ftd2xx], [Enable building support for ASIX Presto Programmer using the FTD2XX driver]),
101 [build_presto_ftd2xx=$enableval], [build_presto_ftd2xx=no])
102
103 AC_ARG_ENABLE(usbprog,
104 AS_HELP_STRING([--enable-usbprog], [Enable building support for the usbprog JTAG Programmer]),
105 [build_usbprog=$enableval], [build_usbprog=no])
106
107 AC_ARG_ENABLE(oocd_trace,
108 AS_HELP_STRING([--enable-oocd_trace], [Enable building support for the OpenOCD+trace ETM capture device]),
109 [build_oocd_trace=$enableval], [build_oocd_trace=no])
110
111 AC_ARG_ENABLE(jlink,
112 AS_HELP_STRING([--enable-jlink], [Enable building support for the Segger J-Link JTAG Programmer]),
113 [build_jlink=$enableval], [build_jlink=no])
114
115 AC_ARG_WITH(ftd2xx,
116 [AS_HELP_STRING(--with-ftd2xx,
117 [Where libftd2xx can be found <default=search>])],
118 [],
119 with_ftd2xx=search)
120
121 case $host in
122 *-cygwin*)
123 is_win32=yes
124
125 AC_ARG_ENABLE(parport_giveio,
126 AS_HELP_STRING([--enable-parport_giveio], [Enable use of giveio for parport instead of ioperm]),
127 [parport_use_giveio=$enableval], [parport_use_giveio=no])
128
129 AC_COMPILE_IFELSE(AC_LANG_PROGRAM([],[return __MINGW32__;]),[is_mingw=yes],[is_mingw=no])
130 if test $is_mingw = yes; then
131 AC_DEFINE(IS_MINGW, 1, [1 if building for MinGW.])
132 parport_use_giveio=yes
133 is_cygwin=no
134 else
135 is_cygwin=yes
136 AC_DEFINE(IS_CYGWIN, 1, [1 if building for Cygwin.])
137 fi
138
139 AC_DEFINE(IS_WIN32, 1, [1 if building for Win32.])
140 ;;
141 *-mingw*)
142 is_mingw=yes
143 is_win32=yes
144
145 parport_use_giveio=yes
146
147 AC_DEFINE(IS_MINGW, 1, [1 if building for MinGW.])
148 AC_DEFINE(IS_WIN32, 1, [1 if building for Win32.])
149 ;;
150 *)
151 parport_use_giveio=no
152 AC_DEFINE(IS_CYGWIN, 0, [0 if not building for Cygwin.])
153 AC_DEFINE(IS_WIN32, 0, [0 if not building for Win32.])
154 ;;
155 esac
156
157 if test $build_parport = yes; then
158 build_bitbang=yes
159 AC_DEFINE(BUILD_PARPORT, 1, [1 if you want parport.])
160 else
161 AC_DEFINE(BUILD_PARPORT, 0, [0 if you don't want parport.])
162 fi
163
164 if test $build_dummy = yes; then
165 build_bitbang=yes
166 AC_DEFINE(BUILD_DUMMY, 1, [1 if you want dummy driver.])
167 else
168 AC_DEFINE(BUILD_DUMMY, 0, [0 if you don't want dummy driver.])
169 fi
170
171
172 if test $build_ep93xx = yes; then
173 build_bitbang=yes
174 AC_DEFINE(BUILD_EP93XX, 1, [1 if you want ep93xx.])
175 else
176 AC_DEFINE(BUILD_EP93XX, 0, [0 if you don't want ep93xx.])
177 fi
178
179 if test $build_ecosboard = yes; then
180 build_bitbang=yes
181 AC_DEFINE(BUILD_ECOSBOARD, 1, [1 if you want eCosBoard.])
182 else
183 AC_DEFINE(BUILD_ECOSBOARD, 0, [0 if you don't want eCosBoard.])
184 fi
185
186 if test $build_ioutil = yes; then
187 AC_DEFINE(BUILD_IOUTIL, 1, [1 if you want ioutils.])
188 else
189 AC_DEFINE(BUILD_IOUTIL, 0, [0 if you don't want ioutils.])
190 fi
191
192 if test $build_at91rm9200 = yes; then
193 build_bitbang=yes
194 AC_DEFINE(BUILD_AT91RM9200, 1, [1 if you want at91rm9200.])
195 else
196 AC_DEFINE(BUILD_AT91RM9200, 0, [0 if you don't want at91rm9200.])
197 fi
198
199 if test $parport_use_ppdev = yes; then
200 AC_DEFINE(PARPORT_USE_PPDEV, 1, [1 if you want parport to use ppdev.])
201 else
202 AC_DEFINE(PARPORT_USE_PPDEV, 0, [0 if you don't want parport to use ppdev.])
203 fi
204
205 if test $parport_use_giveio = yes; then
206 AC_DEFINE(PARPORT_USE_GIVEIO, 1, [1 if you want parport to use giveio.])
207 else
208 AC_DEFINE(PARPORT_USE_GIVEIO, 0, [0 if you don't want parport to use giveio.])
209 fi
210
211 if test $build_bitbang = yes; then
212 AC_DEFINE(BUILD_BITBANG, 1, [1 if you want a bitbang interface.])
213 else
214 AC_DEFINE(BUILD_BITBANG, 0, [0 if you don't want a bitbang interface.])
215 fi
216
217 if test $build_ft2232_libftdi = yes; then
218 AC_DEFINE(BUILD_FT2232_LIBFTDI, 1, [1 if you want libftdi ft2232.])
219 else
220 AC_DEFINE(BUILD_FT2232_LIBFTDI, 0, [0 if you don't want libftdi ft2232.])
221 fi
222
223 if test $build_ft2232_ftd2xx = yes; then
224 AC_DEFINE(BUILD_FT2232_FTD2XX, 1, [1 if you want ftd2xx ft2232.])
225 else
226 AC_DEFINE(BUILD_FT2232_FTD2XX, 0, [0 if you don't want ftd2xx ft2232.])
227 fi
228
229 if test $build_amtjtagaccel = yes; then
230 AC_DEFINE(BUILD_AMTJTAGACCEL, 1, [1 if you want the Amontec JTAG-Accelerator driver.])
231 else
232 AC_DEFINE(BUILD_AMTJTAGACCEL, 0, [0 if you don't want the Amontec JTAG-Accelerator driver.])
233 fi
234
235 if test $build_gw16012 = yes; then
236 AC_DEFINE(BUILD_GW16012, 1, [1 if you want the Gateworks GW16012 driver.])
237 else
238 AC_DEFINE(BUILD_GW16012, 0, [0 if you don't want the Gateworks GW16012 driver.])
239 fi
240
241 if test $build_presto_libftdi = yes; then
242 build_bitq=yes
243 AC_DEFINE(BUILD_PRESTO_LIBFTDI, 1, [1 if you want the ASIX PRESTO driver using libftdi.])
244 else
245 AC_DEFINE(BUILD_PRESTO_LIBFTDI, 0, [0 if you don't want the ASIX PRESTO driver using libftdi.])
246 fi
247
248 if test $build_presto_ftd2xx = yes; then
249 build_bitq=yes
250 AC_DEFINE(BUILD_PRESTO_FTD2XX, 1, [1 if you want the ASIX PRESTO driver using FTD2XX.])
251 else
252 AC_DEFINE(BUILD_PRESTO_FTD2XX, 0, [0 if you don't want the ASIX PRESTO driver using FTD2XX.])
253 fi
254
255 if test $build_bitq = yes; then
256 AC_DEFINE(BUILD_BITQ, 1, [1 if you want a bitq interface.])
257 else
258 AC_DEFINE(BUILD_BITQ, 0, [0 if you don't want a bitq interface.])
259 fi
260
261 if test $build_usbprog = yes; then
262 AC_DEFINE(BUILD_USBPROG, 1, [1 if you want the usbprog JTAG driver.])
263 else
264 AC_DEFINE(BUILD_USBPROG, 0, [0 if you don't want the usbprog JTAG driver.])
265 fi
266
267 if test $build_oocd_trace = yes; then
268 AC_DEFINE(BUILD_OOCD_TRACE, 1, [1 if you want the OpenOCD+trace ETM capture driver.])
269 else
270 AC_DEFINE(BUILD_OOCD_TRACE, 0, [0 if you don't want the OpenOCD+trace ETM capture driver.])
271 fi
272
273 if test $build_jlink = yes; then
274 AC_DEFINE(BUILD_JLINK, 1, [1 if you want the J-Link JTAG driver.])
275 else
276 AC_DEFINE(BUILD_JLINK, 0, [0 if you don't want the J-Link JTAG driver.])
277 fi
278
279 AM_CONFIG_HEADER(config.h)
280 AM_INIT_AUTOMAKE(openocd, 1.0)
281
282 AM_CONDITIONAL(PARPORT, test $build_parport = yes)
283 AM_CONDITIONAL(DUMMY, test $build_dummy = yes)
284 AM_CONDITIONAL(GIVEIO, test $parport_use_giveio = yes)
285 AM_CONDITIONAL(EP93XX, test $build_ep93xx = yes)
286 AM_CONDITIONAL(ECOSBOARD, test $build_ecosboard = yes)
287 AM_CONDITIONAL(IOUTIL, test $build_ioutil = yes)
288 AM_CONDITIONAL(AT91RM9200, test $build_at91rm9200 = yes)
289 AM_CONDITIONAL(BITBANG, test $build_bitbang = yes)
290 AM_CONDITIONAL(FT2232_LIBFTDI, test $build_ft2232_libftdi = yes)
291 AM_CONDITIONAL(FT2232_FTD2XX, test $build_ft2232_ftd2xx = yes)
292 AM_CONDITIONAL(AMTJTAGACCEL, test $build_amtjtagaccel = yes)
293 AM_CONDITIONAL(GW16012, test $build_gw16012 = yes)
294 AM_CONDITIONAL(PRESTO_LIBFTDI, test $build_presto_libftdi = yes)
295 AM_CONDITIONAL(PRESTO_FTD2XX, test $build_presto_ftd2xx = yes)
296 AM_CONDITIONAL(USBPROG, test $build_usbprog = yes)
297 AM_CONDITIONAL(OOCD_TRACE, test $build_oocd_trace = yes)
298 AM_CONDITIONAL(JLINK, test $build_jlink = yes)
299 AM_CONDITIONAL(IS_CYGWIN, test $is_cygwin = yes)
300 AM_CONDITIONAL(IS_MINGW, test $is_mingw = yes)
301 AM_CONDITIONAL(IS_WIN32, test $is_win32 = yes)
302 AM_CONDITIONAL(FTD2XXDIR, test $with_ftd2xx != search)
303 AM_CONDITIONAL(BITQ, test $build_bitq = yes)
304
305 AC_LANG_C
306 AC_PROG_CC
307 AC_PROG_RANLIB
308
309 # set default gcc warnings
310 GCC_WARNINGS="-Wall -Wstrict-prototypes"
311
312 # overide default gcc cflags
313 if test $gcc_warnings = yes; then
314 CFLAGS="$CFLAGS $GCC_WARNINGS"
315 fi
316
317 # Setup for compiling build tools
318 AC_MSG_CHECKING([for a C compiler for build tools])
319 if test $cross_compiling = yes; then
320 AC_CHECK_PROGS(CC_FOR_BUILD, gcc cc)
321 CFLAGS_FOR_BUILD="-g -O2 $GCC_WARNINGS"
322 else
323 CC_FOR_BUILD=$CC
324 CFLAGS_FOR_BUILD=$CFLAGS
325 fi
326
327 AC_MSG_RESULT([$CC_FOR_BUILD])
328 AC_SUBST(CC_FOR_BUILD)
329 AC_SUBST(CFLAGS_FOR_BUILD)
330
331 AC_MSG_CHECKING([for suffix of executable build tools])
332 if test $cross_compiling = yes; then
333 cat >conftest.c <<\_______EOF
334 int main ()
335 {
336 exit (0);
337 }
338 _______EOF
339 for i in .exe ""; do
340 compile="$CC_FOR_BUILD conftest.c -o conftest$i"
341 if AC_TRY_EVAL(compile); then
342 if (./conftest) 2>&AC_FD_CC; then
343 EXEEXT_FOR_BUILD=$i
344 break
345 fi
346 fi
347 done
348 rm -f conftest*
349 if test "${EXEEXT_FOR_BUILD+set}" != set; then
350 AC_MSG_ERROR([Cannot determine suffix of executable build tools])
351 fi
352 else
353 EXEEXT_FOR_BUILD=$EXEEXT
354 fi
355 AC_MSG_RESULT([$EXEEXT_FOR_BUILD])
356 AC_SUBST(EXEEXT_FOR_BUILD)
357
358 AC_SUBST(WITH_FTD2XX, $with_ftd2xx)
359
360 AC_OUTPUT(Makefile src/Makefile src/helper/Makefile src/jtag/Makefile src/xsvf/Makefile src/target/Makefile src/server/Makefile src/flash/Makefile src/pld/Makefile doc/Makefile)

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)