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