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.9.5)
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 bfd_gas=yes ;;
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 bfd_gas=yes;;
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-*-*elf*) fmt=elf em=hppa ;;
198 hppa-*-linux-gnu*) 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-*-hpux*) fmt=som em=hppa ;;
203 hppa-*-mpeix*) fmt=som em=hppa ;;
204 hppa-*-bsd*) fmt=som em=hppa ;;
205 hppa-*-hiux*) fmt=som em=hppa ;;
207 h8300-*-coff) fmt=coff ;;
209 i370-*-elf* | i370-*-linux*) fmt=elf ;;
210 i386-ibm-aix*) fmt=coff em=i386aix ;;
211 i386-sequent-bsd*) fmt=aout em=dynix bfd_gas=yes ;;
212 i386-*-beospe*) fmt=coff em=pe bfd_gas=yes ;;
213 i386-*-beoself* | i386-*-beos*) fmt=elf bfd_gas=yes ;;
214 i386-*-bsd*) fmt=aout em=386bsd ;;
215 i386-*-netbsd0.8) fmt=aout em=386bsd ;;
216 i386-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes;;
217 i386-*-openbsd*) fmt=aout em=nbsd bfd_gas=yes;;
218 i386-*-linux*aout* | i386-*-linuxoldld) fmt=aout em=linux ;;
219 i386-*-linux*coff*) fmt=coff em=linux ;;
220 i386-*-linux-gnu*) fmt=elf em=linux bfd_gas=yes ;;
221 i386-*-lynxos*) fmt=coff em=lynx ;;
222 i386-*-sysv4* | i386-*-solaris* | i386-*-elf)
223 fmt=elf bfd_gas=yes ;;
224 i386-*-freebsdaout* | i386-*-freebsd[12].* | i386-*-freebsd[12])
225 fmt=aout em=386bsd ;;
226 i386-*-freebsd*) fmt=elf bfd_gas=yes ;;
227 i386-*-coff | i386-*-sysv* | i386-*-sco3.2v5*coff | i386-*-isc*)
229 i386-*-sco3.2v5*) fmt=elf
230 if test ${this_target} = $target; then
231 AC_DEFINE(SCO_ELF, 1,
232 [Define if defaulting to ELF on SCO 5.])
235 i386-*-sco3.2*) fmt=coff ;;
236 i386-*-vsta) fmt=aout ;;
237 i386-*-msdosdjgpp* | i386-*-go32* | i386-go32-rtems*)
239 i386-*-rtemself*) fmt=elf ;;
240 i386-*-rtems*) fmt=coff ;;
241 i386-*-gnu*) fmt=elf ;;
243 fmt=aout em=mach bfd_gas=yes ;;
244 i386-*-msdos*) fmt=aout ;;
245 i386-*-moss*) fmt=elf ;;
246 i386-*-pe) fmt=coff em=pe ;;
247 i386-*-cygwin*) fmt=coff em=pe bfd_gas=yes ;;
248 i386-*-interix*) fmt=coff em=interix bfd_gas=yes ;;
249 i386-*-mingw32*) fmt=coff em=pe bfd_gas=yes ;;
250 i386-*-*nt*) fmt=coff em=pe ;;
251 i386-*-vxworks*) fmt=aout ;;
252 i960-*-bout) fmt=bout ;;
253 i960-*-coff) fmt=coff em=ic960 ;;
254 i960-*-rtems*) fmt=coff em=ic960 ;;
255 i960-*-nindy*) fmt=bout ;;
256 i960-*-vxworks4*) fmt=bout ;;
257 i960-*-vxworks5.0) fmt=bout ;;
258 i960-*-vxworks5.*) fmt=coff em=ic960 ;;
259 i960-*-vxworks*) fmt=bout ;;
260 i960-*-elf*) fmt=elf ;;
262 ia64-*-elf*) fmt=elf ;;
263 ia64-*-linux-gnu*) fmt=elf em=linux ;;
265 m32r-*-*) fmt=elf bfd_gas=yes ;;
267 m68k-*-vxworks* | m68k-ericsson-ose | m68k-*-sunos*)
269 m68k-motorola-sysv*) fmt=coff em=delta ;;
270 m68k-bull-sysv3*) fmt=coff em=dpx2 ;;
271 m68k-apollo-*) fmt=coff em=apollo ;;
272 m68k-*-sysv4*) # must be before -sysv*
274 m68k-*-elf*) fmt=elf ;;
275 m68k-*-coff | m68k-*-sysv* | m68k-*-rtems*)
277 m68k-*-hpux*) fmt=hp300 em=hp300 ;;
278 m68k-*-linux*aout*) fmt=aout em=linux ;;
279 m68k-*-linux-gnu*) fmt=elf em=linux ;;
280 m68k-*-gnu*) fmt=elf ;;
281 m68k-*-lynxos*) fmt=coff em=lynx ;;
282 m68k-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
283 m68k-*-openbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
284 m68k-apple-aux*) fmt=coff em=aux ;;
285 m68k-*-psos*) fmt=elf em=psos;;
287 m88k-motorola-sysv3*) fmt=coff em=delt88 ;;
288 m88k-*-coff*) fmt=coff ;;
290 mcore-*-elf) fmt=elf bfd_gas=yes ;;
291 mcore-*-pe) fmt=coff em=pe bfd_gas=yes ;;
293 # don't change em like *-*-bsd does
294 mips-dec-netbsd*) fmt=elf endian=little ;;
295 mips-dec-openbsd*) fmt=elf endian=little ;;
296 mips-dec-bsd*) fmt=aout endian=little ;;
297 mips-sony-bsd*) fmt=ecoff ;;
298 mips-*-bsd*) AC_MSG_ERROR(Unknown vendor for mips-bsd configuration.) ;;
299 mips-*-ultrix*) fmt=ecoff endian=little ;;
300 mips-*-osf*) fmt=ecoff endian=little ;;
301 mips-*-ecoff*) fmt=ecoff ;;
302 mips-*-ecoff*) fmt=ecoff ;;
303 mips-*-pe*) fmt=coff endian=little em=pe ;;
304 mips-*-irix6*) fmt=elf ;;
305 mips-*-irix5*) fmt=elf ;;
306 mips-*-irix*) fmt=ecoff ;;
307 mips-*-lnews*) fmt=ecoff em=lnews ;;
308 mips-*-riscos*) fmt=ecoff ;;
309 mips-*-sysv*) fmt=ecoff ;;
310 mips-*-elf* | mips-*-rtems* | mips-*-linux-gnu* | mips-*-gnu* | mips-*-openbsd*)
312 mips-*-vxworks*) fmt=elf
313 AC_DEFINE(MIPS_STABS_ELF, 1,
314 [Use ELF stabs for MIPS, not ECOFF stabs])
316 mn10200-*-*) fmt=elf bfd_gas=yes ;;
317 mn10300-*-*) fmt=elf bfd_gas=yes ;;
319 ppc-*-pe | ppc-*-cygwin* | ppc-*-winnt*)
321 ppc-*-aix*) fmt=coff ;;
322 ppc-*-beos*) fmt=coff ;;
323 ppc-*-*bsd* | ppc-*-elf* | ppc-*-eabi* | ppc-*-sysv4*)
325 ppc-*-linux-gnu*) fmt=elf
328 *) AC_MSG_ERROR(GNU/Linux must be configured big endian) ;;
331 ppc-*-solaris*) fmt=elf
332 if test ${this_target} = $target; then
333 AC_DEFINE(TARGET_SOLARIS_COMMENT, 1,
334 [Define if default target is PowerPC Solaris.])
336 if test x${endian} = xbig; then
337 AC_MSG_ERROR(Solaris must be configured little endian)
340 ppc-*-rtems*) fmt=elf ;;
341 ppc-*-macos* | ppc-*-mpw*)
343 ppc-*-netware*) fmt=elf em=ppcnw ;;
344 ppc-*-vxworks*) fmt=elf ;;
346 sh-*-elf*) fmt=elf ;;
347 sh-*-coff*) fmt=coff ;;
348 sh-*-pe*) fmt=coff em=pe bfd_gas=yes;;
349 sh-*-rtemself*) fmt=elf ;;
350 sh-*-rtems*) fmt=coff ;;
352 ns32k-pc532-mach* | ns32k-pc532-ux*) fmt=aout em=pc532mach ;;
353 ns32k-pc532-netbsd* | ns32k-pc532-lites*) fmt=aout em=nbsd532 ;;
354 ns32k-pc532-openbsd*) fmt=aout em=nbsd532 ;;
356 sparc-*-rtems*) fmt=aout ;;
357 sparc-*-sunos4*) fmt=aout em=sun3 ;;
358 sparc-*-aout | sparc*-*-vxworks*)
359 fmt=aout em=sparcaout ;;
360 sparc-*-coff) fmt=coff ;;
361 sparc-*-linux*aout*) fmt=aout em=linux ;;
362 sparc-*-linux-gnu*) fmt=elf em=linux ;;
363 sparc-*-lynxos*) fmt=coff em=lynx ;;
364 sparc-fujitsu-none) fmt=aout ;;
365 sparc-*-elf | sparc-*-sysv4* | sparc-*-solaris*)
367 sparc-*-netbsd*) fmt=aout em=nbsd ;;
368 sparc-*-openbsd*) fmt=aout em=nbsd ;;
370 strongarm-*-coff) fmt=coff ;;
371 strongarm-*-elf) fmt=elf ;;
373 tic30-*-*aout*) fmt=aout bfd_gas=yes ;;
374 tic30-*-*coff*) fmt=coff bfd_gas=yes ;;
375 tic80-*-*) fmt=coff ;;
377 v850-*-*) fmt=elf bfd_gas=yes ;;
378 v850e-*-*) fmt=elf bfd_gas=yes ;;
379 v850ea-*-*) fmt=elf bfd_gas=yes ;;
381 vax-*-bsd* | vax-*-ultrix*)
383 vax-*-vms) fmt=vms ;;
386 z8k-*-coff | z8k-*-sim)
391 *-*-aout | *-*-scout)
397 *-*-generic) fmt=generic ;;
398 *-*-xray | *-*-hms) fmt=coff ;;
400 *-*-elf | *-*-sysv4* | *-*-solaris*)
401 AC_MSG_WARN(GAS support for ${generic_target} is incomplete.)
403 *-*-vxworks) fmt=aout ;;
404 *-*-netware) fmt=elf ;;
407 if test ${this_target} = $target ; then
409 if test x${endian} = xbig; then
411 elif test x${endian} = xlittle; then
414 if test x${endian_def} != x; then
415 AC_DEFINE_UNQUOTED(TARGET_BYTES_BIG_ENDIAN, $endian_def,
416 [Define as 1 if big endian.])
420 case ${cpu_type}-${fmt} in
421 alpha*-*) bfd_gas=yes ;;
422 arm-*) bfd_gas=yes ;;
424 # i386-aout) bfd_gas=preferred ;;
425 ia64*-*) bfd_gas=yes ;;
426 mips-*) bfd_gas=yes ;;
427 ns32k-*) bfd_gas=yes ;;
428 ppc-*) bfd_gas=yes ;;
429 sparc-*) bfd_gas=yes ;;
430 strongarm-*) bfd_gas=yes ;;
431 *-elf) bfd_gas=yes ;;
432 *-ecoff) bfd_gas=yes ;;
433 *-som) bfd_gas=yes ;;
434 #enable bfd for coff and aout to allow testing if a bfd target is
435 #the primary target, but not for coff or aout as the primary target
436 i386-coff) if test x${primary_bfd_gas} = xyes; then bfd_gas=yes; fi ;;
437 i386-aout) if test x${primary_bfd_gas} = xyes; then bfd_gas=yes; fi ;;
441 # Other random stuff.
443 # Do we need the opcodes library?
451 case "${enable_shared}" in
452 yes) shared_opcodes=true ;;
453 *opcodes*) shared_opcodes=true ;;
454 *) shared_opcodes=false ;;
456 if test "${shared_opcodes}" = "true"; then
457 # A shared libopcodes must be linked against libbfd.
463 # Any other special object files needed ?
470 case ${extra_objects} in
472 *) extra_objects="$extra_objects m68k-parse.o" ;;
477 echo ${extra_objects} | grep -s "itbl-parse.o"
478 if test $? -ne 0 ; then
479 extra_objects="$extra_objects itbl-parse.o"
482 echo ${extra_objects} | grep -s "itbl-lex.o"
483 if test $? -ne 0 ; then
484 extra_objects="$extra_objects itbl-lex.o"
487 echo ${extra_objects} | grep -s "itbl-ops.o"
488 if test $? -ne 0 ; then
489 extra_objects="$extra_objects itbl-ops.o"
494 if test $this_target = $target ; then
495 AC_DEFINE_UNQUOTED(DEFAULT_ARCH, "${arch}", [Default architecture.])
502 if test $using_cgen = yes ; then
503 case "x${extra_objects}" in
505 *) extra_objects="$extra_objects cgen.o" ;;
509 # See if we really can support this configuration with the emulation code.
511 if test $this_target = $target ; then
512 primary_bfd_gas=$bfd_gas
516 if test $bfd_gas = no ; then
517 # Can't support other configurations this way.
520 elif test $bfd_gas = no ; then
521 # Can't support this configuration.
525 # From target name and format, produce a list of supported emulations.
527 case ${generic_target}-${fmt} in
528 mips-*-irix5*-*) emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;;
529 mips-*-linux-gnu*-*) case "$endian" in
530 big) emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;;
531 *) emulation="mipslelf mipsbelf mipself mipslecoff mipsbecoff mipsecoff" ;;
533 mips-*-lnews*-ecoff) ;;
534 mips-*-*-ecoff) case "$endian" in
535 big) emulation="mipsbecoff mipslecoff mipsecoff" ;;
536 *) emulation="mipslecoff mipsbecoff mipsecoff" ;;
538 mips-*-*-elf) case "$endian" in
539 big) emulation="mipsbelf mipslelf mipself" ;;
540 *) emulation="mipslelf mipsbelf mipself" ;;
542 # Uncommenting the next line will turn on support for i386 AOUT
543 # for the default linux configuration
544 # i386-*-linux*-elf) emulation="i386elf i386aout" ;;
546 i386-*-aout) emulation="i386aout" ;;
547 i386-*-coff) emulation="i386coff" ;;
548 i386-*-elf) emulation="i386elf" ;;
551 emulations="$emulations $emulation"
555 # Turn on all targets if possible
556 if test ${all_targets} = "yes"; then
557 case ${target_cpu_type} in
559 case ${obj_format} in
561 emulations="$emulations i386coff i386elf"
564 emulations="$emulations i386aout i386elf"
567 emulations="$emulations i386aout i386coff"
574 # Assign floating point type. Most processors with FP support
575 # IEEE FP. On those that don't support FP at all, usually IEEE
577 case ${target_cpu} in
578 vax | tahoe ) atof=${target_cpu} ;;
582 case "${obj_format}" in
583 "") AC_MSG_ERROR(GAS does not know what format to use for target ${target}) ;;
586 # Unfortunately the cpu in cpu-opc.h file isn't always $(TARGET_CPU).
588 if test $using_cgen = yes ; then
589 case ${target_cpu} in
590 *) cgen_cpu_prefix=${target_cpu} ;;
592 AC_SUBST(cgen_cpu_prefix)
593 AC_DEFINE(USING_CGEN, 1, [Using cgen code?])
597 dnl Make sure the desired support files exist.
600 if test ! -r ${srcdir}/config/tc-${target_cpu_type}.c; then
601 AC_MSG_ERROR(GAS does not support target CPU ${target_cpu_type})
604 if test ! -r ${srcdir}/config/obj-${obj_format}.c; then
605 AC_MSG_ERROR(GAS does not have support for object file format ${obj_format})
608 case ${user_bfd_gas}-${primary_bfd_gas} in
610 # We didn't override user's choice.
613 AC_MSG_WARN(Use of BFD is required for ${target}; overriding config options.)
625 # User specified nothing.
629 # Some COFF configurations want these random other flags set.
630 case ${obj_format} in
632 case ${target_cpu_type} in
633 i386) AC_DEFINE(I386COFF, 1, [Using i386 COFF?]) ;;
634 m68k) AC_DEFINE(M68KCOFF, 1, [Using m68k COFF?]) ;;
635 m88k) AC_DEFINE(M88KCOFF, 1, [Using m88k COFF?]) ;;
640 # Getting this done right is going to be a bitch. Each configuration specified
641 # with --enable-targets=... should be checked for environment, format, cpu, and
644 # For each configuration, the necessary object file support code must be linked
645 # in. This might be only one, it might be up to four. The necessary emulation
646 # code needs to be provided, too.
648 # And then there's "--enable-targets=all"....
650 # For now, just always do it for MIPS ELF or ECOFF configurations. Sigh.
652 formats="${obj_format}"
656 for em in . $emulations ; do
660 fmt=elf file=mipself ;;
661 mipsbecoff | mipslecoff)
662 fmt=ecoff file=mipsecoff ;;
664 fmt=aout file=i386aout ;;
666 fmt=coff file=i386coff ;;
668 fmt=elf file=i386elf ;;
670 formats="$formats $fmt"
671 emfiles="$emfiles e-$file.o"
672 EMULATIONS="$EMULATIONS &$em,"
676 if test `set . $formats ; shift ; echo $#` -gt 1 ; then
677 for fmt in $formats ; do
679 aout) AC_DEFINE(OBJ_MAYBE_AOUT, 1, [a.out support?]) ;;
680 bout) AC_DEFINE(OBJ_MAYBE_BOUT, 1, [b.out support?]) ;;
681 coff) AC_DEFINE(OBJ_MAYBE_COFF, 1, [COFF support?]) ;;
682 ecoff) AC_DEFINE(OBJ_MAYBE_ECOFF, 1, [ECOFF support?]) ;;
683 elf) AC_DEFINE(OBJ_MAYBE_ELF, 1, [ELF support?]) ;;
684 generic) AC_DEFINE(OBJ_MAYBE_GENERIC, 1, [generic support?]) ;;
685 hp300) AC_DEFINE(OBJ_MAYBE_HP300, 1, [HP300 support?]) ;;
686 ieee) AC_DEFINE(OBJ_MAYBE_IEEE, 1, [IEEE support?]) ;;
687 som) AC_DEFINE(OBJ_MAYBE_SOM, 1, [SOM support?]) ;;
688 vms) AC_DEFINE(OBJ_MAYBE_VMS, 1, [VMS support?]) ;;
690 extra_objects="$extra_objects obj-$fmt.o"
694 if test `set . $emfiles ; shift ; echo $#` -gt 0 ; then
695 DEFAULT_EMULATION=`set . $emulations ; echo $2`
696 # e-mips* has more than one emulation per file, e-i386* has just one at the
697 # moment. If only one emulation is specified, then don't define
698 # USE_EMULATIONS or include any of the e-files as they will only be bloat.
699 case "${obj_format}${emfiles}" in
701 extra_objects="$extra_objects $emfiles"
702 AC_DEFINE(USE_EMULATIONS, 1, [Use emulation support?]) ;;
705 AC_SUBST(extra_objects)
706 AC_DEFINE_UNQUOTED(EMULATIONS, $EMULATIONS, [Supported emulations.])
707 AC_DEFINE_UNQUOTED(DEFAULT_EMULATION, "$DEFAULT_EMULATION",
708 [Default emulation.])
710 case ${primary_bfd_gas}-${target_cpu_type}-${obj_format} in
711 yes-*-coff) need_bfd=yes ;;
712 no-*-coff) need_bfd=yes
713 AC_DEFINE(MANY_SEGMENTS, 1, [old COFF support?]) ;;
716 reject_dev_configs=yes
718 case ${reject_dev_configs}-${dev} in
720 AC_MSG_ERROR(GAS does not support the ${generic_target} configuration.)
724 AC_SUBST(target_cpu_type)
727 AC_SUBST(install_tooldir)
729 dnl AC_SUBST(emulation)
731 case "${primary_bfd_gas}" in
732 yes) AC_DEFINE(BFD_ASSEMBLER, 1, [Use BFD interface?])
736 # do we need the opcodes library?
737 case "${need_opcodes}" in
739 OPCODES_LIB=../opcodes/libopcodes.la
743 case "${need_bfd}" in
745 BFDLIB=../bfd/libbfd.la
746 ALL_OBJ_DEPS="$ALL_OBJ_DEPS ../bfd/bfd.h"
751 AC_SUBST(OPCODES_LIB)
753 AC_SUBST(ALL_OBJ_DEPS)
755 AC_DEFINE_UNQUOTED(TARGET_ALIAS, "${target_alias}", [Target alias.])
756 AC_DEFINE_UNQUOTED(TARGET_CANONICAL, "${target}", [Canonical target.])
757 AC_DEFINE_UNQUOTED(TARGET_CPU, "${target_cpu}", [Target CPU.])
758 AC_DEFINE_UNQUOTED(TARGET_VENDOR, "${target_vendor}", [Target vendor.])
759 AC_DEFINE_UNQUOTED(TARGET_OS, "${target_os}", [Target OS.])
772 AC_CHECK_HEADERS(string.h stdlib.h memory.h strings.h unistd.h stdarg.h varargs.h errno.h sys/types.h)
774 # Put this here so that autoconf's "cross-compiling" message doesn't confuse
775 # people who are not cross-compiling but are compiling cross-assemblers.
776 AC_MSG_CHECKING(whether compiling a cross-assembler)
777 if test "${host}" = "${target}"; then
781 AC_DEFINE(CROSS_COMPILE, 1, [Compiling cross-assembler?])
783 AC_MSG_RESULT($cross_gas)
785 dnl ansidecl.h will deal with const
790 # VMS doesn't have unlink.
791 AC_CHECK_FUNCS(unlink remove, break)
793 # Some systems don't have sbrk().
796 # Some non-ANSI preprocessors botch requoting inside strings. That's bad
797 # enough, but on some of those systems, the assert macro relies on requoting
801 # On some systems, the system header files may not declare malloc, realloc,
802 # and free. There are places where gas needs these functions to have been
803 # declared -- such as when taking their addresses.
811 #ifdef HAVE_STRINGS_H
822 GAS_CHECK_DECL_NEEDED(strstr, f, char *(*f)(), $gas_test_headers)
823 GAS_CHECK_DECL_NEEDED(malloc, f, char *(*f)(), $gas_test_headers)
824 GAS_CHECK_DECL_NEEDED(free, f, void (*f)(), $gas_test_headers)
825 GAS_CHECK_DECL_NEEDED(sbrk, f, char *(*f)(), $gas_test_headers)
826 GAS_CHECK_DECL_NEEDED(environ, f, char **f, $gas_test_headers)
828 # Does errno.h declare errno, or do we have to add a separate declaration
830 GAS_CHECK_DECL_NEEDED(errno, f, int f, [
836 dnl This must come last.
838 dnl We used to make symlinks to files in the source directory, but now
839 dnl we just use the right name for .c files, and create .h files in
840 dnl the build directory which include the right .h file. Make sure
841 dnl the old symlinks don't exist, so that a reconfigure in an existing
842 dnl directory behaves reasonably.
844 AC_OUTPUT(Makefile doc/Makefile ${GDBINIT}:gdbinit.in po/Makefile.in:po/Make-in,
845 [rm -f targ-cpu.c targ-cpu.h obj-format.h obj-format.c targ-env.h atof-targ.c itbl-cpu.h
846 echo '#include "tc-'"${target_cpu_type}"'.h"' > targ-cpu.h
847 echo '#include "obj-'"${obj_format}"'.h"' > obj-format.h
848 echo '#include "te-'"${te_file}"'.h"' > targ-env.h
849 echo '#include "itbl-'"${target_cpu_type}"'.h"' > itbl-cpu.h
850 if test "x$cgen_cpu_prefix" != x ; then
851 echo '#include "opcodes/'"${cgen_cpu_prefix}"'-desc.h"' > cgen-desc.h
854 sed -e '/POTFILES =/r po/POTFILES' po/Makefile.in > po/Makefile],
855 [target_cpu_type=${target_cpu_type}
856 cgen_cpu_prefix=${cgen_cpu_prefix}
857 obj_format=${obj_format}