1 dnl Process this file with autoconf to produce a configure script.
3 dnl And be careful when changing it! If you must add tests with square
4 dnl brackets, be sure changequote invocations surround it.
7 dnl v2.5 needed for --bindir et al
13 AM_INIT_AUTOMAKE(gas, 2.10.90)
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) ;;
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')
30 no) enable_targets= ;;
31 *) enable_targets=$enableval ;;
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]) ;;
43 build_warnings="-W -Wall"
44 AC_ARG_ENABLE(build-warnings,
45 [ --enable-build-warnings Enable build-time compiler warnings if gcc is used],
46 [case "${enableval}" in
48 no) build_warnings="-w";;
49 ,*) t=`echo "${enableval}" | sed -e "s/,/ /g"`
50 build_warnings="${build_warnings} ${t}";;
51 *,) t=`echo "${enableval}" | sed -e "s/,/ /g"`
52 build_warnings="${t} ${build_warnings}";;
53 *) build_warnings=`echo "${enableval}" | sed -e "s/,/ /g"`;;
55 if test x"$silent" != x"yes" && test x"$build_warnings" != x""; then
56 echo "Setting warning flags = $build_warnings" 6>&1
59 if test "x${build_warnings}" != x -a "x$GCC" = xyes ; then
60 WARN_CFLAGS="${build_warnings}"
64 # Generate a header file
65 AM_CONFIG_HEADER(config.h:config.in)
67 # If we are on a DOS filesystem, we must use gdb.ini rather than
71 *-*-msdos* | *-*-go32* | *-*-mingw32* | *-*-cygwin* | *-*-windows*)
79 # Makefile target for installing gas in $(tooldir)/bin.
80 install_tooldir=install-exec-tooldir
84 if test -n "$enable_targets" ; then
85 for t in `echo $enable_targets | sed 's/,/ /g'`; do
86 if test $t = "all"; then
90 result=`$ac_config_sub $t 2>/dev/null`
91 if test -n "$result" ; then
92 canon_targets="$canon_targets $result"
94 # # Permit "all", etc. We don't support it yet though.
95 # canon_targets="$canon_targets $t"
98 GAS_UNIQ(canon_targets)
103 for this_target in $target $canon_targets ; do
106 eval `echo $this_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/cpu=\1 vendor=\2 os=\3/'`
109 # check for architecture variants
113 alpha*) cpu_type=alpha ;;
114 armeb) cpu_type=arm endian=big ;;
115 arm*) cpu_type=arm endian=little ;;
116 armb*) cpu_type=arm endian=little ;;
117 armv*l) cpu_type=arm endian=little ;;
118 armv*b) cpu_type=arm endian=big ;;
119 strongarm*) cpu_type=arm endian=little ;;
120 thumb*) cpu_type=arm endian=little ;;
121 hppa*) cpu_type=hppa ;;
123 i[456]86) cpu_type=i386 ;;
124 ia64) cpu_type=ia64 ;;
125 m680[012346]0) cpu_type=m68k ;;
127 m68008) cpu_type=m68k ;;
128 m683??) cpu_type=m68k ;;
129 m5200) cpu_type=m68k ;;
130 m8*) cpu_type=m88k ;;
131 mips*el) cpu_type=mips endian=little ;;
132 mips*) cpu_type=mips endian=big ;;
133 pjl*) cpu_type=pj endian=little ;;
134 pj*) cpu_type=pj endian=big ;;
135 powerpcle*) cpu_type=ppc endian=little ;;
136 powerpc*) cpu_type=ppc endian=big ;;
137 rs6000*) cpu_type=ppc ;;
138 sparclite*) cpu_type=sparc arch=sparclite ;;
139 sparclet*) cpu_type=sparc arch=sparclet ;;
140 sparc64*) cpu_type=sparc arch=v9-64 ;;
141 sparc86x*) cpu_type=sparc arch=sparc86x ;;
142 sparc*) cpu_type=sparc arch=sparclite ;; # ??? See tc-sparc.c.
143 v850*) cpu_type=v850 ;;
144 *) cpu_type=${cpu} ;;
147 if test ${this_target} = $target ; then
148 target_cpu_type=${cpu_type}
149 elif test ${target_cpu_type} != ${cpu_type} ; then
153 generic_target=${cpu_type}-$vendor-$os
158 # assign object format
159 case ${generic_target} in
160 a29k-*-coff) fmt=coff ;;
161 a29k-amd-udi) fmt=coff ;;
162 a29k-amd-ebmon) fmt=coff ;;
163 a29k-nyu-sym1) fmt=coff ;;
164 a29k-*-vxworks*) fmt=coff ;;
166 alpha*-*-*vms*) fmt=evax ;;
167 alpha*-*-netware*) fmt=ecoff ;;
168 alpha*-*-openbsd*) fmt=ecoff ;;
169 alpha*-*-osf*) fmt=ecoff ;;
170 alpha*-*-linuxecoff*) fmt=ecoff ;;
171 alpha*-*-linux-gnu*) fmt=elf em=linux ;;
172 alpha*-*-netbsd*) fmt=elf em=nbsd ;;
174 arc-*-elf*) fmt=elf bfd_gas=yes ;;
176 arm-*-aout) fmt=aout ;;
177 arm-*-coff | thumb-*-coff) fmt=coff ;;
178 arm-*-elf | thumb-*-elf) fmt=elf ;;
179 arm*-*-conix*) fmt=elf ;;
180 arm-*-linux*aout*) fmt=aout em=linux ;;
181 arm*-*-linux-gnu*) fmt=elf em=linux ;;
182 arm-*-netbsd*) fmt=aout em=nbsd ;;
183 arm-*-oabi | thumb-*-oabi) fmt=elf ;;
184 arm-epoc-pe | thumb-epoc-pe) fmt=coff em=epoc-pe ;;
185 arm-*-wince) fmt=coff em=wince-pe ;;
186 arm-*-pe | thumb-*-pe) fmt=coff em=pe ;;
187 arm-*-riscix*) fmt=aout em=riscix ;;
189 avr-*-*) fmt=elf bfd_gas=yes ;;
191 d10v-*-*) fmt=elf bfd_gas=yes ;;
192 d30v-*-*) fmt=elf bfd_gas=yes ;;
195 fr30-*-*) fmt=elf bfd_gas=yes ;;
197 hppa-*-linux-gnu*) fmt=elf em=linux ;;
198 hppa-*-*elf*) fmt=elf em=hppa ;;
199 hppa-*-lites*) fmt=elf em=hppa ;;
200 hppa-*-osf*) fmt=som em=hppa ;;
201 hppa-*-rtems*) fmt=elf em=hppa ;;
202 hppa-*-hpux11*) em=hppa
210 hppa-*-hpux*) fmt=som em=hppa ;;
211 hppa-*-mpeix*) fmt=som em=hppa ;;
212 hppa-*-bsd*) fmt=som em=hppa ;;
213 hppa-*-hiux*) fmt=som em=hppa ;;
215 h8300-*-coff) fmt=coff ;;
217 i370-*-elf* | i370-*-linux*) fmt=elf ;;
218 i386-ibm-aix*) fmt=coff em=i386aix ;;
219 i386-sequent-bsd*) fmt=aout em=dynix bfd_gas=yes ;;
220 i386-*-beospe*) fmt=coff em=pe bfd_gas=yes ;;
221 i386-*-beoself* | i386-*-beos*) fmt=elf bfd_gas=yes ;;
222 i386-*-bsd*) fmt=aout em=386bsd ;;
223 i386-*-netbsd0.8) fmt=aout em=386bsd ;;
224 i386-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes;;
225 i386-*-openbsd*) fmt=aout em=nbsd bfd_gas=yes;;
226 i386-*-linux*aout* | i386-*-linuxoldld) fmt=aout em=linux ;;
227 i386-*-linux*coff*) fmt=coff em=linux ;;
228 i386-*-linux-gnu*) fmt=elf em=linux bfd_gas=yes ;;
229 i386-*-lynxos*) fmt=coff em=lynx ;;
230 i386-*-sysv4* | i386-*-solaris* | i386-*-elf)
231 fmt=elf bfd_gas=yes ;;
233 i386-*-freebsdaout* | i386-*-freebsd[12].* | i386-*-freebsd[12])
234 fmt=aout em=386bsd ;;
236 i386-*-freebsd*) fmt=elf bfd_gas=yes ;;
237 i386-*-coff | i386-*-sysv* | i386-*-sco3.2v5*coff | i386-*-isc*)
239 i386-*-sco3.2v5*) fmt=elf
240 if test ${this_target} = $target; then
241 AC_DEFINE(SCO_ELF, 1,
242 [Define if defaulting to ELF on SCO 5.])
245 i386-*-sco3.2*) fmt=coff ;;
246 i386-*-vsta) fmt=aout ;;
247 i386-*-msdosdjgpp* | i386-*-go32* | i386-go32-rtems*)
249 i386-*-rtemself*) fmt=elf ;;
250 i386-*-rtems*) fmt=coff ;;
251 i386-*-gnu*) fmt=elf ;;
253 fmt=aout em=mach bfd_gas=yes ;;
254 i386-*-msdos*) fmt=aout ;;
255 i386-*-moss*) fmt=elf ;;
256 i386-*-pe) fmt=coff em=pe bfd_gas=yes ;;
257 i386-*-cygwin*) fmt=coff em=pe bfd_gas=yes ;;
258 i386-*-interix*) fmt=coff em=interix bfd_gas=yes ;;
259 i386-*-mingw32*) fmt=coff em=pe bfd_gas=yes ;;
260 i386-*-*nt*) fmt=coff em=pe bfd_gas=yes ;;
261 i386-*-vxworks*) fmt=aout ;;
262 i960-*-bout) fmt=bout ;;
263 i960-*-coff) fmt=coff em=ic960 ;;
264 i960-*-rtems*) fmt=coff em=ic960 ;;
265 i960-*-nindy*) fmt=bout ;;
266 i960-*-vxworks4*) fmt=bout ;;
267 i960-*-vxworks5.0) fmt=bout ;;
268 i960-*-vxworks5.*) fmt=coff em=ic960 ;;
269 i960-*-vxworks*) fmt=bout ;;
270 i960-*-elf*) fmt=elf ;;
272 ia64-*-elf*) fmt=elf ;;
273 ia64-*-linux-gnu*) fmt=elf em=linux ;;
275 m32r-*-*) fmt=elf bfd_gas=yes ;;
277 m68k-*-vxworks* | m68k-ericsson-ose | m68k-*-sunos*)
279 m68k-motorola-sysv*) fmt=coff em=delta ;;
280 m68k-bull-sysv3*) fmt=coff em=dpx2 ;;
281 m68k-apollo-*) fmt=coff em=apollo ;;
282 m68k-*-sysv4*) # must be before -sysv*
284 m68k-*-elf*) fmt=elf ;;
285 m68k-*-coff | m68k-*-sysv* | m68k-*-rtems*)
287 m68k-*-hpux*) fmt=hp300 em=hp300 ;;
288 m68k-*-linux*aout*) fmt=aout em=linux ;;
289 m68k-*-linux-gnu*) fmt=elf em=linux ;;
290 m68k-*-gnu*) fmt=elf ;;
291 m68k-*-lynxos*) fmt=coff em=lynx ;;
292 m68k-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
293 m68k-*-openbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
294 m68k-apple-aux*) fmt=coff em=aux ;;
295 m68k-*-psos*) fmt=elf em=psos;;
297 m88k-motorola-sysv3*) fmt=coff em=delt88 ;;
298 m88k-*-coff*) fmt=coff ;;
300 mcore-*-elf) fmt=elf bfd_gas=yes ;;
301 mcore-*-pe) fmt=coff em=pe bfd_gas=yes ;;
303 # don't change em like *-*-bsd does
304 mips-dec-netbsd*) fmt=elf endian=little ;;
305 mips-dec-openbsd*) fmt=elf endian=little ;;
306 mips-dec-bsd*) fmt=aout endian=little ;;
307 mips-sony-bsd*) fmt=ecoff ;;
308 mips-*-bsd*) AC_MSG_ERROR(Unknown vendor for mips-bsd configuration.) ;;
309 mips-*-ultrix*) fmt=ecoff endian=little ;;
310 mips-*-osf*) fmt=ecoff endian=little ;;
311 mips-*-ecoff*) fmt=ecoff ;;
312 mips-*-ecoff*) fmt=ecoff ;;
313 mips-*-pe*) fmt=coff endian=little em=pe ;;
314 mips-*-irix6*) fmt=elf ;;
315 mips-*-irix5*) fmt=elf ;;
316 mips-*-irix*) fmt=ecoff ;;
317 mips-*-lnews*) fmt=ecoff em=lnews ;;
318 mips-*-riscos*) fmt=ecoff ;;
319 mips-*-sysv*) fmt=ecoff ;;
320 mips-*-elf* | mips-*-rtems* | mips-*-linux-gnu* | mips-*-gnu* | mips-*-openbsd*)
322 mips-*-vxworks*) fmt=elf
323 AC_DEFINE(MIPS_STABS_ELF, 1,
324 [Use ELF stabs for MIPS, not ECOFF stabs])
326 mn10200-*-*) fmt=elf bfd_gas=yes ;;
327 mn10300-*-*) fmt=elf bfd_gas=yes ;;
329 ppc-*-pe | ppc-*-cygwin* | ppc-*-winnt*)
331 ppc-*-aix*) fmt=coff ;;
332 ppc-*-beos*) fmt=coff ;;
333 ppc-*-*bsd* | ppc-*-elf* | ppc-*-eabi* | ppc-*-sysv4*)
335 ppc-*-linux-gnu*) fmt=elf
338 *) AC_MSG_ERROR(GNU/Linux must be configured big endian) ;;
341 ppc-*-solaris*) fmt=elf
342 if test ${this_target} = $target; then
343 AC_DEFINE(TARGET_SOLARIS_COMMENT, 1,
344 [Define if default target is PowerPC Solaris.])
346 if test x${endian} = xbig; then
347 AC_MSG_ERROR(Solaris must be configured little endian)
350 ppc-*-rtems*) fmt=elf ;;
351 ppc-*-macos* | ppc-*-mpw*)
353 ppc-*-netware*) fmt=elf em=ppcnw ;;
354 ppc-*-vxworks*) fmt=elf ;;
356 sh-*-elf*) fmt=elf ;;
357 sh-*-coff*) fmt=coff ;;
358 sh-*-pe*) fmt=coff em=pe bfd_gas=yes;;
359 sh-*-rtemself*) fmt=elf ;;
360 sh-*-rtems*) fmt=coff ;;
362 ns32k-pc532-mach* | ns32k-pc532-ux*) fmt=aout em=pc532mach ;;
363 ns32k-pc532-netbsd* | ns32k-pc532-lites*) fmt=aout em=nbsd532 ;;
364 ns32k-pc532-openbsd*) fmt=aout em=nbsd532 ;;
366 sparc-*-rtems*) fmt=aout ;;
367 sparc-*-sunos4*) fmt=aout em=sun3 ;;
368 sparc-*-aout | sparc*-*-vxworks*)
369 fmt=aout em=sparcaout ;;
370 sparc-*-coff) fmt=coff ;;
371 sparc-*-linux*aout*) fmt=aout em=linux ;;
372 sparc-*-linux-gnu*) fmt=elf em=linux ;;
373 sparc-*-lynxos*) fmt=coff em=lynx ;;
374 sparc-fujitsu-none) fmt=aout ;;
375 sparc-*-elf | sparc-*-sysv4* | sparc-*-solaris*)
377 sparc-*-netbsd*) em=nbsd bfd_gas=yes
386 sparc-*-openbsd*) fmt=aout em=nbsd ;;
388 strongarm-*-coff) fmt=coff ;;
389 strongarm-*-elf) fmt=elf ;;
391 tic30-*-*aout*) fmt=aout bfd_gas=yes ;;
392 tic30-*-*coff*) fmt=coff bfd_gas=yes ;;
393 tic80-*-*) fmt=coff ;;
395 v850-*-*) fmt=elf bfd_gas=yes ;;
396 v850e-*-*) fmt=elf bfd_gas=yes ;;
397 v850ea-*-*) fmt=elf bfd_gas=yes ;;
399 vax-*-bsd* | vax-*-ultrix*)
401 vax-*-vms) fmt=vms ;;
404 z8k-*-coff | z8k-*-sim)
409 *-*-aout | *-*-scout)
415 *-*-generic) fmt=generic ;;
416 *-*-xray | *-*-hms) fmt=coff ;;
418 *-*-elf | *-*-sysv4* | *-*-solaris*)
419 AC_MSG_WARN(GAS support for ${generic_target} is incomplete.)
421 *-*-vxworks) fmt=aout ;;
422 *-*-netware) fmt=elf ;;
425 if test ${this_target} = $target ; then
427 if test x${endian} = xbig; then
429 elif test x${endian} = xlittle; then
432 if test x${endian_def} != x; then
433 AC_DEFINE_UNQUOTED(TARGET_BYTES_BIG_ENDIAN, $endian_def,
434 [Define as 1 if big endian.])
438 case ${cpu_type}-${fmt} in
439 alpha*-*) bfd_gas=yes ;;
440 arm-*) bfd_gas=yes ;;
442 # i386-aout) bfd_gas=preferred ;;
443 ia64*-*) bfd_gas=yes ;;
444 mips-*) bfd_gas=yes ;;
445 ns32k-*) bfd_gas=yes ;;
446 ppc-*) bfd_gas=yes ;;
447 sparc-*) bfd_gas=yes ;;
448 strongarm-*) bfd_gas=yes ;;
449 *-elf) bfd_gas=yes ;;
450 *-ecoff) bfd_gas=yes ;;
451 *-som) bfd_gas=yes ;;
452 #enable bfd for coff and aout to allow testing if a bfd target is
453 #the primary target, but not for coff or aout as the primary target
454 i386-coff) if test x${primary_bfd_gas} = xyes; then bfd_gas=yes; fi ;;
455 i386-aout) if test x${primary_bfd_gas} = xyes; then bfd_gas=yes; fi ;;
459 # Other random stuff.
461 # Do we need the opcodes library?
469 case "${enable_shared}" in
470 yes) shared_opcodes=true ;;
471 *opcodes*) shared_opcodes=true ;;
472 *) shared_opcodes=false ;;
474 if test "${shared_opcodes}" = "true"; then
475 # A shared libopcodes must be linked against libbfd.
481 # Any other special object files needed ?
488 case ${extra_objects} in
490 *) extra_objects="$extra_objects m68k-parse.o" ;;
495 echo ${extra_objects} | grep -s "itbl-parse.o"
496 if test $? -ne 0 ; then
497 extra_objects="$extra_objects itbl-parse.o"
500 echo ${extra_objects} | grep -s "itbl-lex.o"
501 if test $? -ne 0 ; then
502 extra_objects="$extra_objects itbl-lex.o"
505 echo ${extra_objects} | grep -s "itbl-ops.o"
506 if test $? -ne 0 ; then
507 extra_objects="$extra_objects itbl-ops.o"
512 if test $this_target = $target ; then
513 AC_DEFINE_UNQUOTED(DEFAULT_ARCH, "${arch}", [Default architecture.])
520 if test $using_cgen = yes ; then
521 case "x${extra_objects}" in
523 *) extra_objects="$extra_objects cgen.o" ;;
527 # See if we really can support this configuration with the emulation code.
529 if test $this_target = $target ; then
530 primary_bfd_gas=$bfd_gas
534 if test $bfd_gas = no ; then
535 # Can't support other configurations this way.
538 elif test $bfd_gas = no ; then
539 # Can't support this configuration.
543 # From target name and format, produce a list of supported emulations.
545 case ${generic_target}-${fmt} in
546 mips-*-irix5*-*) emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;;
547 mips-*-linux-gnu*-*) case "$endian" in
548 big) emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;;
549 *) emulation="mipslelf mipsbelf mipself mipslecoff mipsbecoff mipsecoff" ;;
551 mips-*-lnews*-ecoff) ;;
552 mips-*-*-ecoff) case "$endian" in
553 big) emulation="mipsbecoff mipslecoff mipsecoff" ;;
554 *) emulation="mipslecoff mipsbecoff mipsecoff" ;;
556 mips-*-*-elf) case "$endian" in
557 big) emulation="mipsbelf mipslelf mipself" ;;
558 *) emulation="mipslelf mipsbelf mipself" ;;
560 # i386-pc-pe-coff != i386-pc-coff.
562 # Uncommenting the next line will turn on support for i386 AOUT
563 # for the default linux configuration
564 # i386-*-linux*-elf) emulation="i386elf i386aout" ;;
566 i386-*-aout) emulation="i386aout" ;;
567 i386-*-coff) emulation="i386coff" ;;
568 i386-*-elf) emulation="i386elf" ;;
571 emulations="$emulations $emulation"
575 # Turn on all targets if possible
576 if test ${all_targets} = "yes"; then
577 case ${target_cpu_type} in
579 case ${obj_format} in
581 emulations="$emulations i386coff i386elf"
584 emulations="$emulations i386aout i386elf"
587 emulations="$emulations i386aout i386coff"
594 # Assign floating point type. Most processors with FP support
595 # IEEE FP. On those that don't support FP at all, usually IEEE
597 case ${target_cpu} in
598 vax | tahoe ) atof=${target_cpu} ;;
602 case "${obj_format}" in
603 "") AC_MSG_ERROR(GAS does not know what format to use for target ${target}) ;;
606 # Unfortunately the cpu in cpu-opc.h file isn't always $(TARGET_CPU).
608 if test $using_cgen = yes ; then
609 case ${target_cpu} in
610 *) cgen_cpu_prefix=${target_cpu} ;;
612 AC_SUBST(cgen_cpu_prefix)
613 AC_DEFINE(USING_CGEN, 1, [Using cgen code?])
617 dnl Make sure the desired support files exist.
620 if test ! -r ${srcdir}/config/tc-${target_cpu_type}.c; then
621 AC_MSG_ERROR(GAS does not support target CPU ${target_cpu_type})
624 if test ! -r ${srcdir}/config/obj-${obj_format}.c; then
625 AC_MSG_ERROR(GAS does not have support for object file format ${obj_format})
628 case ${user_bfd_gas}-${primary_bfd_gas} in
630 # We didn't override user's choice.
633 AC_MSG_WARN(Use of BFD is required for ${target}; overriding config options.)
645 # User specified nothing.
649 # Some COFF configurations want these random other flags set.
650 case ${obj_format} in
652 case ${target_cpu_type} in
653 i386) AC_DEFINE(I386COFF, 1, [Using i386 COFF?]) ;;
654 m68k) AC_DEFINE(M68KCOFF, 1, [Using m68k COFF?]) ;;
655 m88k) AC_DEFINE(M88KCOFF, 1, [Using m88k COFF?]) ;;
660 # Getting this done right is going to be a bitch. Each configuration specified
661 # with --enable-targets=... should be checked for environment, format, cpu, and
664 # For each configuration, the necessary object file support code must be linked
665 # in. This might be only one, it might be up to four. The necessary emulation
666 # code needs to be provided, too.
668 # And then there's "--enable-targets=all"....
670 # For now, just always do it for MIPS ELF or ECOFF configurations. Sigh.
672 formats="${obj_format}"
676 for em in . $emulations ; do
680 fmt=elf file=mipself ;;
681 mipsbecoff | mipslecoff)
682 fmt=ecoff file=mipsecoff ;;
690 formats="$formats $fmt"
691 emfiles="$emfiles e-$file.o"
692 EMULATIONS="$EMULATIONS &$em,"
696 if test `set . $formats ; shift ; echo $#` -gt 1 ; then
697 for fmt in $formats ; do
699 aout) AC_DEFINE(OBJ_MAYBE_AOUT, 1, [a.out support?]) ;;
700 bout) AC_DEFINE(OBJ_MAYBE_BOUT, 1, [b.out support?]) ;;
701 coff) AC_DEFINE(OBJ_MAYBE_COFF, 1, [COFF support?]) ;;
702 ecoff) AC_DEFINE(OBJ_MAYBE_ECOFF, 1, [ECOFF support?]) ;;
703 elf) AC_DEFINE(OBJ_MAYBE_ELF, 1, [ELF support?]) ;;
704 generic) AC_DEFINE(OBJ_MAYBE_GENERIC, 1, [generic support?]) ;;
705 hp300) AC_DEFINE(OBJ_MAYBE_HP300, 1, [HP300 support?]) ;;
706 ieee) AC_DEFINE(OBJ_MAYBE_IEEE, 1, [IEEE support?]) ;;
707 som) AC_DEFINE(OBJ_MAYBE_SOM, 1, [SOM support?]) ;;
708 vms) AC_DEFINE(OBJ_MAYBE_VMS, 1, [VMS support?]) ;;
710 extra_objects="$extra_objects obj-$fmt.o"
714 if test `set . $emfiles ; shift ; echo $#` -gt 0 ; then
715 DEFAULT_EMULATION=`set . $emulations ; echo $2`
716 # e-mips* has more than one emulation per file, e-i386* has just one at the
717 # moment. If only one emulation is specified, then don't define
718 # USE_EMULATIONS or include any of the e-files as they will only be bloat.
719 case "${obj_format}${emfiles}" in
721 extra_objects="$extra_objects $emfiles"
722 AC_DEFINE(USE_EMULATIONS, 1, [Use emulation support?]) ;;
725 AC_SUBST(extra_objects)
726 AC_DEFINE_UNQUOTED(EMULATIONS, $EMULATIONS, [Supported emulations.])
727 AC_DEFINE_UNQUOTED(DEFAULT_EMULATION, "$DEFAULT_EMULATION",
728 [Default emulation.])
730 case ${primary_bfd_gas}-${target_cpu_type}-${obj_format} in
731 yes-*-coff) need_bfd=yes ;;
732 no-*-coff) need_bfd=yes
733 AC_DEFINE(MANY_SEGMENTS, 1, [old COFF support?]) ;;
736 reject_dev_configs=yes
738 case ${reject_dev_configs}-${dev} in
740 AC_MSG_ERROR(GAS does not support the ${generic_target} configuration.)
744 AC_SUBST(target_cpu_type)
747 AC_SUBST(install_tooldir)
749 dnl AC_SUBST(emulation)
751 case "${primary_bfd_gas}" in
752 yes) AC_DEFINE(BFD_ASSEMBLER, 1, [Use BFD interface?])
756 # do we need the opcodes library?
757 case "${need_opcodes}" in
759 OPCODES_LIB=../opcodes/libopcodes.la
763 case "${need_bfd}" in
765 BFDLIB=../bfd/libbfd.la
766 ALL_OBJ_DEPS="$ALL_OBJ_DEPS ../bfd/bfd.h"
771 AC_SUBST(OPCODES_LIB)
773 AC_SUBST(ALL_OBJ_DEPS)
775 AC_DEFINE_UNQUOTED(TARGET_ALIAS, "${target_alias}", [Target alias.])
776 AC_DEFINE_UNQUOTED(TARGET_CANONICAL, "${target}", [Canonical target.])
777 AC_DEFINE_UNQUOTED(TARGET_CPU, "${target_cpu}", [Target CPU.])
778 AC_DEFINE_UNQUOTED(TARGET_VENDOR, "${target_vendor}", [Target vendor.])
779 AC_DEFINE_UNQUOTED(TARGET_OS, "${target_os}", [Target OS.])
792 AC_CHECK_HEADERS(string.h stdlib.h memory.h strings.h unistd.h stdarg.h varargs.h errno.h sys/types.h)
794 # Put this here so that autoconf's "cross-compiling" message doesn't confuse
795 # people who are not cross-compiling but are compiling cross-assemblers.
796 AC_MSG_CHECKING(whether compiling a cross-assembler)
797 if test "${host}" = "${target}"; then
801 AC_DEFINE(CROSS_COMPILE, 1, [Compiling cross-assembler?])
803 AC_MSG_RESULT($cross_gas)
805 dnl ansidecl.h will deal with const
810 # VMS doesn't have unlink.
811 AC_CHECK_FUNCS(unlink remove, break)
813 # Some systems don't have sbrk().
816 # Some non-ANSI preprocessors botch requoting inside strings. That's bad
817 # enough, but on some of those systems, the assert macro relies on requoting
821 # On some systems, the system header files may not declare malloc, realloc,
822 # and free. There are places where gas needs these functions to have been
823 # declared -- such as when taking their addresses.
831 #ifdef HAVE_STRINGS_H
842 GAS_CHECK_DECL_NEEDED(strstr, f, char *(*f)(), $gas_test_headers)
843 GAS_CHECK_DECL_NEEDED(malloc, f, char *(*f)(), $gas_test_headers)
844 GAS_CHECK_DECL_NEEDED(free, f, void (*f)(), $gas_test_headers)
845 GAS_CHECK_DECL_NEEDED(sbrk, f, char *(*f)(), $gas_test_headers)
846 GAS_CHECK_DECL_NEEDED(environ, f, char **f, $gas_test_headers)
848 # Does errno.h declare errno, or do we have to add a separate declaration
850 GAS_CHECK_DECL_NEEDED(errno, f, int f, [
856 dnl This must come last.
858 dnl We used to make symlinks to files in the source directory, but now
859 dnl we just use the right name for .c files, and create .h files in
860 dnl the build directory which include the right .h file. Make sure
861 dnl the old symlinks don't exist, so that a reconfigure in an existing
862 dnl directory behaves reasonably.
864 AC_OUTPUT(Makefile doc/Makefile ${GDBINIT}:gdbinit.in po/Makefile.in:po/Make-in,
865 [rm -f targ-cpu.c targ-cpu.h obj-format.h obj-format.c targ-env.h atof-targ.c itbl-cpu.h
866 echo '#include "tc-'"${target_cpu_type}"'.h"' > targ-cpu.h
867 echo '#include "obj-'"${obj_format}"'.h"' > obj-format.h
868 echo '#include "te-'"${te_file}"'.h"' > targ-env.h
869 echo '#include "itbl-'"${target_cpu_type}"'.h"' > itbl-cpu.h
870 if test "x$cgen_cpu_prefix" != x ; then
871 echo '#include "opcodes/'"${cgen_cpu_prefix}"'-desc.h"' > cgen-desc.h
874 sed -e '/POTFILES =/r po/POTFILES' po/Makefile.in > po/Makefile],
875 [target_cpu_type=${target_cpu_type}
876 cgen_cpu_prefix=${cgen_cpu_prefix}
877 obj_format=${obj_format}