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