]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - gas/configure.in
Remove arc sanitization.
[thirdparty/binutils-gdb.git] / gas / configure.in
1 dnl Process this file with autoconf to produce a configure script.
2 dnl
3 dnl And be careful when changing it! If you must add tests with square
4 dnl brackets, be sure changequote invocations surround it.
5 dnl
6 dnl
7 dnl v2.5 needed for --bindir et al
8 AC_PREREQ(2.5)
9 AC_INIT(as.h)
10
11 AC_CANONICAL_SYSTEM
12
13 AM_INIT_AUTOMAKE(gas, 2.8.2)
14
15 AM_PROG_LIBTOOL
16
17 user_bfd_gas=
18 AC_ARG_ENABLE(bfd-assembler,
19 [ --enable-bfd-assembler use BFD back end for writing object files],
20 [case "${enableval}" in
21 yes) need_bfd=yes user_bfd_gas=yes ;;
22 no) user_bfd_gas=no ;;
23 *) AC_MSG_ERROR(bad value ${enableval} given for bfd-assembler option) ;;
24 esac])dnl
25 AC_ARG_ENABLE(targets,
26 [ targets alternative target configurations besides the primary],
27 [case "${enableval}" in
28 yes | "") AC_ERROR(enable-targets option must specify target names or 'all')
29 ;;
30 no) enable_targets= ;;
31 *) enable_targets=$enableval ;;
32 esac])dnl
33 AC_ARG_ENABLE(commonbfdlib,
34 [ --enable-commonbfdlib build shared BFD/opcodes/libiberty library],
35 [case "${enableval}" in
36 yes) commonbfdlib=true ;;
37 no) commonbfdlib=false ;;
38 *) AC_MSG_ERROR([bad value ${enableval} for BFD commonbfdlib option]) ;;
39 esac])dnl
40
41 # Generate a header file
42 AM_CONFIG_HEADER(config.h:config.in)
43
44 te_file=generic
45
46 canon_targets=""
47 if test -n "$enable_targets" ; then
48 for t in `echo $enable_targets | sed 's/,/ /g'`; do
49 result=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $t 2>/dev/null`
50 if test -n "$result" ; then
51 canon_targets="$canon_targets $result"
52 # else
53 # # Permit "all", etc. We don't support it yet though.
54 # canon_targets="$canon_targets $t"
55 fi
56 done
57 GAS_UNIQ(canon_targets)
58 fi
59
60 emulations=""
61
62 for this_target in $target $canon_targets ; do
63
64 changequote(,)dnl
65 eval `echo $this_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/cpu=\1 vendor=\2 os=\3/'`
66 changequote([,])dnl
67
68 # check for architecture variants
69 endian=
70 case ${cpu} in
71 armeb) cpu_type=arm endian=big ;;
72 arm*) cpu_type=arm endian=little ;;
73 thumb*) cpu_type=arm endian=little ;;
74 hppa*) cpu_type=hppa ;;
75 changequote(,)dnl
76 i[456]86) cpu_type=i386 ;;
77 m680[012346]0) cpu_type=m68k ;;
78 m68008) cpu_type=m68k ;;
79 m683??) cpu_type=m68k ;;
80 changequote([,])dnl
81 m8*) cpu_type=m88k ;;
82 mips*el) cpu_type=mips endian=little ;;
83 mips*5900*) cpu_type=mips endian=little ;;
84 mips*) cpu_type=mips endian=big ;;
85 powerpcle*) cpu_type=ppc endian=little ;;
86 powerpc*) cpu_type=ppc endian=big ;;
87 rs6000*) cpu_type=ppc ;;
88 sparc64) cpu_type=sparc want_sparc_v9=true ;;
89 sparc*) cpu_type=sparc ;;
90 *) cpu_type=${cpu} ;;
91 esac
92
93 if test ${this_target} = $target ; then
94 target_cpu_type=${cpu_type}
95 if test x${endian} = xbig; then
96 AC_DEFINE(TARGET_BYTES_BIG_ENDIAN, 1)
97 elif test x${endian} = xlittle; then
98 AC_DEFINE(TARGET_BYTES_BIG_ENDIAN, 0)
99 fi
100 elif test ${target_cpu_type} != ${cpu_type} ; then
101 continue
102 fi
103
104 generic_target=${cpu_type}-$vendor-$os
105 dev=no
106 bfd_gas=no
107 em=generic
108
109 # assign object format
110 case ${generic_target} in
111 a29k-*-coff) fmt=coff ;;
112 a29k-amd-udi) fmt=coff ;;
113 a29k-amd-ebmon) fmt=coff ;;
114 a29k-nyu-sym1) fmt=coff ;;
115 a29k-*-vxworks*) fmt=coff ;;
116
117 alpha-*-*vms*) fmt=evax ;;
118 alpha-*-netware*) fmt=ecoff ;;
119 alpha-*-openbsd*) fmt=ecoff ;;
120 alpha-*-osf*) fmt=ecoff ;;
121 alpha-*-linuxecoff*) fmt=ecoff ;;
122 alpha-*-linux*) fmt=elf em=linux ;;
123
124 arc-*-elf*) fmt=elf bfd_gas=yes ;;
125
126 arm-*-riscix*) fmt=aout em=riscix ;;
127 arm-*-aout) fmt=aout ;;
128 arm-*-coff | thumb-*-coff) fmt=coff ;;
129 arm-*-riscix*) fmt=aout ;;
130 arm-*-pe) fmt=coff em=pe ;;
131
132 d10v-*-*) fmt=elf bfd_gas=yes ;;
133 # start-sanitize-d30v
134 d30v-*-*) fmt=elf bfd_gas=yes ;;
135 # end-sanitize-d30v
136
137 hppa-*-*elf*) fmt=elf em=hppa ;;
138 hppa-*-lites*) fmt=elf em=hppa ;;
139 hppa-*-osf*) fmt=som em=hppa ;;
140 hppa-*-rtems*) fmt=elf em=hppa ;;
141 hppa-*-hpux*) fmt=som em=hppa ;;
142 hppa-*-bsd*) fmt=som em=hppa ;;
143 hppa-*-hiux*) fmt=som em=hppa ;;
144
145 h8300-*-coff) fmt=coff ;;
146
147 i386-ibm-aix*) fmt=coff em=i386aix ;;
148 i386-sequent-bsd*) fmt=aout em=dynix bfd_gas=yes ;;
149 i386-*-bsd*) fmt=aout em=386bsd ;;
150 i386-*-netbsd0.8) fmt=aout em=386bsd ;;
151 i386-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes;;
152 i386-*-openbsd*) fmt=aout em=nbsd bfd_gas=yes;;
153 i386-*-linux*aout* | i386-*-linuxoldld) fmt=aout em=linux ;;
154 i386-*-linux*coff*) fmt=coff em=linux ;;
155 i386-*-linux*) fmt=elf em=linux ;;
156 i386-*-lynxos*) fmt=coff em=lynx ;;
157 i386-*-sysv4* | i386-*-solaris* | i386-*-elf | i386-*-freebsdelf*)
158 fmt=elf ;;
159 i386-*-sco*elf*) fmt=elf
160 if test ${this_target} = $target; then
161 AC_DEFINE(SCO_ELF)
162 fi
163 ;;
164 i386-*-coff | i386-*-sysv* | i386-*-sco* | i386-*-isc*)
165 fmt=coff ;;
166 i386-*-vsta) fmt=aout ;;
167 i386-*-msdosdjgpp* | i386-*-go32*)
168 fmt=coff em=go32;;
169 i386-*-rtems*) fmt=coff ;;
170 i386-*-gnu*) fmt=elf ;;
171 i386-*-mach*)
172 fmt=aout em=mach bfd_gas=yes ;;
173 i386-*-msdos*) fmt=aout ;;
174 i386-*-moss*) fmt=elf ;;
175 i386-*-pe) fmt=coff em=pe ;;
176 i386-*-cygwin32) fmt=coff em=pe bfd_gas=yes ;;
177 i386-*-*nt) fmt=coff em=pe ;;
178 i960-*-bout) fmt=bout ;;
179 i960-*-coff) fmt=coff em=ic960 ;;
180 i960-*-rtems*) fmt=coff em=ic960 ;;
181 i960-*-nindy*) fmt=bout ;;
182 i960-*-vxworks4*) fmt=bout ;;
183 i960-*-vxworks5.0) fmt=bout ;;
184 i960-*-vxworks5.*) fmt=coff em=ic960 ;;
185 i960-*-vxworks*) fmt=bout ;;
186
187 m32r-*-*) fmt=elf bfd_gas=yes ;;
188
189 m68k-*-vxworks* | m68k-ericsson-ose | m68k-*-sunos*)
190 fmt=aout em=sun3 ;;
191 m68k-motorola-sysv*) fmt=coff em=delta ;;
192 m68k-bull-sysv3*) fmt=coff em=dpx2 ;;
193 m68k-apollo-*) fmt=coff em=apollo ;;
194 m68k-*-sysv4*) # must be before -sysv*
195 fmt=elf em=svr4 ;;
196 m68k-*-elf*) fmt=elf ;;
197 m68k-*-coff | m68k-*-sysv* | m68k-*-rtems*)
198 fmt=coff ;;
199 m68k-*-hpux*) fmt=hp300 em=hp300 ;;
200 m68k-*-linux*aout*) fmt=aout em=linux ;;
201 m68k-*-linux*) fmt=elf em=linux ;;
202 m68k-*-lynxos*) fmt=coff em=lynx ;;
203 m68k-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
204 m68k-*-openbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
205 m68k-apple-aux*) fmt=coff em=aux ;;
206 m68k-*-psos*) fmt=elf em=psos;;
207
208 m88k-motorola-sysv3*) fmt=coff em=delt88 ;;
209 m88k-*-coff*) fmt=coff ;;
210
211 # don't change em like *-*-bsd does
212 mips-dec-netbsd*) fmt=elf endian=little ;;
213 mips-dec-openbsd*) fmt=elf endian=little ;;
214 mips-dec-bsd*) fmt=aout ;;
215 mips-sony-bsd*) fmt=ecoff ;;
216 mips-*-bsd*) AC_MSG_ERROR(Unknown vendor for mips-bsd configuration.) ;;
217 mips-*-ultrix*) fmt=ecoff endian=little ;;
218 mips-*-osf*) fmt=ecoff endian=little ;;
219 mips-*-ecoff*) fmt=ecoff ;;
220 mips-*-ecoff*) fmt=ecoff ;;
221 mips-*-irix6*) fmt=elf ;;
222 mips-*-irix5*) fmt=elf ;;
223 mips-*-irix*) fmt=ecoff ;;
224 mips-*-lnews*) fmt=ecoff em=lnews ;;
225 mips-*-riscos*) fmt=ecoff ;;
226 mips-*-sysv*) fmt=ecoff ;;
227 mips-*-elf* | mips-*-rtems* | mips-*-linux* | mips-*-gnu* | mips-*-openbsd*)
228 fmt=elf ;;
229 mn10200-*-*) fmt=elf bfd_gas=yes ;;
230 mn10300-*-*) fmt=elf bfd_gas=yes ;;
231 ppc-*-pe | ppc-*-cygwin32 | ppc-*-winnt*)
232 fmt=coff em=pe ;;
233 ppc-*-aix*) fmt=coff ;;
234 ppc-*-beos*) fmt=coff ;;
235 ppc-*-*bsd* | ppc-*-elf* | ppc-*-eabi* | ppc-*-sysv4*)
236 fmt=elf ;;
237 ppc-*-linux*) fmt=elf
238 case "$endian" in
239 big) ;;
240 *) AC_MSG_ERROR(Linux must be configured big endian) ;;
241 esac
242 ;;
243 ppc-*-solaris*) fmt=elf
244 if test ${this_target} = $target; then
245 AC_DEFINE(TARGET_SOLARIS_COMMENT)
246 fi
247 if test x${endian} = xbig; then
248 AC_MSG_ERROR(Solaris must be configured little endian)
249 fi
250 ;;
251 ppc-*-rtems*) fmt=elf ;;
252 ppc-*-macos* | ppc-*-mpw*)
253 fmt=coff em=macos ;;
254 ppc-*-netware*) fmt=elf em=ppcnw ;;
255
256 sh-*-elf*) fmt=elf ;;
257 sh-*-coff*) fmt=coff ;;
258
259 ns32k-pc532-mach* | ns32k-pc532-ux*) fmt=aout em=pc532mach ;;
260 ns32k-pc532-netbsd* | ns32k-pc532-lites*) fmt=aout em=nbsd532 ;;
261 ns32k-pc532-openbsd*) fmt=aout em=nbsd532 ;;
262
263 sparc-*-rtems*) fmt=aout ;;
264 sparc-*-sunos4*) fmt=aout em=sun3 ;;
265 sparc-*-aout | sparc*-*-vxworks*)
266 fmt=aout em=sparcaout ;;
267 sparc-*-coff) fmt=coff ;;
268 sparc-*-linux*aout*) fmt=aout em=linux ;;
269 sparc-*-linux*) fmt=elf em=linux ;;
270 sparc-*-lynxos*) fmt=coff em=lynx ;;
271 sparc-fujitsu-none) fmt=aout ;;
272 sparc-*-elf | sparc-*-sysv4* | sparc-*-solaris*)
273 fmt=elf ;;
274 sparc-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
275 sparc-*-openbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
276
277 # start-sanitize-tic80
278 tic80-*-*) fmt=coff ;;
279 # end-sanitize-tic80
280 v850-*-*) fmt=elf bfd_gas=yes ;;
281
282 # start-sanitize-v850e
283 v850e-*-*) fmt=elf bfd_gas=yes ;;
284 # end-sanitize-v850e
285 # start-sanitize-v850eq
286 v850eq-*-*) fmt=elf bfd_gas=yes ;;
287 # end-sanitize-v850eq
288 vax-*-bsd* | vax-*-ultrix*)
289 fmt=aout ;;
290 vax-*-vms) fmt=vms ;;
291
292 z8k-*-coff | z8k-*-sim)
293 fmt=coff ;;
294
295 w65-*-*) fmt=coff ;;
296
297 *-*-aout | *-*-scout)
298 fmt=aout ;;
299 *-*-nindy*)
300 fmt=bout ;;
301 *-*-bsd*)
302 fmt=aout em=sun3 ;;
303 *-*-generic) fmt=generic ;;
304 *-*-xray | *-*-hms) fmt=coff ;;
305 *-*-sim) fmt=coff ;;
306 *-*-elf | *-*-sysv4* | *-*-solaris*)
307 AC_MSG_WARN(GAS support for ${generic_target} is incomplete.)
308 fmt=elf dev=yes ;;
309 *-*-vxworks) fmt=aout ;;
310 *-*-netware) fmt=elf ;;
311 esac
312
313 case ${cpu_type}-${fmt} in
314 alpha-*) bfd_gas=yes ;;
315 arm-*) bfd_gas=yes ;;
316 # not yet
317 # i386-aout) bfd_gas=preferred ;;
318 mips-*) bfd_gas=yes ;;
319 ns32k-*) bfd_gas=yes ;;
320 ppc-*) bfd_gas=yes ;;
321 sparc-*) bfd_gas=yes ;;
322 *-elf) bfd_gas=yes ;;
323 *-ecoff) bfd_gas=yes ;;
324 *-som) bfd_gas=yes ;;
325 *) ;;
326 esac
327
328 # Other random stuff.
329
330 # do we need the opcodes library?
331 case ${cpu_type} in
332 vax | i386)
333 ;;
334 *)
335 need_opcodes=yes
336 if test "${shared_opcodes}" = "true"; then
337 # A shared libopcodes must be linked against libbfd.
338 need_bfd=yes
339 fi
340 ;;
341 esac
342
343 test -n "$want_sparc_v9" && AC_DEFINE(SPARC_V9)
344
345 case ${cpu}-${vendor}-${os} in
346 sparc64-*-elf*) AC_DEFINE(SPARC_ARCH64) ;;
347 esac
348
349 case ${cpu_type} in
350 m32r)
351 case ${extra_objects} in
352 *cgen.o*) ;;
353 *) extra_objects="$extra_objects cgen.o"
354 AC_DEFINE(USING_CGEN)
355 ;;
356 esac
357 ;;
358
359 m68k)
360 case ${extra_objects} in
361 *m68k-parse.o*) ;;
362 *) extra_objects="$extra_objects m68k-parse.o" ;;
363 esac
364 ;;
365
366 mips)
367 echo ${extra_objects} | grep -s "itbl-parse.o"
368 if test $? -ne 0 ; then
369 extra_objects="$extra_objects itbl-parse.o"
370 fi
371
372 echo ${extra_objects} | grep -s "itbl-lex.o"
373 if test $? -ne 0 ; then
374 extra_objects="$extra_objects itbl-lex.o"
375 fi
376
377 echo ${extra_objects} | grep -s "itbl-ops.o"
378 if test $? -ne 0 ; then
379 extra_objects="$extra_objects itbl-ops.o"
380 fi
381 ;;
382
383 *)
384 ;;
385 esac
386
387 # See if we really can support this configuration with the emulation code.
388
389 if test $this_target = $target ; then
390 primary_bfd_gas=$bfd_gas
391 obj_format=$fmt
392 te_file=$em
393
394 if test $bfd_gas = no ; then
395 # Can't support other configurations this way.
396 break
397 fi
398 elif test $bfd_gas = no ; then
399 # Can't support this configuration.
400 break
401 fi
402
403 # From target name and format, produce a list of supported emulations.
404
405 case ${generic_target}-${fmt} in
406 mips-*-irix5*-*) emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;;
407 mips-*-linux*-*) case "$endian" in
408 big) emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;;
409 *) emulation="mipslelf mipsbelf mipself mipslecoff mipsbecoff mipsecoff" ;;
410 esac ;;
411 mips-*-lnews*-ecoff) ;;
412 mips-*-*-ecoff) case "$endian" in
413 big) emulation="mipsbecoff mipslecoff mipsecoff" ;;
414 *) emulation="mipslecoff mipsbecoff mipsecoff" ;;
415 esac ;;
416 mips-*-*-elf) case "$endian" in
417 big) emulation="mipsbelf mipslelf mipself" ;;
418 *) emulation="mipslelf mipsbelf mipself" ;;
419 # Uncommenting the next line will turn on support for i386 COFF
420 # in any i386 ELF configuration. This probably doesn't work
421 # correctly.
422 # i386-*-*-elf) emulation="i386coff i386elf" ;;
423 esac ;;
424 esac
425
426 emulations="$emulations $emulation"
427
428 done
429
430 # Assign floating point type. Most processors with FP support
431 # IEEE FP. On those that don't support FP at all, usually IEEE
432 # is emulated.
433 case ${target_cpu} in
434 vax | tahoe ) atof=${target_cpu} ;;
435 *) atof=ieee ;;
436 esac
437
438 case "${obj_format}" in
439 "") AC_MSG_ERROR(GAS does not know what format to use for target ${target}) ;;
440 esac
441
442 dnl
443 dnl Make sure the desired support files exist.
444 dnl
445
446 if test ! -r ${srcdir}/config/tc-${target_cpu_type}.c; then
447 AC_MSG_ERROR(GAS does not support target CPU ${target_cpu_type})
448 fi
449
450 if test ! -r ${srcdir}/config/obj-${obj_format}.c; then
451 AC_MSG_ERROR(GAS does not have support for object file format ${obj_format})
452 fi
453
454 case ${user_bfd_gas}-${primary_bfd_gas} in
455 yes-yes | no-no)
456 # We didn't override user's choice.
457 ;;
458 no-yes)
459 AC_MSG_WARN(Use of BFD is required for ${target}; overriding config options.)
460 ;;
461 no-preferred)
462 primary_bfd_gas=no
463 ;;
464 *-preferred)
465 primary_bfd_gas=yes
466 ;;
467 yes-*)
468 primary_bfd_gas=yes
469 ;;
470 -*)
471 # User specified nothing.
472 ;;
473 esac
474
475 # Some COFF configurations want these random other flags set.
476 case ${obj_format} in
477 coff)
478 case ${target_cpu_type} in
479 i386) AC_DEFINE(I386COFF) ;;
480 m68k) AC_DEFINE(M68KCOFF) ;;
481 m88k) AC_DEFINE(M88KCOFF) ;;
482 esac
483 ;;
484 esac
485
486 # Getting this done right is going to be a bitch. Each configuration specified
487 # with --enable-targets=... should be checked for environment, format, cpu, and
488 # bfd_gas setting.
489 #
490 # For each configuration, the necessary object file support code must be linked
491 # in. This might be only one, it might be up to four. The necessary emulation
492 # code needs to be provided, too.
493 #
494 # And then there's "--enable-targets=all"....
495 #
496 # For now, just always do it for MIPS ELF or ECOFF configurations. Sigh.
497
498 formats="${obj_format}"
499 emfiles=""
500 EMULATIONS=""
501 GAS_UNIQ(emulations)
502 for em in . $emulations ; do
503 case $em in
504 .) continue ;;
505 mipsbelf | mipslelf)
506 fmt=elf file=mipself ;;
507 mipsbecoff | mipslecoff)
508 fmt=ecoff file=mipsecoff ;;
509 i386coff)
510 fmt=coff file=i386coff ;;
511 i386elf)
512 fmt=elf file=i386elf ;;
513 esac
514 formats="$formats $fmt"
515 emfiles="$emfiles e-$file.o"
516 EMULATIONS="$EMULATIONS &$em,"
517 done
518 GAS_UNIQ(formats)
519 GAS_UNIQ(emfiles)
520 if test `set . $formats ; shift ; echo $#` -gt 1 ; then
521 for fmt in $formats ; do
522 case $fmt in
523 aout) AC_DEFINE(OBJ_MAYBE_AOUT) ;;
524 bout) AC_DEFINE(OBJ_MAYBE_BOUT) ;;
525 coff) AC_DEFINE(OBJ_MAYBE_COFF) ;;
526 ecoff) AC_DEFINE(OBJ_MAYBE_ECOFF) ;;
527 elf) AC_DEFINE(OBJ_MAYBE_ELF) ;;
528 generic) AC_DEFINE(OBJ_MAYBE_GENERIC) ;;
529 hp300) AC_DEFINE(OBJ_MAYBE_HP300) ;;
530 ieee) AC_DEFINE(OBJ_MAYBE_IEEE) ;;
531 som) AC_DEFINE(OBJ_MAYBE_SOM) ;;
532 vms) AC_DEFINE(OBJ_MAYBE_VMS) ;;
533 esac
534 extra_objects="$extra_objects obj-$fmt.o"
535 done
536 obj_format=multi
537 fi
538 if test `set . $emfiles ; shift ; echo $#` -gt 0 ; then
539 te_file=multi
540 extra_objects="$extra_objects $emfiles"
541 DEFAULT_EMULATION=`set . $emulations ; echo $2`
542 AC_DEFINE(USE_EMULATIONS)
543 fi
544 AC_SUBST(extra_objects)
545 AC_DEFINE_UNQUOTED(EMULATIONS, $EMULATIONS)
546 AC_DEFINE_UNQUOTED(DEFAULT_EMULATION, "$DEFAULT_EMULATION")
547
548 case ${primary_bfd_gas}-${target_cpu_type}-${obj_format} in
549 yes-*-coff) need_bfd=yes ;;
550 no-*-coff) need_bfd=yes
551 AC_DEFINE(MANY_SEGMENTS) ;;
552 esac
553
554 reject_dev_configs=yes
555
556 case ${reject_dev_configs}-${dev} in
557 yes-yes) # Oops.
558 AC_MSG_ERROR(GAS does not support the ${generic_target} configuration.)
559 ;;
560 esac
561
562 AC_SUBST(target_cpu_type)
563 AC_SUBST(obj_format)
564 AC_SUBST(te_file)
565 AC_SUBST(atof)
566 dnl AC_SUBST(emulation)
567
568 case "${primary_bfd_gas}" in
569 yes) AC_DEFINE(BFD_ASSEMBLER)
570 need_bfd=yes ;;
571 esac
572
573 # do we need the opcodes library?
574 case "${need_opcodes}" in
575 yes)
576 OPCODES_LIB=../opcodes/libopcodes.la
577 ;;
578 esac
579
580 case "${need_bfd}" in
581 yes)
582 BFDLIB=../bfd/libbfd.la
583 ALL_OBJ_DEPS="$ALL_OBJ_DEPS ../bfd/bfd.h"
584 ;;
585 esac
586
587 AC_SUBST(BFDLIB)
588 AC_SUBST(OPCODES_LIB)
589
590 AC_SUBST(ALL_OBJ_DEPS)
591
592 AC_DEFINE_UNQUOTED(TARGET_ALIAS, "${target_alias}")
593 AC_DEFINE_UNQUOTED(TARGET_CANONICAL, "${target}")
594 AC_DEFINE_UNQUOTED(TARGET_CPU, "${target_cpu}")
595 AC_DEFINE_UNQUOTED(TARGET_VENDOR, "${target_vendor}")
596 AC_DEFINE_UNQUOTED(TARGET_OS, "${target_os}")
597
598 AC_PROG_CC
599 AC_PROG_INSTALL
600
601 AC_PROG_YACC
602 AC_PROG_LEX
603 AC_DECL_YYTEXT
604
605 AM_MAINTAINER_MODE
606 AM_CYGWIN32
607 AM_EXEEXT
608
609 AC_CHECK_HEADERS(string.h stdlib.h memory.h strings.h unistd.h stdarg.h varargs.h errno.h sys/types.h)
610
611 # Put this here so that autoconf's "cross-compiling" message doesn't confuse
612 # people who are not cross-compiling but are compiling cross-assemblers.
613 AC_MSG_CHECKING(whether compiling a cross-assembler)
614 if test "${host}" = "${target}"; then
615 cross_gas=no
616 else
617 cross_gas=yes
618 AC_DEFINE(CROSS_COMPILE)
619 fi
620 AC_MSG_RESULT($cross_gas)
621
622 dnl ansidecl.h will deal with const
623 dnl AC_CONST
624 AC_FUNC_ALLOCA
625 AC_C_INLINE
626
627 # VMS doesn't have unlink.
628 AC_CHECK_FUNCS(unlink remove, break)
629
630 # Some systems don't have sbrk().
631 AC_CHECK_FUNCS(sbrk)
632
633 # Some non-ANSI preprocessors botch requoting inside strings. That's bad
634 # enough, but on some of those systems, the assert macro relies on requoting
635 # working properly!
636 GAS_WORKING_ASSERT
637
638 # On some systems, the system header files may not declare malloc, realloc,
639 # and free. There are places where gas needs these functions to have been
640 # declared -- such as when taking their addresses.
641 gas_test_headers="
642 #ifdef HAVE_MEMORY_H
643 #include <memory.h>
644 #endif
645 #ifdef HAVE_STRING_H
646 #include <string.h>
647 #else
648 #ifdef HAVE_STRINGS_H
649 #include <strings.h>
650 #endif
651 #endif
652 #ifdef HAVE_STDLIB_H
653 #include <stdlib.h>
654 #endif
655 #ifdef HAVE_UNISTD_H
656 #include <unistd.h>
657 #endif
658 "
659 GAS_CHECK_DECL_NEEDED(strstr, f, char *(*f)(), $gas_test_headers)
660 GAS_CHECK_DECL_NEEDED(malloc, f, char *(*f)(), $gas_test_headers)
661 GAS_CHECK_DECL_NEEDED(free, f, void (*f)(), $gas_test_headers)
662 GAS_CHECK_DECL_NEEDED(sbrk, f, char *(*f)(), $gas_test_headers)
663
664 # Does errno.h declare errno, or do we have to add a separate declaration
665 # for it?
666 GAS_CHECK_DECL_NEEDED(errno, f, int f, [
667 #ifdef HAVE_ERRNO_H
668 #include <errno.h>
669 #endif
670 ])
671
672 dnl This must come last.
673
674 dnl We used to make symlinks to files in the source directory, but now
675 dnl we just use the right name for .c files, and create .h files in
676 dnl the build directory which include the right .h file. Make sure
677 dnl the old symlinks don't exist, so that a reconfigure in an existing
678 dnl directory behaves reasonably.
679
680 AC_OUTPUT(Makefile doc/Makefile .gdbinit:gdbinit.in,
681 [rm -f targ-cpu.c targ-cpu.h obj-format.h obj-format.c targ-env.h atof-targ.c itbl-cpu.h
682 echo '#include "tc-'"${target_cpu_type}"'.h"' > targ-cpu.h
683 echo '#include "obj-'"${obj_format}"'.h"' > obj-format.h
684 echo '#include "te-'"${te_file}"'.h"' > targ-env.h
685 echo '#include "itbl-'"${target_cpu_type}"'.h"' > itbl-cpu.h
686 case ${target_cpu_type} in
687 m32r) echo '#include "opcodes/'"${target_cpu_type}"'-opc.h"' > cgen-opc.h ;;
688 esac],
689 [target_cpu_type=${target_cpu_type}
690 obj_format=${obj_format}
691 te_file=${te_file}])