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