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 # Generate a header file
44 AM_CONFIG_HEADER(config.h:config.in)
46 # If we are on a DOS filesystem, we must use gdb.ini rather than
50 *-*-msdos* | *-*-go32* | *-*-mingw32* | *-*-cygwin* | *-*-windows*)
58 # Makefile target for installing gas in $(tooldir)/bin.
59 install_tooldir=install-exec-tooldir
62 if test -n "$enable_targets" ; then
63 for t in `echo $enable_targets | sed 's/,/ /g'`; do
64 result=`$ac_config_sub $t 2>/dev/null`
65 if test -n "$result" ; then
66 canon_targets="$canon_targets $result"
68 # # Permit "all", etc. We don't support it yet though.
69 # canon_targets="$canon_targets $t"
72 GAS_UNIQ(canon_targets)
77 for this_target in $target $canon_targets ; do
80 eval `echo $this_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/cpu=\1 vendor=\2 os=\3/'`
83 # check for architecture variants
87 alpha*) cpu_type=alpha ;;
88 armeb) cpu_type=arm endian=big ;;
89 arm*) cpu_type=arm endian=little ;;
90 armb*) cpu_type=arm endian=little ;;
91 armv*l) cpu_type=arm endian=little ;;
92 armv*b) cpu_type=arm endian=big ;;
93 strongarm*) cpu_type=arm endian=little ;;
94 thumb*) cpu_type=arm endian=little ;;
95 hppa*) cpu_type=hppa ;;
97 i[456]86) cpu_type=i386 ;;
98 m680[012346]0) cpu_type=m68k ;;
100 m68008) cpu_type=m68k ;;
101 m683??) cpu_type=m68k ;;
102 m5200) cpu_type=m68k ;;
103 m8*) cpu_type=m88k ;;
104 mips*el) cpu_type=mips endian=little ;;
105 mips*) cpu_type=mips endian=big ;;
106 pjl*) cpu_type=pj endian=little ;;
107 pj*) cpu_type=pj endian=big ;;
108 powerpcle*) cpu_type=ppc endian=little ;;
109 powerpc*) cpu_type=ppc endian=big ;;
110 rs6000*) cpu_type=ppc ;;
111 sparclite*) cpu_type=sparc arch=sparclite ;;
112 sparclet*) cpu_type=sparc arch=sparclet ;;
113 sparc64*) cpu_type=sparc arch=v9-64 ;;
114 sparc86x*) cpu_type=sparc arch=sparc86x ;;
115 sparc*) cpu_type=sparc arch=sparclite ;; # ??? See tc-sparc.c.
116 v850*) cpu_type=v850 ;;
117 *) cpu_type=${cpu} ;;
120 if test ${this_target} = $target ; then
121 target_cpu_type=${cpu_type}
122 elif test ${target_cpu_type} != ${cpu_type} ; then
126 generic_target=${cpu_type}-$vendor-$os
131 # assign object format
132 case ${generic_target} in
133 a29k-*-coff) fmt=coff ;;
134 a29k-amd-udi) fmt=coff ;;
135 a29k-amd-ebmon) fmt=coff ;;
136 a29k-nyu-sym1) fmt=coff ;;
137 a29k-*-vxworks*) fmt=coff ;;
139 alpha*-*-*vms*) fmt=evax ;;
140 alpha*-*-netware*) fmt=ecoff ;;
141 alpha*-*-openbsd*) fmt=ecoff ;;
142 alpha*-*-osf*) fmt=ecoff ;;
143 alpha*-*-linuxecoff*) fmt=ecoff ;;
144 alpha*-*-linux-gnu*) fmt=elf em=linux ;;
145 alpha*-*-netbsd*) fmt=elf em=nbsd ;;
147 arc-*-elf*) fmt=elf bfd_gas=yes ;;
149 arm-*-aout) fmt=aout ;;
150 arm-*-coff | thumb-*-coff) fmt=coff ;;
151 arm-*-elf | thumb-*-elf) fmt=elf ;;
152 arm*-*-conix*) fmt=elf ;;
153 arm-*-linux*aout*) fmt=aout em=linux ;;
154 arm*-*-linux-gnu*) fmt=elf em=linux ;;
155 arm-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
156 arm-*-oabi | thumb-*-oabi) fmt=elf ;;
157 arm-epoc-pe | thumb-epoc-pe) fmt=coff em=epoc-pe ;;
158 arm-*-pe | thumb-*-pe) fmt=coff em=pe ;;
159 arm-*-riscix*) fmt=aout em=riscix ;;
161 d10v-*-*) fmt=elf bfd_gas=yes ;;
162 d30v-*-*) fmt=elf bfd_gas=yes ;;
165 fr30-*-*) fmt=elf bfd_gas=yes ;;
167 hppa-*-*elf*) fmt=elf em=hppa ;;
168 hppa-*-linux-gnu*) fmt=elf em=hppa ;;
169 hppa-*-lites*) fmt=elf em=hppa ;;
170 hppa-*-osf*) fmt=som em=hppa ;;
171 hppa-*-rtems*) fmt=elf em=hppa ;;
172 hppa-*-hpux*) fmt=som em=hppa ;;
173 hppa-*-mpeix*) fmt=som em=hppa ;;
174 hppa-*-bsd*) fmt=som em=hppa ;;
175 hppa-*-hiux*) fmt=som em=hppa ;;
177 h8300-*-coff) fmt=coff ;;
179 i386-ibm-aix*) fmt=coff em=i386aix ;;
180 i386-sequent-bsd*) fmt=aout em=dynix bfd_gas=yes ;;
181 i386-*-beospe*) fmt=coff em=pe bfd_gas=yes ;;
182 i386-*-beoself* | i386-*-beos*) fmt=elf bfd_gas=yes ;;
183 i386-*-bsd*) fmt=aout em=386bsd ;;
184 i386-*-netbsd0.8) fmt=aout em=386bsd ;;
185 i386-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes;;
186 i386-*-openbsd*) fmt=aout em=nbsd bfd_gas=yes;;
187 i386-*-linux*aout* | i386-*-linuxoldld) fmt=aout em=linux ;;
188 i386-*-linux*coff*) fmt=coff em=linux ;;
189 i386-*-linux-gnu*) fmt=elf em=linux bfd_gas=yes ;;
190 i386-*-lynxos*) fmt=coff em=lynx ;;
191 i386-*-sysv4* | i386-*-solaris* | i386-*-elf)
192 fmt=elf bfd_gas=yes ;;
193 i386-*-freebsdaout* | i386-*-freebsd[12].* | i386-*-freebsd[12])
194 fmt=aout em=386bsd ;;
195 i386-*-freebsd*) fmt=elf bfd_gas=yes ;;
196 i386-*-coff | i386-*-sysv* | i386-*-sco3.2v5*coff | i386-*-isc*)
198 i386-*-sco3.2v5*) fmt=elf
199 if test ${this_target} = $target; then
200 AC_DEFINE(SCO_ELF, 1,
201 [Define if defaulting to ELF on SCO 5.])
204 i386-*-sco3.2*) fmt=coff ;;
205 i386-*-vsta) fmt=aout ;;
206 i386-*-msdosdjgpp* | i386-*-go32* | i386-go32-rtems*)
208 i386-*-rtemself*) fmt=elf ;;
209 i386-*-rtems*) fmt=coff ;;
210 i386-*-gnu*) fmt=elf ;;
212 fmt=aout em=mach bfd_gas=yes ;;
213 i386-*-msdos*) fmt=aout ;;
214 i386-*-moss*) fmt=elf ;;
215 i386-*-pe) fmt=coff em=pe ;;
216 i386-*-cygwin*) fmt=coff em=pe bfd_gas=yes ;;
217 i386-*-interix*) fmt=coff em=interix bfd_gas=yes ;;
218 i386-*-mingw32*) fmt=coff em=pe bfd_gas=yes ;;
219 i386-*-*nt*) fmt=coff em=pe ;;
220 i386-*-vxworks*) fmt=aout ;;
221 i960-*-bout) fmt=bout ;;
222 i960-*-coff) fmt=coff em=ic960 ;;
223 i960-*-rtems*) fmt=coff em=ic960 ;;
224 i960-*-nindy*) fmt=bout ;;
225 i960-*-vxworks4*) fmt=bout ;;
226 i960-*-vxworks5.0) fmt=bout ;;
227 i960-*-vxworks5.*) fmt=coff em=ic960 ;;
228 i960-*-vxworks*) fmt=bout ;;
229 i960-*-elf*) fmt=elf ;;
231 m32r-*-*) fmt=elf bfd_gas=yes ;;
233 m68k-*-vxworks* | m68k-ericsson-ose | m68k-*-sunos*)
235 m68k-motorola-sysv*) fmt=coff em=delta ;;
236 m68k-bull-sysv3*) fmt=coff em=dpx2 ;;
237 m68k-apollo-*) fmt=coff em=apollo ;;
238 m68k-*-sysv4*) # must be before -sysv*
240 m68k-*-elf*) fmt=elf ;;
241 m68k-*-coff | m68k-*-sysv* | m68k-*-rtems*)
243 m68k-*-hpux*) fmt=hp300 em=hp300 ;;
244 m68k-*-linux*aout*) fmt=aout em=linux ;;
245 m68k-*-linux-gnu*) fmt=elf em=linux ;;
246 m68k-*-gnu*) fmt=elf ;;
247 m68k-*-lynxos*) fmt=coff em=lynx ;;
248 m68k-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
249 m68k-*-openbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
250 m68k-apple-aux*) fmt=coff em=aux ;;
251 m68k-*-psos*) fmt=elf em=psos;;
253 m88k-motorola-sysv3*) fmt=coff em=delt88 ;;
254 m88k-*-coff*) fmt=coff ;;
256 mcore-*-elf) fmt=elf bfd_gas=yes ;;
257 mcore-*-pe) fmt=coff em=pe bfd_gas=yes ;;
259 # don't change em like *-*-bsd does
260 mips-dec-netbsd*) fmt=elf endian=little ;;
261 mips-dec-openbsd*) fmt=elf endian=little ;;
262 mips-dec-bsd*) fmt=aout endian=little ;;
263 mips-sony-bsd*) fmt=ecoff ;;
264 mips-*-bsd*) AC_MSG_ERROR(Unknown vendor for mips-bsd configuration.) ;;
265 mips-*-ultrix*) fmt=ecoff endian=little ;;
266 mips-*-osf*) fmt=ecoff endian=little ;;
267 mips-*-ecoff*) fmt=ecoff ;;
268 mips-*-ecoff*) fmt=ecoff ;;
269 mips-*-irix6*) fmt=elf ;;
270 mips-*-irix5*) fmt=elf ;;
271 mips-*-irix*) fmt=ecoff ;;
272 mips-*-lnews*) fmt=ecoff em=lnews ;;
273 mips-*-riscos*) fmt=ecoff ;;
274 mips-*-sysv*) fmt=ecoff ;;
275 mips-*-elf* | mips-*-rtems* | mips-*-linux-gnu* | mips-*-gnu* | mips-*-openbsd*)
277 mips-*-vxworks*) fmt=elf
278 AC_DEFINE(MIPS_STABS_ELF, 1,
279 [Use ELF stabs for MIPS, not ECOFF stabs])
281 mn10200-*-*) fmt=elf bfd_gas=yes ;;
282 mn10300-*-*) fmt=elf bfd_gas=yes ;;
284 ppc-*-pe | ppc-*-cygwin* | ppc-*-winnt*)
286 ppc-*-aix*) fmt=coff ;;
287 ppc-*-beos*) fmt=coff ;;
288 ppc-*-*bsd* | ppc-*-elf* | ppc-*-eabi* | ppc-*-sysv4*)
290 ppc-*-linux-gnu*) fmt=elf
293 *) AC_MSG_ERROR(GNU/Linux must be configured big endian) ;;
296 ppc-*-solaris*) fmt=elf
297 if test ${this_target} = $target; then
298 AC_DEFINE(TARGET_SOLARIS_COMMENT, 1,
299 [Define if default target is PowerPC Solaris.])
301 if test x${endian} = xbig; then
302 AC_MSG_ERROR(Solaris must be configured little endian)
305 ppc-*-rtems*) fmt=elf ;;
306 ppc-*-macos* | ppc-*-mpw*)
308 ppc-*-netware*) fmt=elf em=ppcnw ;;
309 ppc-*-vxworks*) fmt=elf ;;
311 sh-*-elf*) fmt=elf ;;
312 sh-*-coff*) fmt=coff ;;
313 sh-*-rtemself*) fmt=elf ;;
314 sh-*-rtems*) fmt=coff ;;
316 ns32k-pc532-mach* | ns32k-pc532-ux*) fmt=aout em=pc532mach ;;
317 ns32k-pc532-netbsd* | ns32k-pc532-lites*) fmt=aout em=nbsd532 ;;
318 ns32k-pc532-openbsd*) fmt=aout em=nbsd532 ;;
320 sparc-*-rtems*) fmt=aout ;;
321 sparc-*-sunos4*) fmt=aout em=sun3 ;;
322 sparc-*-aout | sparc*-*-vxworks*)
323 fmt=aout em=sparcaout ;;
324 sparc-*-coff) fmt=coff ;;
325 sparc-*-linux*aout*) fmt=aout em=linux ;;
326 sparc-*-linux-gnu*) fmt=elf em=linux ;;
327 sparc-*-lynxos*) fmt=coff em=lynx ;;
328 sparc-fujitsu-none) fmt=aout ;;
329 sparc-*-elf | sparc-*-sysv4* | sparc-*-solaris*)
331 sparc-*-netbsd*) fmt=aout em=nbsd ;;
332 sparc-*-openbsd*) fmt=aout em=nbsd ;;
334 strongarm-*-coff) fmt=coff ;;
335 strongarm-*-elf) fmt=elf ;;
337 tic30-*-*aout*) fmt=aout bfd_gas=yes ;;
338 tic30-*-*coff*) fmt=coff bfd_gas=yes ;;
339 tic80-*-*) fmt=coff ;;
341 v850-*-*) fmt=elf bfd_gas=yes ;;
342 v850e-*-*) fmt=elf bfd_gas=yes ;;
343 v850ea-*-*) fmt=elf bfd_gas=yes ;;
345 vax-*-bsd* | vax-*-ultrix*)
347 vax-*-vms) fmt=vms ;;
350 z8k-*-coff | z8k-*-sim)
355 *-*-aout | *-*-scout)
361 *-*-generic) fmt=generic ;;
362 *-*-xray | *-*-hms) fmt=coff ;;
364 *-*-elf | *-*-sysv4* | *-*-solaris*)
365 AC_MSG_WARN(GAS support for ${generic_target} is incomplete.)
367 *-*-vxworks) fmt=aout ;;
368 *-*-netware) fmt=elf ;;
371 if test ${this_target} = $target ; then
373 if test x${endian} = xbig; then
375 elif test x${endian} = xlittle; then
378 if test x${endian_def} != x; then
379 AC_DEFINE_UNQUOTED(TARGET_BYTES_BIG_ENDIAN, $endian_def,
380 [Define as 1 if big endian.])
384 case ${cpu_type}-${fmt} in
385 alpha*-*) bfd_gas=yes ;;
386 arm-*) bfd_gas=yes ;;
388 # i386-aout) bfd_gas=preferred ;;
389 mips-*) bfd_gas=yes ;;
390 ns32k-*) bfd_gas=yes ;;
391 ppc-*) bfd_gas=yes ;;
392 sparc-*) bfd_gas=yes ;;
393 strongarm-*) bfd_gas=yes ;;
394 *-elf) bfd_gas=yes ;;
395 *-ecoff) bfd_gas=yes ;;
396 *-som) bfd_gas=yes ;;
397 #enable bfd for coff and aout to allow testing if a bfd target is
398 #the primary target, but not for coff or aout as the primary target
399 i386-coff) if test x${primary_bfd_gas} = xyes; then bfd_gas=yes; fi ;;
400 i386-aout) if test x${primary_bfd_gas} = xyes; then bfd_gas=yes; fi ;;
404 # Other random stuff.
406 # Do we need the opcodes library?
414 case "${enable_shared}" in
415 yes) shared_opcodes=true ;;
416 *opcodes*) shared_opcodes=true ;;
417 *) shared_opcodes=false ;;
419 if test "${shared_opcodes}" = "true"; then
420 # A shared libopcodes must be linked against libbfd.
426 # Any other special object files needed ?
433 case ${extra_objects} in
435 *) extra_objects="$extra_objects m68k-parse.o" ;;
440 echo ${extra_objects} | grep -s "itbl-parse.o"
441 if test $? -ne 0 ; then
442 extra_objects="$extra_objects itbl-parse.o"
445 echo ${extra_objects} | grep -s "itbl-lex.o"
446 if test $? -ne 0 ; then
447 extra_objects="$extra_objects itbl-lex.o"
450 echo ${extra_objects} | grep -s "itbl-ops.o"
451 if test $? -ne 0 ; then
452 extra_objects="$extra_objects itbl-ops.o"
457 if test $this_target = $target ; then
458 AC_DEFINE_UNQUOTED(DEFAULT_ARCH, "${arch}", [Default architecture.])
465 if test $using_cgen = yes ; then
466 case "x${extra_objects}" in
468 *) extra_objects="$extra_objects cgen.o" ;;
472 # See if we really can support this configuration with the emulation code.
474 if test $this_target = $target ; then
475 primary_bfd_gas=$bfd_gas
479 if test $bfd_gas = no ; then
480 # Can't support other configurations this way.
483 elif test $bfd_gas = no ; then
484 # Can't support this configuration.
488 # From target name and format, produce a list of supported emulations.
490 case ${generic_target}-${fmt} in
491 mips-*-irix5*-*) emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;;
492 mips-*-linux-gnu*-*) case "$endian" in
493 big) emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;;
494 *) emulation="mipslelf mipsbelf mipself mipslecoff mipsbecoff mipsecoff" ;;
496 mips-*-lnews*-ecoff) ;;
497 mips-*-*-ecoff) case "$endian" in
498 big) emulation="mipsbecoff mipslecoff mipsecoff" ;;
499 *) emulation="mipslecoff mipsbecoff mipsecoff" ;;
501 mips-*-*-elf) case "$endian" in
502 big) emulation="mipsbelf mipslelf mipself" ;;
503 *) emulation="mipslelf mipsbelf mipself" ;;
505 # Uncommenting the next line will turn on support for i386 AOUT
506 # for the default linux configuration
507 # i386-*-linux*-elf) emulation="i386elf i386aout" ;;
509 i386-*-aout) emulation="i386aout" ;;
510 i386-*-coff) emulation="i386coff" ;;
511 i386-*-elf) emulation="i386elf" ;;
514 emulations="$emulations $emulation"
518 # Assign floating point type. Most processors with FP support
519 # IEEE FP. On those that don't support FP at all, usually IEEE
521 case ${target_cpu} in
522 vax | tahoe ) atof=${target_cpu} ;;
526 case "${obj_format}" in
527 "") AC_MSG_ERROR(GAS does not know what format to use for target ${target}) ;;
530 # Unfortunately the cpu in cpu-opc.h file isn't always $(TARGET_CPU).
532 if test $using_cgen = yes ; then
533 case ${target_cpu} in
534 *) cgen_cpu_prefix=${target_cpu} ;;
536 AC_SUBST(cgen_cpu_prefix)
537 AC_DEFINE(USING_CGEN, 1, [Using cgen code?])
541 dnl Make sure the desired support files exist.
544 if test ! -r ${srcdir}/config/tc-${target_cpu_type}.c; then
545 AC_MSG_ERROR(GAS does not support target CPU ${target_cpu_type})
548 if test ! -r ${srcdir}/config/obj-${obj_format}.c; then
549 AC_MSG_ERROR(GAS does not have support for object file format ${obj_format})
552 case ${user_bfd_gas}-${primary_bfd_gas} in
554 # We didn't override user's choice.
557 AC_MSG_WARN(Use of BFD is required for ${target}; overriding config options.)
569 # User specified nothing.
573 # Some COFF configurations want these random other flags set.
574 case ${obj_format} in
576 case ${target_cpu_type} in
577 i386) AC_DEFINE(I386COFF, 1, [Using i386 COFF?]) ;;
578 m68k) AC_DEFINE(M68KCOFF, 1, [Using m68k COFF?]) ;;
579 m88k) AC_DEFINE(M88KCOFF, 1, [Using m88k COFF?]) ;;
584 # Getting this done right is going to be a bitch. Each configuration specified
585 # with --enable-targets=... should be checked for environment, format, cpu, and
588 # For each configuration, the necessary object file support code must be linked
589 # in. This might be only one, it might be up to four. The necessary emulation
590 # code needs to be provided, too.
592 # And then there's "--enable-targets=all"....
594 # For now, just always do it for MIPS ELF or ECOFF configurations. Sigh.
596 formats="${obj_format}"
600 for em in . $emulations ; do
604 fmt=elf file=mipself ;;
605 mipsbecoff | mipslecoff)
606 fmt=ecoff file=mipsecoff ;;
608 fmt=aout file=i386aout ;;
610 fmt=coff file=i386coff ;;
612 fmt=elf file=i386elf ;;
614 formats="$formats $fmt"
615 emfiles="$emfiles e-$file.o"
616 EMULATIONS="$EMULATIONS &$em,"
620 if test `set . $formats ; shift ; echo $#` -gt 1 ; then
621 for fmt in $formats ; do
623 aout) AC_DEFINE(OBJ_MAYBE_AOUT, 1, [a.out support?]) ;;
624 bout) AC_DEFINE(OBJ_MAYBE_BOUT, 1, [b.out support?]) ;;
625 coff) AC_DEFINE(OBJ_MAYBE_COFF, 1, [COFF support?]) ;;
626 ecoff) AC_DEFINE(OBJ_MAYBE_ECOFF, 1, [ECOFF support?]) ;;
627 elf) AC_DEFINE(OBJ_MAYBE_ELF, 1, [ELF support?]) ;;
628 generic) AC_DEFINE(OBJ_MAYBE_GENERIC, 1, [generic support?]) ;;
629 hp300) AC_DEFINE(OBJ_MAYBE_HP300, 1, [HP300 support?]) ;;
630 ieee) AC_DEFINE(OBJ_MAYBE_IEEE, 1, [IEEE support?]) ;;
631 som) AC_DEFINE(OBJ_MAYBE_SOM, 1, [SOM support?]) ;;
632 vms) AC_DEFINE(OBJ_MAYBE_VMS, 1, [VMS support?]) ;;
634 extra_objects="$extra_objects obj-$fmt.o"
638 if test `set . $emfiles ; shift ; echo $#` -gt 0 ; then
639 DEFAULT_EMULATION=`set . $emulations ; echo $2`
640 # e-mips* has more than one emulation per file, e-i386* has just one at the
641 # moment. If only one emulation is specified, then don't define
642 # USE_EMULATIONS or include any of the e-files as they will only be bloat.
643 case "${obj_format}${emfiles}" in
645 extra_objects="$extra_objects $emfiles"
646 AC_DEFINE(USE_EMULATIONS, 1, [Use emulation support?]) ;;
649 AC_SUBST(extra_objects)
650 AC_DEFINE_UNQUOTED(EMULATIONS, $EMULATIONS, [Supported emulations.])
651 AC_DEFINE_UNQUOTED(DEFAULT_EMULATION, "$DEFAULT_EMULATION",
652 [Default emulation.])
654 case ${primary_bfd_gas}-${target_cpu_type}-${obj_format} in
655 yes-*-coff) need_bfd=yes ;;
656 no-*-coff) need_bfd=yes
657 AC_DEFINE(MANY_SEGMENTS, 1, [old COFF support?]) ;;
660 reject_dev_configs=yes
662 case ${reject_dev_configs}-${dev} in
664 AC_MSG_ERROR(GAS does not support the ${generic_target} configuration.)
668 AC_SUBST(target_cpu_type)
671 AC_SUBST(install_tooldir)
673 dnl AC_SUBST(emulation)
675 case "${primary_bfd_gas}" in
676 yes) AC_DEFINE(BFD_ASSEMBLER, 1, [Use BFD interface?])
680 # do we need the opcodes library?
681 case "${need_opcodes}" in
683 OPCODES_LIB=../opcodes/libopcodes.la
687 case "${need_bfd}" in
689 BFDLIB=../bfd/libbfd.la
690 ALL_OBJ_DEPS="$ALL_OBJ_DEPS ../bfd/bfd.h"
695 AC_SUBST(OPCODES_LIB)
697 AC_SUBST(ALL_OBJ_DEPS)
699 AC_DEFINE_UNQUOTED(TARGET_ALIAS, "${target_alias}", [Target alias.])
700 AC_DEFINE_UNQUOTED(TARGET_CANONICAL, "${target}", [Canonical target.])
701 AC_DEFINE_UNQUOTED(TARGET_CPU, "${target_cpu}", [Target CPU.])
702 AC_DEFINE_UNQUOTED(TARGET_VENDOR, "${target_vendor}", [Target vendor.])
703 AC_DEFINE_UNQUOTED(TARGET_OS, "${target_os}", [Target OS.])
716 AC_CHECK_HEADERS(string.h stdlib.h memory.h strings.h unistd.h stdarg.h varargs.h errno.h sys/types.h)
718 # Put this here so that autoconf's "cross-compiling" message doesn't confuse
719 # people who are not cross-compiling but are compiling cross-assemblers.
720 AC_MSG_CHECKING(whether compiling a cross-assembler)
721 if test "${host}" = "${target}"; then
725 AC_DEFINE(CROSS_COMPILE, 1, [Compiling cross-assembler?])
727 AC_MSG_RESULT($cross_gas)
729 dnl ansidecl.h will deal with const
734 # VMS doesn't have unlink.
735 AC_CHECK_FUNCS(unlink remove, break)
737 # Some systems don't have sbrk().
740 # Some non-ANSI preprocessors botch requoting inside strings. That's bad
741 # enough, but on some of those systems, the assert macro relies on requoting
745 # On some systems, the system header files may not declare malloc, realloc,
746 # and free. There are places where gas needs these functions to have been
747 # declared -- such as when taking their addresses.
755 #ifdef HAVE_STRINGS_H
766 GAS_CHECK_DECL_NEEDED(strstr, f, char *(*f)(), $gas_test_headers)
767 GAS_CHECK_DECL_NEEDED(malloc, f, char *(*f)(), $gas_test_headers)
768 GAS_CHECK_DECL_NEEDED(free, f, void (*f)(), $gas_test_headers)
769 GAS_CHECK_DECL_NEEDED(sbrk, f, char *(*f)(), $gas_test_headers)
770 GAS_CHECK_DECL_NEEDED(environ, f, char **f, $gas_test_headers)
772 # Does errno.h declare errno, or do we have to add a separate declaration
774 GAS_CHECK_DECL_NEEDED(errno, f, int f, [
780 dnl This must come last.
782 dnl We used to make symlinks to files in the source directory, but now
783 dnl we just use the right name for .c files, and create .h files in
784 dnl the build directory which include the right .h file. Make sure
785 dnl the old symlinks don't exist, so that a reconfigure in an existing
786 dnl directory behaves reasonably.
788 AC_OUTPUT(Makefile doc/Makefile ${GDBINIT}:gdbinit.in po/Makefile.in:po/Make-in,
789 [rm -f targ-cpu.c targ-cpu.h obj-format.h obj-format.c targ-env.h atof-targ.c itbl-cpu.h
790 echo '#include "tc-'"${target_cpu_type}"'.h"' > targ-cpu.h
791 echo '#include "obj-'"${obj_format}"'.h"' > obj-format.h
792 echo '#include "te-'"${te_file}"'.h"' > targ-env.h
793 echo '#include "itbl-'"${target_cpu_type}"'.h"' > itbl-cpu.h
794 if test "x$cgen_cpu_prefix" != x ; then
795 echo '#include "opcodes/'"${cgen_cpu_prefix}"'-desc.h"' > cgen-desc.h
798 sed -e '/POTFILES =/r po/POTFILES' po/Makefile.in > po/Makefile],
799 [target_cpu_type=${target_cpu_type}
800 cgen_cpu_prefix=${cgen_cpu_prefix}
801 obj_format=${obj_format}