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