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