642be2ede8d0ab91e10297e426875f9477601f80
[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 AC_ARG_ENABLE(httpd,
75 AS_HELP_STRING([--enable-httpd], [Enable builtin httpd server - useful for standalone OpenOCD implementations]),
76 [build_httpd=$enableval], [build_httpd=no])
77
78 case "${host_cpu}" in
79 arm*)
80 AC_ARG_ENABLE(ep93xx,
81 AS_HELP_STRING([--enable-ep93xx], [Enable building support for EP93xx based SBCs]),
82 [build_ep93xx=$enableval], [build_ep93xx=no])
83
84 AC_ARG_ENABLE(at91rm9200,
85 AS_HELP_STRING([--enable-at91rm9200], [Enable building support for AT91RM9200 based SBCs]),
86 [build_at91rm9200=$enableval], [build_at91rm9200=no])
87 ;;
88
89 *)
90 build_ep93xx=no
91 build_at91rm9200=no
92 ;;
93 esac
94
95 AC_ARG_ENABLE(gw16012,
96 AS_HELP_STRING([--enable-gw16012], [Enable building support for the Gateworks GW16012 JTAG Programmer]),
97 [build_gw16012=$enableval], [build_gw16012=no])
98
99 AC_ARG_ENABLE(presto_libftdi,
100 AS_HELP_STRING([--enable-presto_libftdi], [Enable building support for ASIX Presto Programmer using the libftdi driver]),
101 [build_presto_libftdi=$enableval], [build_presto_libftdi=no])
102
103 AC_ARG_ENABLE(presto_ftd2xx,
104 AS_HELP_STRING([--enable-presto_ftd2xx], [Enable building support for ASIX Presto Programmer using the FTD2XX driver]),
105 [build_presto_ftd2xx=$enableval], [build_presto_ftd2xx=no])
106
107 AC_ARG_ENABLE(usbprog,
108 AS_HELP_STRING([--enable-usbprog], [Enable building support for the usbprog JTAG Programmer]),
109 [build_usbprog=$enableval], [build_usbprog=no])
110
111 AC_ARG_ENABLE(oocd_trace,
112 AS_HELP_STRING([--enable-oocd_trace], [Enable building support for the OpenOCD+trace ETM capture device]),
113 [build_oocd_trace=$enableval], [build_oocd_trace=no])
114
115 AC_ARG_ENABLE(jlink,
116 AS_HELP_STRING([--enable-jlink], [Enable building support for the Segger J-Link JTAG Programmer]),
117 [build_jlink=$enableval], [build_jlink=no])
118
119 AC_ARG_WITH(ftd2xx,
120 [AS_HELP_STRING(--with-ftd2xx,
121 [Where libftd2xx can be found <default=search>])],
122 [],
123 with_ftd2xx=search)
124
125 case $host in
126 *-cygwin*)
127 is_win32=yes
128
129 AC_ARG_ENABLE(parport_giveio,
130 AS_HELP_STRING([--enable-parport_giveio], [Enable use of giveio for parport instead of ioperm]),
131 [parport_use_giveio=$enableval], [parport_use_giveio=no])
132
133 AC_COMPILE_IFELSE(AC_LANG_PROGRAM([],[return __MINGW32__;]),[is_mingw=yes],[is_mingw=no])
134 if test $is_mingw = yes; then
135 AC_DEFINE(IS_MINGW, 1, [1 if building for MinGW.])
136 parport_use_giveio=yes
137 is_cygwin=no
138 else
139 is_cygwin=yes
140 AC_DEFINE(IS_CYGWIN, 1, [1 if building for Cygwin.])
141 fi
142
143 AC_DEFINE(IS_WIN32, 1, [1 if building for Win32.])
144 ;;
145 *-mingw*)
146 is_mingw=yes
147 is_win32=yes
148
149 parport_use_giveio=yes
150
151 AC_DEFINE(IS_MINGW, 1, [1 if building for MinGW.])
152 AC_DEFINE(IS_WIN32, 1, [1 if building for Win32.])
153 ;;
154 *)
155 parport_use_giveio=no
156 AC_DEFINE(IS_CYGWIN, 0, [0 if not building for Cygwin.])
157 AC_DEFINE(IS_WIN32, 0, [0 if not building for Win32.])
158 ;;
159 esac
160
161 if test $build_parport = yes; then
162 build_bitbang=yes
163 AC_DEFINE(BUILD_PARPORT, 1, [1 if you want parport.])
164 else
165 AC_DEFINE(BUILD_PARPORT, 0, [0 if you don't want parport.])
166 fi
167
168 if test $build_dummy = yes; then
169 build_bitbang=yes
170 AC_DEFINE(BUILD_DUMMY, 1, [1 if you want dummy driver.])
171 else
172 AC_DEFINE(BUILD_DUMMY, 0, [0 if you don't want dummy driver.])
173 fi
174
175
176 if test $build_ep93xx = yes; then
177 build_bitbang=yes
178 AC_DEFINE(BUILD_EP93XX, 1, [1 if you want ep93xx.])
179 else
180 AC_DEFINE(BUILD_EP93XX, 0, [0 if you don't want ep93xx.])
181 fi
182
183 if test $build_ecosboard = yes; then
184 build_bitbang=yes
185 AC_DEFINE(BUILD_ECOSBOARD, 1, [1 if you want eCosBoard.])
186 else
187 AC_DEFINE(BUILD_ECOSBOARD, 0, [0 if you don't want eCosBoard.])
188 fi
189
190 if test $build_ioutil = yes; then
191 AC_DEFINE(BUILD_IOUTIL, 1, [1 if you want ioutils.])
192 else
193 AC_DEFINE(BUILD_IOUTIL, 0, [0 if you don't want ioutils.])
194 fi
195
196 if test $build_httpd = yes; then
197 AC_DEFINE(BUILD_HTTPD, 1, [1 if you want httpd.])
198 else
199 AC_DEFINE(BUILD_HTTPD, 0, [0 if you don't want httpd.])
200 fi
201
202 if test $build_at91rm9200 = yes; then
203 build_bitbang=yes
204 AC_DEFINE(BUILD_AT91RM9200, 1, [1 if you want at91rm9200.])
205 else
206 AC_DEFINE(BUILD_AT91RM9200, 0, [0 if you don't want at91rm9200.])
207 fi
208
209 if test $parport_use_ppdev = yes; then
210 AC_DEFINE(PARPORT_USE_PPDEV, 1, [1 if you want parport to use ppdev.])
211 else
212 AC_DEFINE(PARPORT_USE_PPDEV, 0, [0 if you don't want parport to use ppdev.])
213 fi
214
215 if test $parport_use_giveio = yes; then
216 AC_DEFINE(PARPORT_USE_GIVEIO, 1, [1 if you want parport to use giveio.])
217 else
218 AC_DEFINE(PARPORT_USE_GIVEIO, 0, [0 if you don't want parport to use giveio.])
219 fi
220
221 if test $build_bitbang = yes; then
222 AC_DEFINE(BUILD_BITBANG, 1, [1 if you want a bitbang interface.])
223 else
224 AC_DEFINE(BUILD_BITBANG, 0, [0 if you don't want a bitbang interface.])
225 fi
226
227 if test $build_ft2232_libftdi = yes; then
228 AC_DEFINE(BUILD_FT2232_LIBFTDI, 1, [1 if you want libftdi ft2232.])
229 else
230 AC_DEFINE(BUILD_FT2232_LIBFTDI, 0, [0 if you don't want libftdi ft2232.])
231 fi
232
233 if test $build_ft2232_ftd2xx = yes; then
234 AC_DEFINE(BUILD_FT2232_FTD2XX, 1, [1 if you want ftd2xx ft2232.])
235 else
236 AC_DEFINE(BUILD_FT2232_FTD2XX, 0, [0 if you don't want ftd2xx ft2232.])
237 fi
238
239 if test $build_amtjtagaccel = yes; then
240 AC_DEFINE(BUILD_AMTJTAGACCEL, 1, [1 if you want the Amontec JTAG-Accelerator driver.])
241 else
242 AC_DEFINE(BUILD_AMTJTAGACCEL, 0, [0 if you don't want the Amontec JTAG-Accelerator driver.])
243 fi
244
245 if test $build_gw16012 = yes; then
246 AC_DEFINE(BUILD_GW16012, 1, [1 if you want the Gateworks GW16012 driver.])
247 else
248 AC_DEFINE(BUILD_GW16012, 0, [0 if you don't want the Gateworks GW16012 driver.])
249 fi
250
251 if test $build_presto_libftdi = yes; then
252 build_bitq=yes
253 AC_DEFINE(BUILD_PRESTO_LIBFTDI, 1, [1 if you want the ASIX PRESTO driver using libftdi.])
254 else
255 AC_DEFINE(BUILD_PRESTO_LIBFTDI, 0, [0 if you don't want the ASIX PRESTO driver using libftdi.])
256 fi
257
258 if test $build_presto_ftd2xx = yes; then
259 build_bitq=yes
260 AC_DEFINE(BUILD_PRESTO_FTD2XX, 1, [1 if you want the ASIX PRESTO driver using FTD2XX.])
261 else
262 AC_DEFINE(BUILD_PRESTO_FTD2XX, 0, [0 if you don't want the ASIX PRESTO driver using FTD2XX.])
263 fi
264
265 if test $build_bitq = yes; then
266 AC_DEFINE(BUILD_BITQ, 1, [1 if you want a bitq interface.])
267 else
268 AC_DEFINE(BUILD_BITQ, 0, [0 if you don't want a bitq interface.])
269 fi
270
271 if test $build_usbprog = yes; then
272 AC_DEFINE(BUILD_USBPROG, 1, [1 if you want the usbprog JTAG driver.])
273 else
274 AC_DEFINE(BUILD_USBPROG, 0, [0 if you don't want the usbprog JTAG driver.])
275 fi
276
277 if test $build_oocd_trace = yes; then
278 AC_DEFINE(BUILD_OOCD_TRACE, 1, [1 if you want the OpenOCD+trace ETM capture driver.])
279 else
280 AC_DEFINE(BUILD_OOCD_TRACE, 0, [0 if you don't want the OpenOCD+trace ETM capture driver.])
281 fi
282
283 if test $build_jlink = yes; then
284 AC_DEFINE(BUILD_JLINK, 1, [1 if you want the J-Link JTAG driver.])
285 else
286 AC_DEFINE(BUILD_JLINK, 0, [0 if you don't want the J-Link JTAG driver.])
287 fi
288
289 AM_CONFIG_HEADER(config.h)
290 AM_INIT_AUTOMAKE(openocd, 1.0)
291
292 AM_CONDITIONAL(PARPORT, test $build_parport = yes)
293 AM_CONDITIONAL(DUMMY, test $build_dummy = yes)
294 AM_CONDITIONAL(GIVEIO, test $parport_use_giveio = yes)
295 AM_CONDITIONAL(EP93XX, test $build_ep93xx = yes)
296 AM_CONDITIONAL(ECOSBOARD, test $build_ecosboard = yes)
297 AM_CONDITIONAL(IOUTIL, test $build_ioutil = yes)
298 AM_CONDITIONAL(HTTPD, test $build_httpd = yes)
299 AM_CONDITIONAL(AT91RM9200, test $build_at91rm9200 = yes)
300 AM_CONDITIONAL(BITBANG, test $build_bitbang = yes)
301 AM_CONDITIONAL(FT2232_LIBFTDI, test $build_ft2232_libftdi = yes)
302 AM_CONDITIONAL(FT2232_FTD2XX, test $build_ft2232_ftd2xx = yes)
303 AM_CONDITIONAL(AMTJTAGACCEL, test $build_amtjtagaccel = yes)
304 AM_CONDITIONAL(GW16012, test $build_gw16012 = yes)
305 AM_CONDITIONAL(PRESTO_LIBFTDI, test $build_presto_libftdi = yes)
306 AM_CONDITIONAL(PRESTO_FTD2XX, test $build_presto_ftd2xx = yes)
307 AM_CONDITIONAL(USBPROG, test $build_usbprog = yes)
308 AM_CONDITIONAL(OOCD_TRACE, test $build_oocd_trace = yes)
309 AM_CONDITIONAL(JLINK, test $build_jlink = yes)
310 AM_CONDITIONAL(IS_CYGWIN, test $is_cygwin = yes)
311 AM_CONDITIONAL(IS_MINGW, test $is_mingw = yes)
312 AM_CONDITIONAL(IS_WIN32, test $is_win32 = yes)
313 AM_CONDITIONAL(FTD2XXDIR, test $with_ftd2xx != search)
314 AM_CONDITIONAL(BITQ, test $build_bitq = yes)
315
316 AC_LANG_C
317 AC_PROG_CC
318 AC_PROG_RANLIB
319
320 # set default gcc warnings
321 GCC_WARNINGS="-Wall -Wstrict-prototypes"
322
323 # overide default gcc cflags
324 if test $gcc_warnings = yes; then
325 CFLAGS="$CFLAGS $GCC_WARNINGS"
326 fi
327
328 # Setup for compiling build tools
329 AC_MSG_CHECKING([for a C compiler for build tools])
330 if test $cross_compiling = yes; then
331 AC_CHECK_PROGS(CC_FOR_BUILD, gcc cc)
332 CFLAGS_FOR_BUILD="-g -O2 $GCC_WARNINGS"
333 else
334 CC_FOR_BUILD=$CC
335 CFLAGS_FOR_BUILD=$CFLAGS
336 fi
337
338 AC_MSG_RESULT([$CC_FOR_BUILD])
339 AC_SUBST(CC_FOR_BUILD)
340 AC_SUBST(CFLAGS_FOR_BUILD)
341
342 AC_MSG_CHECKING([for suffix of executable build tools])
343 if test $cross_compiling = yes; then
344 cat >conftest.c <<\_______EOF
345 int main ()
346 {
347 exit (0);
348 }
349 _______EOF
350 for i in .exe ""; do
351 compile="$CC_FOR_BUILD conftest.c -o conftest$i"
352 if AC_TRY_EVAL(compile); then
353 if (./conftest) 2>&AC_FD_CC; then
354 EXEEXT_FOR_BUILD=$i
355 break
356 fi
357 fi
358 done
359 rm -f conftest*
360 if test "${EXEEXT_FOR_BUILD+set}" != set; then
361 AC_MSG_ERROR([Cannot determine suffix of executable build tools])
362 fi
363 else
364 EXEEXT_FOR_BUILD=$EXEEXT
365 fi
366 AC_MSG_RESULT([$EXEEXT_FOR_BUILD])
367 AC_SUBST(EXEEXT_FOR_BUILD)
368
369 AC_SUBST(WITH_FTD2XX, $with_ftd2xx)
370
371 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)