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.4)
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)
48 # Makefile target for installing gas in $(tooldir)/bin.
49 install_tooldir=install-exec-tooldir
52 if test -n "$enable_targets" ; then
53 for t in `echo $enable_targets | sed 's/,/ /g'`; do
54 result=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $t 2>/dev/null`
55 if test -n "$result" ; then
56 canon_targets="$canon_targets $result"
58 # # Permit "all", etc. We don't support it yet though.
59 # canon_targets="$canon_targets $t"
62 GAS_UNIQ(canon_targets)
67 for this_target in $target $canon_targets ; do
70 eval `echo $this_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/cpu=\1 vendor=\2 os=\3/'`
73 # check for architecture variants
77 alpha*) cpu_type=alpha ;;
78 armeb) cpu_type=arm endian=big ;;
79 arm*) cpu_type=arm endian=little ;;
80 armb*) cpu_type=arm endian=little ;;
81 armv*l) cpu_type=arm endian=little ;;
82 armv*b) cpu_type=arm endian=big ;;
83 strongarm*) cpu_type=arm endian=little ;;
84 thumb*) cpu_type=arm endian=little ;;
85 hppa*) cpu_type=hppa ;;
87 i[456]86) cpu_type=i386 ;;
88 m680[012346]0) cpu_type=m68k ;;
90 m68008) cpu_type=m68k ;;
91 m683??) cpu_type=m68k ;;
92 m5200) cpu_type=m68k ;;
94 mips*el) cpu_type=mips endian=little ;;
95 mips*) cpu_type=mips endian=big ;;
96 powerpcle*) cpu_type=ppc endian=little ;;
97 powerpc*) cpu_type=ppc endian=big ;;
98 rs6000*) cpu_type=ppc ;;
99 sparclite*) cpu_type=sparc arch=sparclite ;;
100 sparclet*) cpu_type=sparc arch=sparclet ;;
101 sparc64*) cpu_type=sparc arch=v9-64 ;;
102 sparc86x*) cpu_type=sparc arch=sparc86x ;;
103 sparc*) cpu_type=sparc arch=sparclite ;; # ??? See tc-sparc.c.
104 v850*) cpu_type=v850 ;;
105 *) cpu_type=${cpu} ;;
108 if test ${this_target} = $target ; then
109 target_cpu_type=${cpu_type}
110 elif test ${target_cpu_type} != ${cpu_type} ; then
114 generic_target=${cpu_type}-$vendor-$os
119 # assign object format
120 case ${generic_target} in
121 a29k-*-coff) fmt=coff ;;
122 a29k-amd-udi) fmt=coff ;;
123 a29k-amd-ebmon) fmt=coff ;;
124 a29k-nyu-sym1) fmt=coff ;;
125 a29k-*-vxworks*) fmt=coff ;;
127 alpha*-*-*vms*) fmt=evax ;;
128 alpha*-*-netware*) fmt=ecoff ;;
129 alpha*-*-openbsd*) fmt=ecoff ;;
130 alpha*-*-osf*) fmt=ecoff ;;
131 alpha*-*-linuxecoff*) fmt=ecoff ;;
132 alpha*-*-linux-gnu*) fmt=elf em=linux ;;
133 alpha*-*-netbsd*) fmt=elf em=nbsd ;;
135 arc-*-elf*) fmt=elf bfd_gas=yes ;;
137 arm-*-aout) fmt=aout ;;
138 arm-*-coff | thumb-*-coff) fmt=coff ;;
139 arm-*-elf | thumb-*-elf) fmt=elf ;;
140 arm-*-linux*aout*) fmt=aout em=linux ;;
141 arm-*-linux* | armv*-*-linux-gnu) fmt=elf em=linux ;;
142 arm-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
143 arm-*-oabi | thumb-*-oabi) fmt=elf ;;
144 arm-epoc-pe | thumb-epoc-pe) fmt=coff em=epoc-pe ;;
145 arm-*-pe | thumb-*-pe) fmt=coff em=pe ;;
146 arm-*-riscix*) fmt=aout em=riscix ;;
148 d10v-*-*) fmt=elf bfd_gas=yes ;;
149 d30v-*-*) fmt=elf bfd_gas=yes ;;
152 fr30-*-*) fmt=elf bfd_gas=yes ;;
154 hppa-*-*elf*) fmt=elf em=hppa ;;
155 hppa-*-lites*) fmt=elf em=hppa ;;
156 hppa-*-osf*) fmt=som em=hppa ;;
157 hppa-*-rtems*) fmt=elf em=hppa ;;
158 hppa-*-hpux*) fmt=som em=hppa ;;
159 hppa-*-mpeix*) fmt=som em=hppa ;;
160 hppa-*-bsd*) fmt=som em=hppa ;;
161 hppa-*-hiux*) fmt=som em=hppa ;;
163 h8300-*-coff) fmt=coff ;;
165 i386-ibm-aix*) fmt=coff em=i386aix ;;
166 i386-sequent-bsd*) fmt=aout em=dynix bfd_gas=yes ;;
167 i386-*-beospe*) fmt=coff em=pe bfd_gas=yes ;;
168 i386-*-beoself* | i386-*-beos*) fmt=elf bfd_gas=yes ;;
169 i386-*-bsd*) fmt=aout em=386bsd ;;
170 i386-*-netbsd0.8) fmt=aout em=386bsd ;;
171 i386-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes;;
172 i386-*-openbsd*) fmt=aout em=nbsd bfd_gas=yes;;
173 i386-*-linux*aout* | i386-*-linuxoldld) fmt=aout em=linux ;;
174 i386-*-linux*coff*) fmt=coff em=linux ;;
175 i386-*-linux-gnu*) fmt=elf em=linux bfd_gas=yes ;;
176 i386-*-lynxos*) fmt=coff em=lynx ;;
177 i386-*-sysv4* | i386-*-solaris* | i386-*-elf)
178 fmt=elf bfd_gas=yes ;;
179 i386-*-freebsdaout* | i386-*-freebsd[12].* | i386-*-freebsd[12])
180 fmt=aout em=386bsd ;;
181 i386-*-freebsd*) fmt=elf bfd_gas=yes ;;
182 i386-*-coff | i386-*-sysv* | i386-*-sco3.2v5*coff | i386-*-isc*)
184 i386-*-sco3.2v5*) fmt=elf
185 if test ${this_target} = $target; then
186 AC_DEFINE(SCO_ELF, 1,
187 [Define if defaulting to ELF on SCO 5.])
190 i386-*-sco3.2*) fmt=coff ;;
191 i386-*-vsta) fmt=aout ;;
192 i386-*-msdosdjgpp* | i386-*-go32* | i386-go32-rtems*)
194 i386-*-rtemself*) fmt=elf ;;
195 i386-*-rtems*) fmt=coff ;;
196 i386-*-gnu*) fmt=elf ;;
198 fmt=aout em=mach bfd_gas=yes ;;
199 i386-*-msdos*) fmt=aout ;;
200 i386-*-moss*) fmt=elf ;;
201 i386-*-pe) fmt=coff em=pe ;;
202 i386-*-cygwin*) fmt=coff em=pe bfd_gas=yes ;;
203 i386-*-mingw32*) fmt=coff em=pe bfd_gas=yes ;;
204 i386-*-*nt*) fmt=coff em=pe ;;
205 i960-*-bout) fmt=bout ;;
206 i960-*-coff) fmt=coff em=ic960 ;;
207 i960-*-rtems*) fmt=coff em=ic960 ;;
208 i960-*-nindy*) fmt=bout ;;
209 i960-*-vxworks4*) fmt=bout ;;
210 i960-*-vxworks5.0) fmt=bout ;;
211 i960-*-vxworks5.*) fmt=coff em=ic960 ;;
212 i960-*-vxworks*) fmt=bout ;;
213 i960-*-elf*) fmt=elf ;;
215 m32r-*-*) fmt=elf bfd_gas=yes ;;
217 m68k-*-vxworks* | m68k-ericsson-ose | m68k-*-sunos*)
219 m68k-motorola-sysv*) fmt=coff em=delta ;;
220 m68k-bull-sysv3*) fmt=coff em=dpx2 ;;
221 m68k-apollo-*) fmt=coff em=apollo ;;
222 m68k-*-sysv4*) # must be before -sysv*
224 m68k-*-elf*) fmt=elf ;;
225 m68k-*-coff | m68k-*-sysv* | m68k-*-rtems*)
227 m68k-*-hpux*) fmt=hp300 em=hp300 ;;
228 m68k-*-linux*aout*) fmt=aout em=linux ;;
229 m68k-*-linux-gnu*) fmt=elf em=linux ;;
230 m68k-*-gnu*) fmt=elf ;;
231 m68k-*-lynxos*) fmt=coff em=lynx ;;
232 m68k-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
233 m68k-*-openbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
234 m68k-apple-aux*) fmt=coff em=aux ;;
235 m68k-*-psos*) fmt=elf em=psos;;
237 m88k-motorola-sysv3*) fmt=coff em=delt88 ;;
238 m88k-*-coff*) fmt=coff ;;
240 mcore-*-elf) fmt=elf bfd_gas=yes ;;
241 mcore-*-pe) fmt=coff em=pe bfd_gas=yes ;;
243 # don't change em like *-*-bsd does
244 mips-dec-netbsd*) fmt=elf endian=little ;;
245 mips-dec-openbsd*) fmt=elf endian=little ;;
246 mips-dec-bsd*) fmt=aout endian=little ;;
247 mips-sony-bsd*) fmt=ecoff ;;
248 mips-*-bsd*) AC_MSG_ERROR(Unknown vendor for mips-bsd configuration.) ;;
249 mips-*-ultrix*) fmt=ecoff endian=little ;;
250 mips-*-osf*) fmt=ecoff endian=little ;;
251 mips-*-ecoff*) fmt=ecoff ;;
252 mips-*-ecoff*) fmt=ecoff ;;
253 mips-*-irix6*) fmt=elf ;;
254 mips-*-irix5*) fmt=elf ;;
255 mips-*-irix*) fmt=ecoff ;;
256 mips-*-lnews*) fmt=ecoff em=lnews ;;
257 mips-*-riscos*) fmt=ecoff ;;
258 mips-*-sysv*) fmt=ecoff ;;
259 mips-*-elf* | mips-*-rtems* | mips-*-linux-gnu* | mips-*-gnu* | mips-*-openbsd*)
261 mips-*-vxworks*) fmt=elf
262 AC_DEFINE(MIPS_STABS_ELF, 1,
263 [Use ELF stabs for MIPS, not ECOFF stabs])
265 mn10200-*-*) fmt=elf bfd_gas=yes ;;
266 mn10300-*-*) fmt=elf bfd_gas=yes ;;
267 ppc-*-pe | ppc-*-cygwin* | ppc-*-winnt*)
269 ppc-*-aix*) fmt=coff ;;
270 ppc-*-beos*) fmt=coff ;;
271 ppc-*-*bsd* | ppc-*-elf* | ppc-*-eabi* | ppc-*-sysv4*)
273 ppc-*-linux-gnu*) fmt=elf
276 *) AC_MSG_ERROR(GNU/Linux must be configured big endian) ;;
279 ppc-*-solaris*) fmt=elf
280 if test ${this_target} = $target; then
281 AC_DEFINE(TARGET_SOLARIS_COMMENT, 1,
282 [Define if default target is PowerPC Solaris.])
284 if test x${endian} = xbig; then
285 AC_MSG_ERROR(Solaris must be configured little endian)
288 ppc-*-rtems*) fmt=elf ;;
289 ppc-*-macos* | ppc-*-mpw*)
291 ppc-*-netware*) fmt=elf em=ppcnw ;;
293 sh-*-elf*) fmt=elf ;;
294 sh-*-coff*) fmt=coff ;;
295 sh-*-rtemself*) fmt=elf ;;
296 sh-*-rtems*) fmt=coff ;;
298 ns32k-pc532-mach* | ns32k-pc532-ux*) fmt=aout em=pc532mach ;;
299 ns32k-pc532-netbsd* | ns32k-pc532-lites*) fmt=aout em=nbsd532 ;;
300 ns32k-pc532-openbsd*) fmt=aout em=nbsd532 ;;
302 sparc-*-rtems*) fmt=aout ;;
303 sparc-*-sunos4*) fmt=aout em=sun3 ;;
304 sparc-*-aout | sparc*-*-vxworks*)
305 fmt=aout em=sparcaout ;;
306 sparc-*-coff) fmt=coff ;;
307 sparc-*-linux*aout*) fmt=aout em=linux ;;
308 sparc-*-linux-gnu*) fmt=elf em=linux ;;
309 sparc-*-lynxos*) fmt=coff em=lynx ;;
310 sparc-fujitsu-none) fmt=aout ;;
311 sparc-*-elf | sparc-*-sysv4* | sparc-*-solaris*)
313 sparc-*-netbsd*) fmt=aout em=nbsd ;;
314 sparc-*-openbsd*) fmt=aout em=nbsd ;;
316 strongarm-*-coff) fmt=coff ;;
317 strongarm-*-elf) fmt=elf ;;
319 tic30-*-*aout*) fmt=aout bfd_gas=yes ;;
320 tic30-*-*coff*) fmt=coff bfd_gas=yes ;;
321 tic80-*-*) fmt=coff ;;
323 v850-*-*) fmt=elf bfd_gas=yes ;;
324 v850e-*-*) fmt=elf bfd_gas=yes ;;
325 v850ea-*-*) fmt=elf bfd_gas=yes ;;
327 vax-*-bsd* | vax-*-ultrix*)
329 vax-*-vms) fmt=vms ;;
332 z8k-*-coff | z8k-*-sim)
337 *-*-aout | *-*-scout)
343 *-*-generic) fmt=generic ;;
344 *-*-xray | *-*-hms) fmt=coff ;;
346 *-*-elf | *-*-sysv4* | *-*-solaris*)
347 AC_MSG_WARN(GAS support for ${generic_target} is incomplete.)
349 *-*-vxworks) fmt=aout ;;
350 *-*-netware) fmt=elf ;;
353 if test ${this_target} = $target ; then
355 if test x${endian} = xbig; then
357 elif test x${endian} = xlittle; then
360 if test x${endian_def} != x; then
361 AC_DEFINE_UNQUOTED(TARGET_BYTES_BIG_ENDIAN, $endian_def,
362 [Define as 1 if big endian.])
366 case ${cpu_type}-${fmt} in
367 alpha*-*) bfd_gas=yes ;;
368 arm-*) bfd_gas=yes ;;
370 # i386-aout) bfd_gas=preferred ;;
371 mips-*) bfd_gas=yes ;;
372 ns32k-*) bfd_gas=yes ;;
373 ppc-*) bfd_gas=yes ;;
374 sparc-*) bfd_gas=yes ;;
375 strongarm-*) bfd_gas=yes ;;
376 *-elf) bfd_gas=yes ;;
377 *-ecoff) bfd_gas=yes ;;
378 *-som) bfd_gas=yes ;;
382 # Other random stuff.
384 # Do we need the opcodes library?
392 case "${enable_shared}" in
393 yes) shared_opcodes=true ;;
394 *opcodes*) shared_opcodes=true ;;
395 *) shared_opcodes=false ;;
397 if test "${shared_opcodes}" = "true"; then
398 # A shared libopcodes must be linked against libbfd.
404 # Any other special object files needed ?
411 case ${extra_objects} in
413 *) extra_objects="$extra_objects m68k-parse.o" ;;
418 echo ${extra_objects} | grep -s "itbl-parse.o"
419 if test $? -ne 0 ; then
420 extra_objects="$extra_objects itbl-parse.o"
423 echo ${extra_objects} | grep -s "itbl-lex.o"
424 if test $? -ne 0 ; then
425 extra_objects="$extra_objects itbl-lex.o"
428 echo ${extra_objects} | grep -s "itbl-ops.o"
429 if test $? -ne 0 ; then
430 extra_objects="$extra_objects itbl-ops.o"
435 if test $this_target = $target ; then
436 AC_DEFINE_UNQUOTED(DEFAULT_ARCH, "${arch}", [Default architecture.])
443 if test $using_cgen = yes ; then
444 case "x${extra_objects}" in
446 *) extra_objects="$extra_objects cgen.o" ;;
450 # See if we really can support this configuration with the emulation code.
452 if test $this_target = $target ; then
453 primary_bfd_gas=$bfd_gas
457 if test $bfd_gas = no ; then
458 # Can't support other configurations this way.
461 elif test $bfd_gas = no ; then
462 # Can't support this configuration.
466 # From target name and format, produce a list of supported emulations.
468 case ${generic_target}-${fmt} in
469 mips-*-irix5*-*) emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;;
470 mips-*-linux-gnu*-*) case "$endian" in
471 big) emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;;
472 *) emulation="mipslelf mipsbelf mipself mipslecoff mipsbecoff mipsecoff" ;;
474 mips-*-lnews*-ecoff) ;;
475 mips-*-*-ecoff) case "$endian" in
476 big) emulation="mipsbecoff mipslecoff mipsecoff" ;;
477 *) emulation="mipslecoff mipsbecoff mipsecoff" ;;
479 mips-*-*-elf) case "$endian" in
480 big) emulation="mipsbelf mipslelf mipself" ;;
481 *) emulation="mipslelf mipsbelf mipself" ;;
482 # Uncommenting the next line will turn on support for i386 COFF
483 # in any i386 ELF configuration. This probably doesn't work
485 # i386-*-*-elf) emulation="i386coff i386elf" ;;
489 emulations="$emulations $emulation"
493 # Assign floating point type. Most processors with FP support
494 # IEEE FP. On those that don't support FP at all, usually IEEE
496 case ${target_cpu} in
497 vax | tahoe ) atof=${target_cpu} ;;
501 case "${obj_format}" in
502 "") AC_MSG_ERROR(GAS does not know what format to use for target ${target}) ;;
505 # Unfortunately the cpu in cpu-opc.h file isn't always $(TARGET_CPU).
507 if test $using_cgen = yes ; then
508 case ${target_cpu} in
509 *) cgen_cpu_prefix=${target_cpu} ;;
511 AC_SUBST(cgen_cpu_prefix)
512 AC_DEFINE(USING_CGEN, 1, [Using cgen code?])
516 dnl Make sure the desired support files exist.
519 if test ! -r ${srcdir}/config/tc-${target_cpu_type}.c; then
520 AC_MSG_ERROR(GAS does not support target CPU ${target_cpu_type})
523 if test ! -r ${srcdir}/config/obj-${obj_format}.c; then
524 AC_MSG_ERROR(GAS does not have support for object file format ${obj_format})
527 case ${user_bfd_gas}-${primary_bfd_gas} in
529 # We didn't override user's choice.
532 AC_MSG_WARN(Use of BFD is required for ${target}; overriding config options.)
544 # User specified nothing.
548 # Some COFF configurations want these random other flags set.
549 case ${obj_format} in
551 case ${target_cpu_type} in
552 i386) AC_DEFINE(I386COFF, 1, [Using i386 COFF?]) ;;
553 m68k) AC_DEFINE(M68KCOFF, 1, [Using m68k COFF?]) ;;
554 m88k) AC_DEFINE(M88KCOFF, 1, [Using m88k COFF?]) ;;
559 # Getting this done right is going to be a bitch. Each configuration specified
560 # with --enable-targets=... should be checked for environment, format, cpu, and
563 # For each configuration, the necessary object file support code must be linked
564 # in. This might be only one, it might be up to four. The necessary emulation
565 # code needs to be provided, too.
567 # And then there's "--enable-targets=all"....
569 # For now, just always do it for MIPS ELF or ECOFF configurations. Sigh.
571 formats="${obj_format}"
575 for em in . $emulations ; do
579 fmt=elf file=mipself ;;
580 mipsbecoff | mipslecoff)
581 fmt=ecoff file=mipsecoff ;;
583 fmt=coff file=i386coff ;;
585 fmt=elf file=i386elf ;;
587 formats="$formats $fmt"
588 emfiles="$emfiles e-$file.o"
589 EMULATIONS="$EMULATIONS &$em,"
593 if test `set . $formats ; shift ; echo $#` -gt 1 ; then
594 for fmt in $formats ; do
596 aout) AC_DEFINE(OBJ_MAYBE_AOUT, 1, [a.out support?]) ;;
597 bout) AC_DEFINE(OBJ_MAYBE_BOUT, 1, [b.out support?]) ;;
598 coff) AC_DEFINE(OBJ_MAYBE_COFF, 1, [COFF support?]) ;;
599 ecoff) AC_DEFINE(OBJ_MAYBE_ECOFF, 1, [ECOFF support?]) ;;
600 elf) AC_DEFINE(OBJ_MAYBE_ELF, 1, [ELF support?]) ;;
601 generic) AC_DEFINE(OBJ_MAYBE_GENERIC, 1, [generic support?]) ;;
602 hp300) AC_DEFINE(OBJ_MAYBE_HP300, 1, [HP300 support?]) ;;
603 ieee) AC_DEFINE(OBJ_MAYBE_IEEE, 1, [IEEE support?]) ;;
604 som) AC_DEFINE(OBJ_MAYBE_SOM, 1, [SOM support?]) ;;
605 vms) AC_DEFINE(OBJ_MAYBE_VMS, 1, [VMS support?]) ;;
607 extra_objects="$extra_objects obj-$fmt.o"
611 if test `set . $emfiles ; shift ; echo $#` -gt 0 ; then
613 extra_objects="$extra_objects $emfiles"
614 DEFAULT_EMULATION=`set . $emulations ; echo $2`
615 AC_DEFINE(USE_EMULATIONS, 1, [Use emulation support?])
617 AC_SUBST(extra_objects)
618 AC_DEFINE_UNQUOTED(EMULATIONS, $EMULATIONS, [Supported emulations.])
619 AC_DEFINE_UNQUOTED(DEFAULT_EMULATION, "$DEFAULT_EMULATION",
620 [Default emulation.])
622 case ${primary_bfd_gas}-${target_cpu_type}-${obj_format} in
623 yes-*-coff) need_bfd=yes ;;
624 no-*-coff) need_bfd=yes
625 AC_DEFINE(MANY_SEGMENTS, 1, [old COFF support?]) ;;
628 reject_dev_configs=yes
630 case ${reject_dev_configs}-${dev} in
632 AC_MSG_ERROR(GAS does not support the ${generic_target} configuration.)
636 AC_SUBST(target_cpu_type)
639 AC_SUBST(install_tooldir)
641 dnl AC_SUBST(emulation)
643 case "${primary_bfd_gas}" in
644 yes) AC_DEFINE(BFD_ASSEMBLER, 1, [Use BFD interface?])
648 # do we need the opcodes library?
649 case "${need_opcodes}" in
651 OPCODES_LIB=../opcodes/libopcodes.la
655 case "${need_bfd}" in
657 BFDLIB=../bfd/libbfd.la
658 ALL_OBJ_DEPS="$ALL_OBJ_DEPS ../bfd/bfd.h"
663 AC_SUBST(OPCODES_LIB)
665 AC_SUBST(ALL_OBJ_DEPS)
667 AC_DEFINE_UNQUOTED(TARGET_ALIAS, "${target_alias}", [Target alias.])
668 AC_DEFINE_UNQUOTED(TARGET_CANONICAL, "${target}", [Canonical target.])
669 AC_DEFINE_UNQUOTED(TARGET_CPU, "${target_cpu}", [Target CPU.])
670 AC_DEFINE_UNQUOTED(TARGET_VENDOR, "${target_vendor}", [Target vendor.])
671 AC_DEFINE_UNQUOTED(TARGET_OS, "${target_os}", [Target OS.])
684 AC_CHECK_HEADERS(string.h stdlib.h memory.h strings.h unistd.h stdarg.h varargs.h errno.h sys/types.h)
686 # Put this here so that autoconf's "cross-compiling" message doesn't confuse
687 # people who are not cross-compiling but are compiling cross-assemblers.
688 AC_MSG_CHECKING(whether compiling a cross-assembler)
689 if test "${host}" = "${target}"; then
693 AC_DEFINE(CROSS_COMPILE, 1, [Compiling cross-assembler?])
695 AC_MSG_RESULT($cross_gas)
697 dnl ansidecl.h will deal with const
702 # VMS doesn't have unlink.
703 AC_CHECK_FUNCS(unlink remove, break)
705 # Some systems don't have sbrk().
708 # Some non-ANSI preprocessors botch requoting inside strings. That's bad
709 # enough, but on some of those systems, the assert macro relies on requoting
713 # On some systems, the system header files may not declare malloc, realloc,
714 # and free. There are places where gas needs these functions to have been
715 # declared -- such as when taking their addresses.
723 #ifdef HAVE_STRINGS_H
734 GAS_CHECK_DECL_NEEDED(strstr, f, char *(*f)(), $gas_test_headers)
735 GAS_CHECK_DECL_NEEDED(malloc, f, char *(*f)(), $gas_test_headers)
736 GAS_CHECK_DECL_NEEDED(free, f, void (*f)(), $gas_test_headers)
737 GAS_CHECK_DECL_NEEDED(sbrk, f, char *(*f)(), $gas_test_headers)
738 GAS_CHECK_DECL_NEEDED(environ, f, char **f, $gas_test_headers)
740 # Does errno.h declare errno, or do we have to add a separate declaration
742 GAS_CHECK_DECL_NEEDED(errno, f, int f, [
748 dnl This must come last.
750 dnl We used to make symlinks to files in the source directory, but now
751 dnl we just use the right name for .c files, and create .h files in
752 dnl the build directory which include the right .h file. Make sure
753 dnl the old symlinks don't exist, so that a reconfigure in an existing
754 dnl directory behaves reasonably.
756 AC_OUTPUT(Makefile doc/Makefile .gdbinit:gdbinit.in po/Makefile.in:po/Make-in,
757 [rm -f targ-cpu.c targ-cpu.h obj-format.h obj-format.c targ-env.h atof-targ.c itbl-cpu.h
758 echo '#include "tc-'"${target_cpu_type}"'.h"' > targ-cpu.h
759 echo '#include "obj-'"${obj_format}"'.h"' > obj-format.h
760 echo '#include "te-'"${te_file}"'.h"' > targ-env.h
761 echo '#include "itbl-'"${target_cpu_type}"'.h"' > itbl-cpu.h
762 if test "x$cgen_cpu_prefix" != x ; then
763 echo '#include "opcodes/'"${cgen_cpu_prefix}"'-desc.h"' > cgen-desc.h
766 sed -e '/POTFILES =/r po/POTFILES' po/Makefile.in > po/Makefile],
767 [target_cpu_type=${target_cpu_type}
768 cgen_cpu_prefix=${cgen_cpu_prefix}
769 obj_format=${obj_format}