- added jlink support, based on Jürgen Stuber patch
[openocd.git] / configure.in
1 AC_PREREQ(2.59)
2 AC_INIT(configure.in)
3
4 AC_SEARCH_LIBS([ioperm], [ioperm])
5
6 AC_CANONICAL_HOST
7
8 AC_CHECK_HEADERS(jtag_minidriver.h)
9 AC_CHECK_HEADERS(sys/param.h)
10 AC_CHECK_HEADERS(sys/time.h)
11 AC_CHECK_HEADERS(elf.h)
12 AC_CHECK_HEADERS(strings.h)
13
14 AC_HEADER_TIME
15
16 AC_C_BIGENDIAN
17
18 AC_CHECK_FUNCS(strndup)
19 AC_CHECK_FUNCS(strnlen)
20 AC_CHECK_FUNCS(gettimeofday)
21 AC_CHECK_FUNCS(usleep)
22
23 build_bitbang=no
24 build_bitq=no
25 is_cygwin=no
26 is_mingw=no
27 is_win32=no
28
29 AC_ARG_ENABLE(parport,
30 AS_HELP_STRING([--enable-parport], [Enable building the pc parallel port driver]),
31 [build_parport=$enableval], [build_parport=no])
32
33 AC_ARG_ENABLE(dummy,
34 AS_HELP_STRING([--enable-dummy], [Enable building the dummy port driver]),
35 [build_dummy=$enableval], [build_dummy=no])
36
37 case "${host_cpu}" in
38 i?86|x86*)
39 AC_ARG_ENABLE(parport_ppdev,
40 AS_HELP_STRING([--enable-parport_ppdev], [Enable use of ppdev (/dev/parportN) for parport]),
41 [parport_use_ppdev=$enableval], [parport_use_ppdev=no])
42 ;;
43 *)
44 parport_use_ppdev=yes
45 ;;
46 esac
47
48 AC_ARG_ENABLE(ft2232_libftdi,
49 AS_HELP_STRING([--enable-ft2232_libftdi], [Enable building support for FT2232 based devices using the libftdi driver]),
50 [build_ft2232_libftdi=$enableval], [build_ft2232_libftdi=no])
51
52 AC_ARG_ENABLE(ft2232_ftd2xx,
53 AS_HELP_STRING([--enable-ft2232_ftd2xx], [Enable building support for FT2232 based devices using the FTD2XX driver]),
54 [build_ft2232_ftd2xx=$enableval], [build_ft2232_ftd2xx=no])
55
56 AC_ARG_ENABLE(amtjtagaccel,
57 AS_HELP_STRING([--enable-amtjtagaccel], [Enable building the Amontec JTAG-Accelerator driver]),
58 [build_amtjtagaccel=$enableval], [build_amtjtagaccel=no])
59
60 case "${host_cpu}" in
61 arm*)
62 AC_ARG_ENABLE(ep93xx,
63 AS_HELP_STRING([--enable-ep93xx], [Enable building support for EP93xx based SBCs]),
64 [build_ep93xx=$enableval], [build_ep93xx=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(at91rm9200,
71 AS_HELP_STRING([--enable-at91rm9200], [Enable building support for AT91RM9200 based SBCs]),
72 [build_at91rm9200=$enableval], [build_at91rm9200=no])
73 ;;
74
75 *)
76 build_ep93xx=no
77 build_at91rm9200=no
78 build_ecosboard=no
79 ;;
80 esac
81
82 AC_ARG_ENABLE(gw16012,
83 AS_HELP_STRING([--enable-gw16012], [Enable building support for the Gateworks GW16012 JTAG Programmer]),
84 [build_gw16012=$enableval], [build_gw16012=no])
85
86 AC_ARG_ENABLE(presto_libftdi,
87 AS_HELP_STRING([--enable-presto_libftdi], [Enable building support for ASIX Presto Programmer using the libftdi driver]),
88 [build_presto_libftdi=$enableval], [build_presto_libftdi=no])
89
90 AC_ARG_ENABLE(presto_ftd2xx,
91 AS_HELP_STRING([--enable-presto_ftd2xx], [Enable building support for ASIX Presto Programmer using the FTD2XX driver]),
92 [build_presto_ftd2xx=$enableval], [build_presto_ftd2xx=no])
93
94 AC_ARG_ENABLE(usbprog,
95 AS_HELP_STRING([--enable-usbprog], [Enable building support for the usbprog JTAG Programmer]),
96 [build_usbprog=$enableval], [build_usbprog=no])
97
98 AC_ARG_ENABLE(oocd_trace,
99 AS_HELP_STRING([--enable-oocd_trace], [Enable building support for the OpenOCD+trace ETM capture device]),
100 [build_oocd_trace=$enableval], [build_oocd_trace=no])
101
102 AC_ARG_ENABLE(jlink,
103 AS_HELP_STRING([--enable-jlink], [Enable building support for the Segger J-Link JTAG Programmer]),
104 [build_jlink=$enableval], [build_jlink=no])
105
106 AC_ARG_WITH(ftd2xx,
107 [AS_HELP_STRING(--with-ftd2xx,
108 [Where libftd2xx can be found <default=search>])],
109 [],
110 with_ftd2xx=search)
111
112 case $host in
113 *-cygwin*)
114 is_win32=yes
115
116 AC_ARG_ENABLE(parport_giveio,
117 AS_HELP_STRING([--enable-parport_giveio], [Enable use of giveio for parport instead of ioperm]),
118 [parport_use_giveio=$enableval], [parport_use_giveio=no])
119
120 AC_COMPILE_IFELSE(AC_LANG_PROGRAM([],[return __MINGW32__;]),[is_mingw=yes],[is_mingw=no])
121 if test $is_mingw = yes; then
122 AC_DEFINE(IS_MINGW, 1, [1 if building for MinGW.])
123 parport_use_giveio=yes
124 is_cygwin=no
125 else
126 is_cygwin=yes
127 AC_DEFINE(IS_CYGWIN, 1, [1 if building for Cygwin.])
128 fi
129
130 AC_DEFINE(IS_WIN32, 1, [1 if building for Win32.])
131 ;;
132 *-mingw*)
133 is_mingw=yes
134 is_win32=yes
135
136 parport_use_giveio=yes
137
138 AC_DEFINE(IS_MINGW, 1, [1 if building for MinGW.])
139 AC_DEFINE(IS_WIN32, 1, [1 if building for Win32.])
140 ;;
141 *)
142 parport_use_giveio=no
143 AC_DEFINE(IS_CYGWIN, 0, [0 if not building for Cygwin.])
144 AC_DEFINE(IS_WIN32, 0, [0 if not building for Win32.])
145 ;;
146 esac
147
148 if test $build_parport = yes; then
149 build_bitbang=yes
150 AC_DEFINE(BUILD_PARPORT, 1, [1 if you want parport.])
151 else
152 AC_DEFINE(BUILD_PARPORT, 0, [0 if you don't want parport.])
153 fi
154
155 if test $build_dummy = yes; then
156 build_bitbang=yes
157 AC_DEFINE(BUILD_DUMMY, 1, [1 if you want dummy driver.])
158 else
159 AC_DEFINE(BUILD_DUMMY, 0, [0 if you don't want dummy driver.])
160 fi
161
162
163 if test $build_ep93xx = yes; then
164 build_bitbang=yes
165 AC_DEFINE(BUILD_EP93XX, 1, [1 if you want ep93xx.])
166 else
167 AC_DEFINE(BUILD_EP93XX, 0, [0 if you don't want ep93xx.])
168 fi
169
170 if test $build_ecosboard = yes; then
171 build_bitbang=yes
172 AC_DEFINE(BUILD_ECOSBOARD, 1, [1 if you want eCosBoard.])
173 else
174 AC_DEFINE(BUILD_ECOSBOARD, 0, [0 if you don't want eCosBoard.])
175 fi
176
177 if test $build_at91rm9200 = yes; then
178 build_bitbang=yes
179 AC_DEFINE(BUILD_AT91RM9200, 1, [1 if you want at91rm9200.])
180 else
181 AC_DEFINE(BUILD_AT91RM9200, 0, [0 if you don't want at91rm9200.])
182 fi
183
184 if test $parport_use_ppdev = yes; then
185 AC_DEFINE(PARPORT_USE_PPDEV, 1, [1 if you want parport to use ppdev.])
186 else
187 AC_DEFINE(PARPORT_USE_PPDEV, 0, [0 if you don't want parport to use ppdev.])
188 fi
189
190 if test $parport_use_giveio = yes; then
191 AC_DEFINE(PARPORT_USE_GIVEIO, 1, [1 if you want parport to use giveio.])
192 else
193 AC_DEFINE(PARPORT_USE_GIVEIO, 0, [0 if you don't want parport to use giveio.])
194 fi
195
196 if test $build_bitbang = yes; then
197 AC_DEFINE(BUILD_BITBANG, 1, [1 if you want a bitbang interface.])
198 else
199 AC_DEFINE(BUILD_BITBANG, 0, [0 if you don't want a bitbang interface.])
200 fi
201
202 if test $build_ft2232_libftdi = yes; then
203 AC_DEFINE(BUILD_FT2232_LIBFTDI, 1, [1 if you want libftdi ft2232.])
204 else
205 AC_DEFINE(BUILD_FT2232_LIBFTDI, 0, [0 if you don't want libftdi ft2232.])
206 fi
207
208 if test $build_ft2232_ftd2xx = yes; then
209 AC_DEFINE(BUILD_FT2232_FTD2XX, 1, [1 if you want ftd2xx ft2232.])
210 else
211 AC_DEFINE(BUILD_FT2232_FTD2XX, 0, [0 if you don't want ftd2xx ft2232.])
212 fi
213
214 if test $build_amtjtagaccel = yes; then
215 AC_DEFINE(BUILD_AMTJTAGACCEL, 1, [1 if you want the Amontec JTAG-Accelerator driver.])
216 else
217 AC_DEFINE(BUILD_AMTJTAGACCEL, 0, [0 if you don't want the Amontec JTAG-Accelerator driver.])
218 fi
219
220 if test $build_gw16012 = yes; then
221 AC_DEFINE(BUILD_GW16012, 1, [1 if you want the Gateworks GW16012 driver.])
222 else
223 AC_DEFINE(BUILD_GW16012, 0, [0 if you don't want the Gateworks GW16012 driver.])
224 fi
225
226 if test $build_presto_libftdi = yes; then
227 build_bitq=yes
228 AC_DEFINE(BUILD_PRESTO_LIBFTDI, 1, [1 if you want the ASIX PRESTO driver using libftdi.])
229 else
230 AC_DEFINE(BUILD_PRESTO_LIBFTDI, 0, [0 if you don't want the ASIX PRESTO driver using libftdi.])
231 fi
232
233 if test $build_presto_ftd2xx = yes; then
234 build_bitq=yes
235 AC_DEFINE(BUILD_PRESTO_FTD2XX, 1, [1 if you want the ASIX PRESTO driver using FTD2XX.])
236 else
237 AC_DEFINE(BUILD_PRESTO_FTD2XX, 0, [0 if you don't want the ASIX PRESTO driver using FTD2XX.])
238 fi
239
240 if test $build_bitq = yes; then
241 AC_DEFINE(BUILD_BITQ, 1, [1 if you want a bitq interface.])
242 else
243 AC_DEFINE(BUILD_BITQ, 0, [0 if you don't want a bitq interface.])
244 fi
245
246 if test $build_usbprog = yes; then
247 AC_DEFINE(BUILD_USBPROG, 1, [1 if you want the usbprog JTAG driver.])
248 else
249 AC_DEFINE(BUILD_USBPROG, 0, [0 if you don't want the usbprog JTAG driver.])
250 fi
251
252 if test $build_oocd_trace = yes; then
253 AC_DEFINE(BUILD_OOCD_TRACE, 1, [1 if you want the OpenOCD+trace ETM capture driver.])
254 else
255 AC_DEFINE(BUILD_OOCD_TRACE, 0, [0 if you don't want the OpenOCD+trace ETM capture driver.])
256 fi
257
258 if test $build_jlink = yes; then
259 AC_DEFINE(BUILD_JLINK, 1, [1 if you want the J-Link JTAG driver.])
260 else
261 AC_DEFINE(BUILD_JLINK, 0, [0 if you don't want the J-Link JTAG driver.])
262 fi
263
264 AM_CONFIG_HEADER(config.h)
265 AM_INIT_AUTOMAKE(openocd, 1.0)
266
267 AM_CONDITIONAL(PARPORT, test $build_parport = yes)
268 AM_CONDITIONAL(DUMMY, test $build_dummy = yes)
269 AM_CONDITIONAL(GIVEIO, test $parport_use_giveio = yes)
270 AM_CONDITIONAL(EP93XX, test $build_ep93xx = yes)
271 AM_CONDITIONAL(ECOSBOARD, test $build_ecosboard = yes)
272 AM_CONDITIONAL(AT91RM9200, test $build_at91rm9200 = yes)
273 AM_CONDITIONAL(BITBANG, test $build_bitbang = yes)
274 AM_CONDITIONAL(FT2232_LIBFTDI, test $build_ft2232_libftdi = yes)
275 AM_CONDITIONAL(FT2232_FTD2XX, test $build_ft2232_ftd2xx = yes)
276 AM_CONDITIONAL(AMTJTAGACCEL, test $build_amtjtagaccel = yes)
277 AM_CONDITIONAL(GW16012, test $build_gw16012 = yes)
278 AM_CONDITIONAL(PRESTO_LIBFTDI, test $build_presto_libftdi = yes)
279 AM_CONDITIONAL(PRESTO_FTD2XX, test $build_presto_ftd2xx = yes)
280 AM_CONDITIONAL(USBPROG, test $build_usbprog = yes)
281 AM_CONDITIONAL(OOCD_TRACE, test $build_oocd_trace = yes)
282 AM_CONDITIONAL(JLINK, test $build_jlink = yes)
283 AM_CONDITIONAL(IS_CYGWIN, test $is_cygwin = yes)
284 AM_CONDITIONAL(IS_MINGW, test $is_mingw = yes)
285 AM_CONDITIONAL(IS_WIN32, test $is_win32 = yes)
286 AM_CONDITIONAL(FTD2XXDIR, test $with_ftd2xx != search)
287 AM_CONDITIONAL(BITQ, test $build_bitq = yes)
288
289 AC_LANG_C
290 AC_PROG_CC
291 AC_PROG_RANLIB
292
293 AC_SUBST(WITH_FTD2XX, $with_ftd2xx)
294
295 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)