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