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