]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blame - opcodes/configure.ac
csky regen
[thirdparty/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
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
35d0a169
MR
54ACX_PROG_CC_WARNING_OPTS([-Wno-missing-field-initializers],
55 [NO_WMISSING_FIELD_INITIALIZERS])
a2d91340 56
da594c4a 57AC_CONFIG_HEADERS(config.h:config.in)
252b5132 58
df7b86aa
NC
59# PR 14072
60AH_VERBATIM([00_CONFIG_H_CHECK],
61[/* Check that config.h is #included before system headers
62 (this works only for glibc, but that should be enough). */
d17dce55 63#if defined(__GLIBC__) && !defined(__FreeBSD_kernel__) && !defined(__CONFIG_H__)
df7b86aa
NC
64# error config.h must be #included before system headers
65#endif
66#define __CONFIG_H__ 1])
67
252b5132
RH
68if test -z "$target" ; then
69 AC_MSG_ERROR(Unrecognized target system type; please check config.sub.)
70fi
252b5132
RH
71
72AM_MAINTAINER_MODE
81172ff2 73AM_INSTALL_LIBBFD
252b5132
RH
74AC_EXEEXT
75
76# host-specific stuff:
77
e184813f 78ALL_LINGUAS="da de es fi fr ga id it nl pt_BR ro sr sv tr uk vi zh_CN"
20e95c23
DJ
79ZW_GNU_GETTEXT_SISTER_DIR
80AM_PO_SUBDIRS
252b5132
RH
81
82. ${srcdir}/../bfd/configure.host
83
b6849f55
NC
84BFD_CC_FOR_BUILD
85
252b5132
RH
86AC_SUBST(HDEFINES)
87AC_PROG_INSTALL
88
40fb9820 89AC_CHECK_HEADERS(string.h strings.h stdlib.h limits.h)
208a4923 90ACX_HEADER_STRING
252b5132 91
dabbade6 92AC_CHECK_DECLS([basename, stpcpy])
4bd60896 93
8df14d78
L
94# Check if sigsetjmp is available. Using AC_CHECK_FUNCS won't do
95# since sigsetjmp might only be defined as a macro.
96AC_CACHE_CHECK([for sigsetjmp], gdb_cv_func_sigsetjmp,
97[AC_TRY_COMPILE([
98#include <setjmp.h>
99], [sigjmp_buf env; while (! sigsetjmp (env, 1)) siglongjmp (env, 1);],
100bfd_cv_func_sigsetjmp=yes, bfd_cv_func_sigsetjmp=no)])
101if test $bfd_cv_func_sigsetjmp = yes; then
102 AC_DEFINE(HAVE_SIGSETJMP, 1, [Define if sigsetjmp is available. ])
103fi
104
6e31aea3
BE
105cgen_maint=no
106cgendir='$(srcdir)/../cgen'
107
108AC_ARG_ENABLE(cgen-maint,
109[ --enable-cgen-maint[=dir] build cgen generated files],
110[case "${enableval}" in
111 yes) cgen_maint=yes ;;
112 no) cgen_maint=no ;;
113 *)
114 # argument is cgen install directory (not implemented yet).
115 # Having a `share' directory might be more appropriate for the .scm,
116 # .cpu, etc. files.
117 cgen_maint=yes
118 cgendir=${cgen_maint}/lib/cgen
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.
165changequote(,)dnl
166 x=`sed -n -e 's/^[ ]*PICFLAG[ ]*=[ ]*//p' < ../libiberty/Makefile | sed -n '$p'`
167changequote([,])dnl
168 if test -n "$x"; then
169 SHARED_LIBADD="-L`pwd`/../libiberty/pic -liberty"
170 fi
171
45d42143
NC
172 case "${host}" in
173 *-*-cygwin*)
174 SHARED_LDFLAGS="-no-undefined"
175 SHARED_LIBADD="-L`pwd`/../bfd -lbfd -L`pwd`/../libiberty -liberty -L`pwd`/../intl -lintl -lcygwin"
176 ;;
0e336180 177 *-*-darwin*)
29670fb9 178 SHARED_LIBADD="-Wl,`pwd`/../bfd/.libs/libbfd.dylib ${SHARED_LIBADD}"
0e336180
NC
179 SHARED_DEPENDENCIES="../bfd/libbfd.la"
180 ;;
45d42143 181 *)
0e336180
NC
182 case "$host_vendor" in
183 hp)
29670fb9 184 SHARED_LIBADD="-Wl,`pwd`/../bfd/.libs/libbfd.sl ${SHARED_LIBADD}"
0e336180
NC
185 ;;
186 *)
29670fb9 187 SHARED_LIBADD="-Wl,`pwd`/../bfd/.libs/libbfd.so ${SHARED_LIBADD}"
0e336180
NC
188 ;;
189 esac
4267b19f 190 SHARED_DEPENDENCIES="../bfd/libbfd.la"
45d42143
NC
191 ;;
192 esac
51dec227
AM
193
194 if test -n "$SHARED_LIBADD"; then
195 if test -n "$LIBM"; then
196 if test x"$bfd_cv_ld_as_needed" = xyes; then
197 # Link against libm only when needed. Put -lc, -lm inside -Wl
198 # to stop libtool reordering these options.
199 SHARED_LIBADD="$SHARED_LIBADD -Wl,-lc,--as-needed,`echo $LIBM | sed 's/ /,/g'`,--no-as-needed"
200 else
201 SHARED_LIBADD="$SHARED_LIBADD $LIBM"
202 fi
203 fi
204 fi
45d42143
NC
205fi
206AC_SUBST(SHARED_LDFLAGS)
207AC_SUBST(SHARED_LIBADD)
208AC_SUBST(SHARED_DEPENDENCIES)
252b5132
RH
209
210# target-specific stuff:
211
212# Canonicalize the secondary target names.
213if test -n "$enable_targets" ; then
214 for targ in `echo $enable_targets | sed 's/,/ /g'`
215 do
6d83c84b 216 result=`$ac_config_sub $targ 2>/dev/null`
252b5132
RH
217 if test -n "$result" ; then
218 canon_targets="$canon_targets $result"
219 else
220 # Allow targets that config.sub doesn't recognize, like "all".
221 canon_targets="$canon_targets $targ"
222 fi
223 done
224fi
225
226all_targets=false
227selarchs=
228for targ in $target $canon_targets
229do
230 if test "x$targ" = "xall" ; then
231 all_targets=true
232 else
233 . $srcdir/../bfd/config.bfd
234 selarchs="$selarchs $targ_archs"
235 fi
43e65147 236done
252b5132
RH
237
238# Utility var, documents generic cgen support files.
239
3609e0fe 240cgen_files="cgen-opc.lo cgen-asm.lo cgen-dis.lo cgen-bitset.lo"
252b5132
RH
241
242# We don't do any links based on the target system, just makefile config.
243
244if test x${all_targets} = xfalse ; then
245
246 # Target architecture .o files.
247 ta=
248
249 for arch in $selarchs
250 do
251 ad=`echo $arch | sed -e s/bfd_//g -e s/_arch//g`
252 archdefs="$archdefs -DARCH_$ad"
253 case "$arch" in
a06ea964 254 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 255 bfd_alpha_arch) ta="$ta alpha-dis.lo alpha-opc.lo" ;;
0d2bcfaf 256 bfd_arc_arch) ta="$ta arc-dis.lo arc-opc.lo arc-ext.lo" ;;
252b5132 257 bfd_arm_arch) ta="$ta arm-dis.lo" ;;
adde6300 258 bfd_avr_arch) ta="$ta avr-dis.lo" ;;
4b7f6baa 259 bfd_bfin_arch) ta="$ta bfin-dis.lo" ;;
3843081d 260 bfd_cr16_arch) ta="$ta cr16-dis.lo cr16-opc.lo" ;;
3609e0fe 261 bfd_cris_arch) ta="$ta cris-dis.lo cris-opc.lo cgen-bitset.lo" ;;
3843081d 262 bfd_crx_arch) ta="$ta crx-dis.lo crx-opc.lo" ;;
b8891f8d 263 bfd_csky_arch) ta="$ta csky-dis.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" ;;
7b4ae824 286 bfd_s12z_arch) ta="$ta s12z-dis.lo m68hc11-opc.lo" ;;
252b5132 287 bfd_m68k_arch) ta="$ta m68k-dis.lo m68k-opc.lo" ;;
252b5132 288 bfd_mcore_arch) ta="$ta mcore-dis.lo" ;;
bd2f2e55 289 bfd_mep_arch) ta="$ta mep-asm.lo mep-desc.lo mep-dis.lo mep-ibld.lo mep-opc.lo" using_cgen=yes ;;
a3c62988 290 bfd_metag_arch) ta="$ta metag-dis.lo" ;;
7ba29e2a 291 bfd_microblaze_arch) ta="$ta microblaze-dis.lo" ;;
df58fc94 292 bfd_mips_arch) ta="$ta mips-dis.lo mips-opc.lo mips16-opc.lo micromips-opc.lo" ;;
3c3bdf30 293 bfd_mmix_arch) ta="$ta mmix-dis.lo mmix-opc.lo" ;;
252b5132
RH
294 bfd_mn10200_arch) ta="$ta m10200-dis.lo m10200-opc.lo" ;;
295 bfd_mn10300_arch) ta="$ta m10300-dis.lo m10300-opc.lo" ;;
d031aafb 296 bfd_mt_arch) ta="$ta mt-asm.lo mt-desc.lo mt-dis.lo mt-ibld.lo mt-opc.lo" using_cgen=yes ;;
34c911a4 297 bfd_msp430_arch) ta="$ta msp430-dis.lo msp430-decode.lo" ;;
35c08157 298 bfd_nds32_arch) ta="$ta nds32-asm.lo nds32-dis.lo" ;;
fe944acf 299 bfd_nfp_arch) ta="$ta nfp-dis.lo" ;;
36591ba1 300 bfd_nios2_arch) ta="$ta nios2-dis.lo nios2-opc.lo" ;;
252b5132 301 bfd_ns32k_arch) ta="$ta ns32k-dis.lo" ;;
73589c9d 302 bfd_or1k_arch) ta="$ta or1k-asm.lo or1k-desc.lo or1k-dis.lo or1k-ibld.lo or1k-opc.lo" using_cgen=yes ;;
e135f41b 303 bfd_pdp11_arch) ta="$ta pdp11-dis.lo pdp11-opc.lo" ;;
3843081d 304 bfd_pj_arch) ta="$ta pj-dis.lo pj-opc.lo" ;;
252b5132 305 bfd_powerpc_arch) ta="$ta ppc-dis.lo ppc-opc.lo" ;;
a85d7ed0 306 bfd_powerpc_64_arch) ta="$ta ppc-dis.lo ppc-opc.lo" ;;
11146849 307 bfd_pru_arch) ta="$ta pru-dis.lo pru-opc.lo" ;;
5dd0794d 308 bfd_pyramid_arch) ;;
252b5132 309 bfd_romp_arch) ;;
e23eba97 310 bfd_riscv_arch) ta="$ta riscv-dis.lo riscv-opc.lo" ;;
252b5132 311 bfd_rs6000_arch) ta="$ta ppc-dis.lo ppc-opc.lo" ;;
99c513f6 312 bfd_rl78_arch) ta="$ta rl78-dis.lo rl78-decode.lo";;
c7927a3c 313 bfd_rx_arch) ta="$ta rx-dis.lo rx-decode.lo";;
a85d7ed0 314 bfd_s390_arch) ta="$ta s390-dis.lo s390-opc.lo" ;;
3843081d 315 bfd_score_arch) ta="$ta score-dis.lo score7-dis.lo" ;;
211dc24b 316 bfd_sh_arch) ta="$ta sh-dis.lo cgen-bitset.lo" ;;
252b5132 317 bfd_sparc_arch) ta="$ta sparc-dis.lo sparc-opc.lo" ;;
e9f53129 318 bfd_spu_arch) ta="$ta spu-dis.lo spu-opc.lo" ;;
252b5132 319 bfd_tic30_arch) ta="$ta tic30-dis.lo" ;;
3843081d 320 bfd_tic4x_arch) ta="$ta tic4x-dis.lo" ;;
5c84d377 321 bfd_tic54x_arch) ta="$ta tic54x-dis.lo tic54x-opc.lo" ;;
40b36596 322 bfd_tic6x_arch) ta="$ta tic6x-dis.lo" ;;
252b5132 323 bfd_tic80_arch) ta="$ta tic80-dis.lo tic80-opc.lo" ;;
aa137e4d
NC
324 bfd_tilegx_arch) ta="$ta tilegx-dis.lo tilegx-opc.lo" ;;
325 bfd_tilepro_arch) ta="$ta tilepro-dis.lo tilepro-opc.lo" ;;
252b5132
RH
326 bfd_v850_arch) ta="$ta v850-opc.lo v850-dis.lo" ;;
327 bfd_v850e_arch) ta="$ta v850-opc.lo v850-dis.lo" ;;
328 bfd_v850ea_arch) ta="$ta v850-opc.lo v850-dis.lo" ;;
de863c74 329 bfd_v850_rh850_arch) ta="$ta v850-opc.lo v850-dis.lo" ;;
252b5132 330 bfd_vax_arch) ta="$ta vax-dis.lo" ;;
1945cfa5 331 bfd_visium_arch) ta="$ta visium-dis.lo visium-opc.lo" ;;
62ecb94c 332 bfd_wasm32_arch) ta="$ta wasm32-dis.lo" ;;
3843081d
JBG
333 bfd_xc16x_arch) ta="$ta xc16x-asm.lo xc16x-desc.lo xc16x-dis.lo xc16x-ibld.lo xc16x-opc.lo" using_cgen=yes ;;
334 bfd_xgate_arch) ta="$ta xgate-dis.lo xgate-opc.lo" ;;
93fbbb04 335 bfd_xstormy16_arch) ta="$ta xstormy16-asm.lo xstormy16-desc.lo xstormy16-dis.lo xstormy16-ibld.lo xstormy16-opc.lo" using_cgen=yes ;;
e0001a05 336 bfd_xtensa_arch) ta="$ta xtensa-dis.lo" ;;
3c9b82ba 337 bfd_z80_arch) ta="$ta z80-dis.lo" ;;
252b5132
RH
338 bfd_z8k_arch) ta="$ta z8k-dis.lo" ;;
339
340 "") ;;
341 *) AC_MSG_ERROR(*** unknown target architecture $arch) ;;
342 esac
343 done
344
345 if test $using_cgen = yes ; then
346 ta="$ta $cgen_files"
347 fi
348
349 # Weed out duplicate .o files.
350 f=""
351 for i in $ta ; do
352 case " $f " in
353 *" $i "*) ;;
354 *) f="$f $i" ;;
355 esac
356 done
357 ta="$f"
358
359 # And duplicate -D flags.
360 f=""
361 for i in $archdefs ; do
362 case " $f " in
363 *" $i "*) ;;
364 *) f="$f $i" ;;
365 esac
366 done
367 archdefs="$f"
368
369 BFD_MACHINES="$ta"
370
371else # all_targets is true
372 archdefs=-DARCH_all
373 BFD_MACHINES='$(ALL_MACHINES)'
374fi
375
376AC_SUBST(archdefs)
377AC_SUBST(BFD_MACHINES)
378
979273e3 379AC_CONFIG_FILES([Makefile po/Makefile.in:po/Make-in])
979273e3 380AC_OUTPUT