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