gdb: add target_ops::supports_displaced_step
[deliverable/binutils-gdb.git] / opcodes / configure.ac
CommitLineData
252b5132
RH
1dnl Process this file with autoconf to produce a configure script.
2dnl
b3adc24a 3dnl Copyright (C) 2012-2020 Free Software Foundation, Inc.
5bf135a7
NC
4dnl
5dnl This file is free software; you can redistribute it and/or modify
6dnl it under the terms of the GNU General Public License as published by
7dnl the Free Software Foundation; either version 3 of the License, or
8dnl (at your option) any later version.
43e65147 9dnl
5bf135a7
NC
10dnl This program is distributed in the hope that it will be useful,
11dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
12dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13dnl GNU General Public License for more details.
43e65147 14dnl
5bf135a7
NC
15dnl You should have received a copy of the GNU General Public License
16dnl along with this program; see the file COPYING3. If not see
17dnl <http://www.gnu.org/licenses/>.
18dnl
252b5132 19
2e98a7bd
AM
20m4_include([../bfd/version.m4])
21AC_INIT([opcodes], BFD_VERSION)
979273e3 22AC_CONFIG_SRCDIR([z8k-dis.c])
252b5132 23
979273e3 24AC_CANONICAL_TARGET
252b5132
RH
25AC_ISC_POSIX
26
2e98a7bd 27AM_INIT_AUTOMAKE
252b5132 28
dabbade6
L
29AC_PROG_CC
30AC_GNU_SOURCE
7357c5b6 31AC_USE_SYSTEM_EXTENSIONS
dabbade6 32
da594c4a 33dnl These must be called before LT_INIT, because it may want
252b5132
RH
34dnl to call AC_CHECK_PROG.
35AC_CHECK_TOOL(AR, ar)
36AC_CHECK_TOOL(RANLIB, ranlib, :)
37
38dnl Default to a non shared library. This may be overridden by the
39dnl configure option --enable-shared.
da594c4a 40AC_DISABLE_SHARED
252b5132 41
da594c4a 42LT_INIT
252b5132
RH
43
44AC_ARG_ENABLE(targets,
45[ --enable-targets alternative target configurations],
46[case "${enableval}" in
979273e3 47 yes | "") AC_MSG_ERROR([enable-targets option must specify target names or 'all'])
252b5132
RH
48 ;;
49 no) enable_targets= ;;
50 *) enable_targets=$enableval ;;
51esac])dnl
252b5132 52
9e9b66a9 53AM_BINUTILS_WARNINGS
a2d91340 54
da594c4a 55AC_CONFIG_HEADERS(config.h:config.in)
252b5132 56
df7b86aa
NC
57# PR 14072
58AH_VERBATIM([00_CONFIG_H_CHECK],
59[/* Check that config.h is #included before system headers
60 (this works only for glibc, but that should be enough). */
d17dce55 61#if defined(__GLIBC__) && !defined(__FreeBSD_kernel__) && !defined(__CONFIG_H__)
df7b86aa
NC
62# error config.h must be #included before system headers
63#endif
64#define __CONFIG_H__ 1])
65
252b5132
RH
66if test -z "$target" ; then
67 AC_MSG_ERROR(Unrecognized target system type; please check config.sub.)
68fi
252b5132
RH
69
70AM_MAINTAINER_MODE
81172ff2 71AM_INSTALL_LIBBFD
252b5132
RH
72AC_EXEEXT
73
74# host-specific stuff:
75
e184813f 76ALL_LINGUAS="da de es fi fr ga id it nl pt_BR ro sr sv tr uk vi zh_CN"
20e95c23
DJ
77ZW_GNU_GETTEXT_SISTER_DIR
78AM_PO_SUBDIRS
252b5132
RH
79
80. ${srcdir}/../bfd/configure.host
81
b6849f55
NC
82BFD_CC_FOR_BUILD
83
252b5132
RH
84AC_SUBST(HDEFINES)
85AC_PROG_INSTALL
86
40fb9820 87AC_CHECK_HEADERS(string.h strings.h stdlib.h limits.h)
208a4923 88ACX_HEADER_STRING
252b5132 89
dabbade6 90AC_CHECK_DECLS([basename, stpcpy])
4bd60896 91
8df14d78
L
92# Check if sigsetjmp is available. Using AC_CHECK_FUNCS won't do
93# since sigsetjmp might only be defined as a macro.
94AC_CACHE_CHECK([for sigsetjmp], gdb_cv_func_sigsetjmp,
95[AC_TRY_COMPILE([
96#include <setjmp.h>
97], [sigjmp_buf env; while (! sigsetjmp (env, 1)) siglongjmp (env, 1);],
98bfd_cv_func_sigsetjmp=yes, bfd_cv_func_sigsetjmp=no)])
99if test $bfd_cv_func_sigsetjmp = yes; then
100 AC_DEFINE(HAVE_SIGSETJMP, 1, [Define if sigsetjmp is available. ])
101fi
102
6e31aea3
BE
103cgen_maint=no
104cgendir='$(srcdir)/../cgen'
105
106AC_ARG_ENABLE(cgen-maint,
107[ --enable-cgen-maint[=dir] build cgen generated files],
108[case "${enableval}" in
109 yes) cgen_maint=yes ;;
110 no) cgen_maint=no ;;
111 *)
7fb45a68
AB
112 # Argument is a directory where cgen can be found. In some
113 # future world cgen could be installable, but right now this
114 # is not the case. Instead we assume the directory is a path
115 # to the cgen source tree.
6e31aea3 116 cgen_maint=yes
7fb45a68
AB
117 if test -r ${enableval}/iformat.scm; then
118 # This looks like a cgen source tree.
119 cgendir=${enableval}
120 else
121 AC_MSG_ERROR(${enableval} doesn't look like a cgen source tree)
122 fi
6e31aea3
BE
123 ;;
124esac])dnl
125AM_CONDITIONAL(CGEN_MAINT, test x${cgen_maint} = xyes)
126AC_SUBST(cgendir)
252b5132
RH
127
128using_cgen=no
129
51dec227
AM
130# Check if linker supports --as-needed and --no-as-needed options
131AC_CACHE_CHECK(linker --as-needed support, bfd_cv_ld_as_needed,
132 [bfd_cv_ld_as_needed=no
133 if $LD --help 2>/dev/null | grep as-needed > /dev/null; then
134 bfd_cv_ld_as_needed=yes
135 fi
136 ])
137
138LT_LIB_M
139
2eee5593
AM
140#Libs for generator progs
141if test "x$cross_compiling" = "xno"; then
142 BUILD_LIBS=../libiberty/libiberty.a
143 BUILD_LIB_DEPS=$BUILD_LIBS
144else
145 # if cross-compiling, assume that the system provides -liberty
146 # and that the version is compatible with new headers.
147 BUILD_LIBS=-liberty
148 BUILD_LIB_DEPS=
149fi
150BUILD_LIBS="$BUILD_LIBS $LIBINTL"
151BUILD_LIB_DEPS="$BUILD_LIB_DEPS $LIBINTL_DEP"
152
153AC_SUBST(BUILD_LIBS)
154AC_SUBST(BUILD_LIB_DEPS)
155
45d42143
NC
156# Horrible hacks to build DLLs on Windows and a shared library elsewhere.
157SHARED_LDFLAGS=
158SHARED_LIBADD=
159SHARED_DEPENDENCIES=
160if test "$enable_shared" = "yes"; then
29670fb9
AM
161# When building a shared libopcodes, link against the pic version of libiberty
162# so that apps that use libopcodes won't need libiberty just to satisfy any
163# libopcodes references.
164# We can't do that if a pic libiberty is unavailable since including non-pic
165# code would insert text relocations into libopcodes.
166# Note that linking against libbfd as we do here, which is itself linked
167# against libiberty, may not satisfy all the libopcodes libiberty references
168# since libbfd may not pull in the entirety of libiberty.
169changequote(,)dnl
170 x=`sed -n -e 's/^[ ]*PICFLAG[ ]*=[ ]*//p' < ../libiberty/Makefile | sed -n '$p'`
171changequote([,])dnl
172 if test -n "$x"; then
173 SHARED_LIBADD="-L`pwd`/../libiberty/pic -liberty"
174 fi
175
45d42143
NC
176 case "${host}" in
177 *-*-cygwin*)
178 SHARED_LDFLAGS="-no-undefined"
179 SHARED_LIBADD="-L`pwd`/../bfd -lbfd -L`pwd`/../libiberty -liberty -L`pwd`/../intl -lintl -lcygwin"
180 ;;
0e336180 181 *-*-darwin*)
29670fb9 182 SHARED_LIBADD="-Wl,`pwd`/../bfd/.libs/libbfd.dylib ${SHARED_LIBADD}"
0e336180
NC
183 SHARED_DEPENDENCIES="../bfd/libbfd.la"
184 ;;
45d42143 185 *)
0e336180
NC
186 case "$host_vendor" in
187 hp)
29670fb9 188 SHARED_LIBADD="-Wl,`pwd`/../bfd/.libs/libbfd.sl ${SHARED_LIBADD}"
0e336180
NC
189 ;;
190 *)
29670fb9 191 SHARED_LIBADD="-Wl,`pwd`/../bfd/.libs/libbfd.so ${SHARED_LIBADD}"
0e336180
NC
192 ;;
193 esac
4267b19f 194 SHARED_DEPENDENCIES="../bfd/libbfd.la"
45d42143
NC
195 ;;
196 esac
51dec227
AM
197
198 if test -n "$SHARED_LIBADD"; then
199 if test -n "$LIBM"; then
200 if test x"$bfd_cv_ld_as_needed" = xyes; then
201 # Link against libm only when needed. Put -lc, -lm inside -Wl
202 # to stop libtool reordering these options.
203 SHARED_LIBADD="$SHARED_LIBADD -Wl,-lc,--as-needed,`echo $LIBM | sed 's/ /,/g'`,--no-as-needed"
204 else
205 SHARED_LIBADD="$SHARED_LIBADD $LIBM"
206 fi
207 fi
208 fi
45d42143
NC
209fi
210AC_SUBST(SHARED_LDFLAGS)
211AC_SUBST(SHARED_LIBADD)
212AC_SUBST(SHARED_DEPENDENCIES)
252b5132
RH
213
214# target-specific stuff:
215
216# Canonicalize the secondary target names.
217if test -n "$enable_targets" ; then
218 for targ in `echo $enable_targets | sed 's/,/ /g'`
219 do
6d83c84b 220 result=`$ac_config_sub $targ 2>/dev/null`
252b5132
RH
221 if test -n "$result" ; then
222 canon_targets="$canon_targets $result"
223 else
224 # Allow targets that config.sub doesn't recognize, like "all".
225 canon_targets="$canon_targets $targ"
226 fi
227 done
228fi
229
230all_targets=false
231selarchs=
232for targ in $target $canon_targets
233do
234 if test "x$targ" = "xall" ; then
235 all_targets=true
236 else
237 . $srcdir/../bfd/config.bfd
238 selarchs="$selarchs $targ_archs"
239 fi
43e65147 240done
252b5132
RH
241
242# Utility var, documents generic cgen support files.
243
3609e0fe 244cgen_files="cgen-opc.lo cgen-asm.lo cgen-dis.lo cgen-bitset.lo"
252b5132
RH
245
246# We don't do any links based on the target system, just makefile config.
247
248if test x${all_targets} = xfalse ; then
249
250 # Target architecture .o files.
251 ta=
252
253 for arch in $selarchs
254 do
255 ad=`echo $arch | sed -e s/bfd_//g -e s/_arch//g`
256 archdefs="$archdefs -DARCH_$ad"
257 case "$arch" in
a06ea964 258 bfd_aarch64_arch) ta="$ta aarch64-asm.lo aarch64-dis.lo aarch64-opc.lo aarch64-asm-2.lo aarch64-dis-2.lo aarch64-opc-2.lo" ;;
252b5132 259 bfd_alpha_arch) ta="$ta alpha-dis.lo alpha-opc.lo" ;;
0d2bcfaf 260 bfd_arc_arch) ta="$ta arc-dis.lo arc-opc.lo arc-ext.lo" ;;
252b5132 261 bfd_arm_arch) ta="$ta arm-dis.lo" ;;
adde6300 262 bfd_avr_arch) ta="$ta avr-dis.lo" ;;
4b7f6baa 263 bfd_bfin_arch) ta="$ta bfin-dis.lo" ;;
3843081d 264 bfd_cr16_arch) ta="$ta cr16-dis.lo cr16-opc.lo" ;;
3609e0fe 265 bfd_cris_arch) ta="$ta cris-dis.lo cris-opc.lo cgen-bitset.lo" ;;
3843081d 266 bfd_crx_arch) ta="$ta crx-dis.lo crx-opc.lo" ;;
b8891f8d 267 bfd_csky_arch) ta="$ta csky-dis.lo" ;;
252b5132
RH
268 bfd_d10v_arch) ta="$ta d10v-dis.lo d10v-opc.lo" ;;
269 bfd_d30v_arch) ta="$ta d30v-dis.lo d30v-opc.lo" ;;
d172d4ba 270 bfd_dlx_arch) ta="$ta dlx-dis.lo" ;;
3843081d
JBG
271 bfd_fr30_arch) ta="$ta fr30-asm.lo fr30-desc.lo fr30-dis.lo fr30-ibld.lo fr30-opc.lo" using_cgen=yes ;;
272 bfd_frv_arch) ta="$ta frv-asm.lo frv-desc.lo frv-dis.lo frv-ibld.lo frv-opc.lo" using_cgen=yes ;;
3f8107ab 273 bfd_ft32_arch) ta="$ta ft32-opc.lo ft32-dis.lo" ;;
20135e4c 274 bfd_moxie_arch) ta="$ta moxie-dis.lo moxie-opc.lo" ;;
252b5132 275 bfd_h8300_arch) ta="$ta h8300-dis.lo" ;;
252b5132 276 bfd_hppa_arch) ta="$ta hppa-dis.lo" ;;
7b6d09fb 277 bfd_i386_arch|bfd_iamcu_arch|bfd_l1om_arch|bfd_k1om_arch)
8a9036a4 278 ta="$ta i386-dis.lo i386-opc.lo" ;;
800eeca4 279 bfd_ia64_arch) ta="$ta ia64-dis.lo ia64-opc.lo" ;;
a40cbfa3 280 bfd_ip2k_arch) ta="$ta ip2k-asm.lo ip2k-desc.lo ip2k-dis.lo ip2k-ibld.lo ip2k-opc.lo" using_cgen=yes ;;
48891606 281 bfd_epiphany_arch) ta="$ta epiphany-asm.lo epiphany-desc.lo epiphany-dis.lo epiphany-ibld.lo epiphany-opc.lo" using_cgen=yes ;;
3843081d
JBG
282 bfd_iq2000_arch) ta="$ta iq2000-asm.lo iq2000-desc.lo iq2000-dis.lo iq2000-ibld.lo iq2000-opc.lo" using_cgen=yes ;;
283 bfd_lm32_arch) ta="$ta lm32-asm.lo lm32-desc.lo lm32-dis.lo lm32-ibld.lo lm32-opc.lo lm32-opinst.lo" using_cgen=yes ;;
e729279b 284 bfd_m32c_arch) ta="$ta m32c-asm.lo m32c-desc.lo m32c-dis.lo m32c-ibld.lo m32c-opc.lo" using_cgen=yes ;;
252b5132 285 bfd_m32r_arch) ta="$ta m32r-asm.lo m32r-desc.lo m32r-dis.lo m32r-ibld.lo m32r-opc.lo m32r-opinst.lo" using_cgen=yes ;;
60bcf0fa
NC
286 bfd_m68hc11_arch) ta="$ta m68hc11-dis.lo m68hc11-opc.lo" ;;
287 bfd_m68hc12_arch) ta="$ta m68hc11-dis.lo m68hc11-opc.lo" ;;
48891606 288 bfd_m9s12x_arch) ta="$ta m68hc11-dis.lo m68hc11-opc.lo" ;;
6927f982 289 bfd_m9s12xg_arch) ta="$ta m68hc11-dis.lo m68hc11-opc.lo" ;;
ef1ad42b 290 bfd_s12z_arch) ta="$ta s12z-dis.lo s12z-opc.lo" ;;
252b5132 291 bfd_m68k_arch) ta="$ta m68k-dis.lo m68k-opc.lo" ;;
252b5132 292 bfd_mcore_arch) ta="$ta mcore-dis.lo" ;;
bd2f2e55 293 bfd_mep_arch) ta="$ta mep-asm.lo mep-desc.lo mep-dis.lo mep-ibld.lo mep-opc.lo" using_cgen=yes ;;
a3c62988 294 bfd_metag_arch) ta="$ta metag-dis.lo" ;;
7ba29e2a 295 bfd_microblaze_arch) ta="$ta microblaze-dis.lo" ;;
df58fc94 296 bfd_mips_arch) ta="$ta mips-dis.lo mips-opc.lo mips16-opc.lo micromips-opc.lo" ;;
3c3bdf30 297 bfd_mmix_arch) ta="$ta mmix-dis.lo mmix-opc.lo" ;;
252b5132
RH
298 bfd_mn10200_arch) ta="$ta m10200-dis.lo m10200-opc.lo" ;;
299 bfd_mn10300_arch) ta="$ta m10300-dis.lo m10300-opc.lo" ;;
d031aafb 300 bfd_mt_arch) ta="$ta mt-asm.lo mt-desc.lo mt-dis.lo mt-ibld.lo mt-opc.lo" using_cgen=yes ;;
34c911a4 301 bfd_msp430_arch) ta="$ta msp430-dis.lo msp430-decode.lo" ;;
35c08157 302 bfd_nds32_arch) ta="$ta nds32-asm.lo nds32-dis.lo" ;;
fe944acf 303 bfd_nfp_arch) ta="$ta nfp-dis.lo" ;;
36591ba1 304 bfd_nios2_arch) ta="$ta nios2-dis.lo nios2-opc.lo" ;;
252b5132 305 bfd_ns32k_arch) ta="$ta ns32k-dis.lo" ;;
73589c9d 306 bfd_or1k_arch) ta="$ta or1k-asm.lo or1k-desc.lo or1k-dis.lo or1k-ibld.lo or1k-opc.lo" using_cgen=yes ;;
e135f41b 307 bfd_pdp11_arch) ta="$ta pdp11-dis.lo pdp11-opc.lo" ;;
3843081d 308 bfd_pj_arch) ta="$ta pj-dis.lo pj-opc.lo" ;;
252b5132 309 bfd_powerpc_arch) ta="$ta ppc-dis.lo ppc-opc.lo" ;;
a85d7ed0 310 bfd_powerpc_64_arch) ta="$ta ppc-dis.lo ppc-opc.lo" ;;
11146849 311 bfd_pru_arch) ta="$ta pru-dis.lo pru-opc.lo" ;;
5dd0794d 312 bfd_pyramid_arch) ;;
252b5132 313 bfd_romp_arch) ;;
e23eba97 314 bfd_riscv_arch) ta="$ta riscv-dis.lo riscv-opc.lo" ;;
252b5132 315 bfd_rs6000_arch) ta="$ta ppc-dis.lo ppc-opc.lo" ;;
99c513f6 316 bfd_rl78_arch) ta="$ta rl78-dis.lo rl78-decode.lo";;
c7927a3c 317 bfd_rx_arch) ta="$ta rx-dis.lo rx-decode.lo";;
a85d7ed0 318 bfd_s390_arch) ta="$ta s390-dis.lo s390-opc.lo" ;;
3843081d 319 bfd_score_arch) ta="$ta score-dis.lo score7-dis.lo" ;;
211dc24b 320 bfd_sh_arch) ta="$ta sh-dis.lo cgen-bitset.lo" ;;
252b5132 321 bfd_sparc_arch) ta="$ta sparc-dis.lo sparc-opc.lo" ;;
e9f53129 322 bfd_spu_arch) ta="$ta spu-dis.lo spu-opc.lo" ;;
252b5132 323 bfd_tic30_arch) ta="$ta tic30-dis.lo" ;;
3843081d 324 bfd_tic4x_arch) ta="$ta tic4x-dis.lo" ;;
5c84d377 325 bfd_tic54x_arch) ta="$ta tic54x-dis.lo tic54x-opc.lo" ;;
40b36596 326 bfd_tic6x_arch) ta="$ta tic6x-dis.lo" ;;
aa137e4d
NC
327 bfd_tilegx_arch) ta="$ta tilegx-dis.lo tilegx-opc.lo" ;;
328 bfd_tilepro_arch) ta="$ta tilepro-dis.lo tilepro-opc.lo" ;;
252b5132
RH
329 bfd_v850_arch) ta="$ta v850-opc.lo v850-dis.lo" ;;
330 bfd_v850e_arch) ta="$ta v850-opc.lo v850-dis.lo" ;;
331 bfd_v850ea_arch) ta="$ta v850-opc.lo v850-dis.lo" ;;
de863c74 332 bfd_v850_rh850_arch) ta="$ta v850-opc.lo v850-dis.lo" ;;
252b5132 333 bfd_vax_arch) ta="$ta vax-dis.lo" ;;
1945cfa5 334 bfd_visium_arch) ta="$ta visium-dis.lo visium-opc.lo" ;;
62ecb94c 335 bfd_wasm32_arch) ta="$ta wasm32-dis.lo" ;;
3843081d
JBG
336 bfd_xc16x_arch) ta="$ta xc16x-asm.lo xc16x-desc.lo xc16x-dis.lo xc16x-ibld.lo xc16x-opc.lo" using_cgen=yes ;;
337 bfd_xgate_arch) ta="$ta xgate-dis.lo xgate-opc.lo" ;;
93fbbb04 338 bfd_xstormy16_arch) ta="$ta xstormy16-asm.lo xstormy16-desc.lo xstormy16-dis.lo xstormy16-ibld.lo xstormy16-opc.lo" using_cgen=yes ;;
e0001a05 339 bfd_xtensa_arch) ta="$ta xtensa-dis.lo" ;;
3c9b82ba 340 bfd_z80_arch) ta="$ta z80-dis.lo" ;;
252b5132 341 bfd_z8k_arch) ta="$ta z8k-dis.lo" ;;
79472b45 342 bfd_bpf_arch) ta="$ta bpf-asm.lo bpf-desc.lo bpf-dis.lo bpf-ibld.lo bpf-opc.lo" using_cgen=yes ;;
252b5132
RH
343
344 "") ;;
345 *) AC_MSG_ERROR(*** unknown target architecture $arch) ;;
346 esac
347 done
348
349 if test $using_cgen = yes ; then
350 ta="$ta $cgen_files"
351 fi
352
353 # Weed out duplicate .o files.
354 f=""
355 for i in $ta ; do
356 case " $f " in
357 *" $i "*) ;;
358 *) f="$f $i" ;;
359 esac
360 done
361 ta="$f"
362
363 # And duplicate -D flags.
364 f=""
365 for i in $archdefs ; do
366 case " $f " in
367 *" $i "*) ;;
368 *) f="$f $i" ;;
369 esac
370 done
371 archdefs="$f"
372
373 BFD_MACHINES="$ta"
374
375else # all_targets is true
376 archdefs=-DARCH_all
377 BFD_MACHINES='$(ALL_MACHINES)'
378fi
379
380AC_SUBST(archdefs)
381AC_SUBST(BFD_MACHINES)
382
979273e3 383AC_CONFIG_FILES([Makefile po/Makefile.in:po/Make-in])
979273e3 384AC_OUTPUT
This page took 0.928678 seconds and 4 git commands to generate.