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