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 AC_PREREQ(2.5)dnl v2.5 needed for --bindir et al
11 AC_ARG_ENABLE(bfd-assembler,
12 [ --enable-bfd-assembler use BFD back end for writing object files],
13 [case "${enableval}" in
14 yes) need_bfd=yes user_bfd_gas=yes ;;
15 no) user_bfd_gas=no ;;
16 *) AC_MSG_ERROR(bad value ${enableval} given for bfd-assembler option) ;;
18 AC_ARG_ENABLE(targets,
19 [ targets alternative target configurations besides the primary],
20 [case "${enableval}" in
21 yes | "") AC_ERROR(enable-targets option must specify target names or 'all')
23 no) enable_targets= ;;
24 *) enable_targets=$enableval ;;
27 [ --enable-shared build shared BFD library],
28 [case "${enableval}" in
29 yes) shared=true shared_bfd=true shared_opcodes=true ;;
31 *bfd*opcodes*) shared=true shared_bfd=true shared_opcodes=true ;;
32 *opcodes*bfd*) shared=true shared_bfd=true shared_opcodes=true ;;
33 *bfd*) shared=true shared_bfd=true ;;
34 *opcodes*) shared=true shared_opcodes=true ;;
37 AC_ARG_ENABLE(commonbfdlib,
38 [ --enable-commonbfdlib build shared BFD/opcodes/libiberty library],
39 [case "${enableval}" in
40 yes) commonbfdlib=true ;;
41 no) commonbfdlib=false ;;
42 *) AC_MSG_ERROR([bad value ${enableval} for BFD commonbfdlib option]) ;;
45 # Generate a header file -- gets more post-processing by Makefile later.
46 AC_CONFIG_HEADER(conf)
48 dnl For recursion to work right, this must be an absolute pathname.
49 AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/..)
56 if test -n "$enable_targets" ; then
57 for t in `echo $enable_targets | sed 's/,/ /g'`; do
58 result=`$ac_config_sub $t 2>/dev/null`
59 if test -n "$result" ; then
60 canon_targets="$canon_targets $result"
62 # # Permit "all", etc. We don't support it yet though.
63 # canon_targets="$canon_targets $t"
66 GAS_UNIQ(canon_targets)
71 for this_target in $target $canon_targets ; do
74 eval `echo $this_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/cpu=\1 vendor=\2 os=\3/'`
77 # check for architecture variants
79 armeb) cpu_type=arm endian=big ;;
80 arm*) cpu_type=arm endian=little ;;
81 hppa*) cpu_type=hppa ;;
83 i[456]86) cpu_type=i386 ;;
84 m680[012346]0) cpu_type=m68k ;;
85 m68008) cpu_type=m68k ;;
86 m683??) cpu_type=m68k ;;
89 mips*el) cpu_type=mips endian=little ;;
90 mips*) cpu_type=mips endian=big ;;
91 powerpcle*) cpu_type=ppc endian=little ;;
92 powerpc*) cpu_type=ppc endian=big ;;
93 rs6000*) cpu_type=ppc ;;
94 sparc64) cpu_type=sparc want_sparc_v9=true ;;
95 sparc*) cpu_type=sparc ;;
99 if test ${this_target} = $target ; then
100 target_cpu_type=${cpu_type}
101 elif test ${target_cpu_type} != ${cpu_type} ; then
106 generic_target=${cpu_type}-$vendor-$os
111 # assign object format
112 case ${generic_target} in
113 a29k-*-coff) fmt=coff targ=ebmon29k ;;
114 a29k-amd-udi) fmt=coff targ=ebmon29k ;;
115 a29k-amd-ebmon) fmt=coff targ=ebmon29k ;;
116 a29k-nyu-sym1) fmt=coff targ=ebmon29k ;;
117 a29k-*-vxworks*) fmt=coff ;;
119 alpha-*-*vms*) fmt=evax ;;
120 alpha-*-netware*) fmt=ecoff ;;
121 alpha-*-osf*) fmt=ecoff ;;
122 alpha-*-linuxecoff*) fmt=ecoff ;;
123 alpha-*-linux*) fmt=elf em=linux ;;
126 arc-*-elf*) fmt=elf bfd_gas=yes ;;
129 arm-*-riscix*) fmt=aout targ=arm-lit em=riscix ;;
136 arm-*-coff) fmt=coff ;;
137 arm-*-riscix*) fmt=aout ;;
138 arm-*-pe) fmt=coff targ=armcoff em=pe ;;
140 d10v-*-*) fmt=elf bfd_gas=yes ;;
141 # start-sanitize-d30v
142 d30v-*-*) fmt=elf bfd_gas=yes ;;
145 hppa-*-*elf*) fmt=elf em=hppa ;;
146 hppa-*-lites*) fmt=elf em=hppa ;;
147 hppa-*-osf*) fmt=som em=hppa ;;
148 hppa-*-rtems*) fmt=elf em=hppa ;;
149 hppa-*-hpux*) fmt=som em=hppa ;;
150 hppa-*-bsd*) fmt=som em=hppa ;;
151 hppa-*-hiux*) fmt=som em=hppa ;;
153 h8300-*-coff) fmt=coff ;;
155 i386-ibm-aix*) fmt=coff targ=i386coff
157 i386-sequent-bsd*) fmt=aout em=dynix bfd_gas=yes ;;
158 i386-*-bsd*) fmt=aout em=386bsd ;;
159 i386-*-netbsd0.8) fmt=aout em=386bsd ;;
160 i386-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes;;
161 i386-*-linux*aout* | i386-*-linuxoldld) fmt=aout em=linux ;;
162 i386-*-linux*coff*) fmt=coff em=linux
164 i386-*-linux*) fmt=elf em=linux ;;
165 i386-*-lynxos*) fmt=coff targ=i386coff
167 i386-*-sysv4* | i386-*-solaris* | i386-*-elf | i386-*-freebsdelf*)
169 i386-*-sco*elf*) fmt=elf targ=sco5 ;;
170 i386-*-coff | i386-*-sysv* | i386-*-sco* | i386-*-isc*)
171 fmt=coff targ=i386coff ;;
172 i386-*-vsta) fmt=aout ;;
173 i386-*-go32) fmt=coff targ=i386coff ;;
174 i386-*-rtems*) fmt=coff targ=i386coff ;;
175 i386-*-gnu*) fmt=elf ;;
177 fmt=aout em=mach bfd_gas=yes ;;
178 i386-*-msdos*) fmt=aout ;;
179 i386-*-moss*) fmt=elf ;;
180 i386-*-pe) fmt=coff targ=i386coff em=pe ;;
181 i386-*-cygwin32) fmt=coff targ=i386coff em=pe ;;
182 i386-*-*nt) fmt=coff targ=i386coff em=pe ;;
183 i960-*-bout) fmt=bout ;;
184 i960-*-coff) fmt=coff em=ic960 targ=ic960coff ;;
185 i960-*-rtems*) fmt=coff em=ic960 targ=ic960coff ;;
186 i960-*-nindy*) fmt=bout ;;
187 i960-*-vxworks4*) fmt=bout ;;
188 i960-*-vxworks5.0) fmt=bout ;;
189 i960-*-vxworks5.*) fmt=coff em=ic960 targ=ic960coff ;;
190 i960-*-vxworks*) fmt=bout ;;
192 m32r-*-*) fmt=elf bfd_gas=yes ;;
194 m68k-*-vxworks* | m68k-ericsson-ose | m68k-*-sunos*)
196 m68k-motorola-sysv*) fmt=coff targ=m68kcoff em=delta ;;
197 m68k-bull-sysv3*) fmt=coff targ=m68kcoff em=dpx2 ;;
198 m68k-apollo-*) fmt=coff targ=apollo em=apollo ;;
199 m68k-*-sysv4*) # must be before -sysv*
201 m68k-*-elf*) fmt=elf ;;
202 m68k-*-coff | m68k-*-sysv* | m68k-*-rtems*)
203 fmt=coff targ=m68kcoff ;;
204 m68k-*-hpux*) fmt=hp300 em=hp300 ;;
205 m68k-*-linux*aout*) fmt=aout em=linux ;;
206 m68k-*-linux*) fmt=elf em=linux ;;
207 m68k-*-lynxos*) fmt=coff targ=m68kcoff
209 m68k-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
210 m68k-apple-aux*) fmt=coff targ=m68kcoff em=aux ;;
211 m68k-*-psos*) fmt=elf em=psos;;
213 m88k-motorola-sysv3*) fmt=coff targ=m88kcoff em=delt88 ;;
214 m88k-*-coff*) fmt=coff targ=m88kcoff ;;
216 # don't change em like *-*-bsd does
217 mips-dec-netbsd*) fmt=elf targ=mips-lit endian=little ;;
218 mips-dec-bsd*) fmt=aout targ=mips-lit ;;
219 mips-sony-bsd*) fmt=ecoff targ=mips-big ;;
220 mips-*-bsd*) AC_MSG_ERROR(Unknown vendor for mips-bsd configuration.) ;;
221 mips-*-ultrix*) fmt=ecoff targ=mips-lit endian=little ;;
222 mips-*-osf*) fmt=ecoff targ=mips-lit endian=little ;;
223 mips-*-ecoff*) fmt=ecoff
225 big) targ=mips-big ;;
229 mips-*-ecoff*) fmt=ecoff targ=mips-big ;;
230 mips-*-irix6*) fmt=elf targ=mips-big ;;
231 mips-*-irix5*) fmt=elf targ=mips-big ;;
232 mips-*-irix*) fmt=ecoff targ=mips-big ;;
233 mips-*-lnews*) fmt=ecoff targ=mips-lit em=lnews ;;
234 mips-*-riscos*) fmt=ecoff targ=mips-big ;;
235 mips-*-sysv*) fmt=ecoff targ=mips-big ;;
236 mips-*-elf* | mips-*-rtems* | mips-*-linux* | mips-*-gnu*)
239 big) targ=mips-big ;;
243 mn10200-*-*) fmt=elf bfd_gas=yes ;;
244 mn10300-*-*) fmt=elf bfd_gas=yes ;;
245 ppc-*-pe | ppc-*-cygwin32 | ppc-*-winnt*)
252 ppc-*-aix*) fmt=coff ;;
253 ppc-*-beos*) fmt=coff ;;
254 ppc-*-elf* | ppc-*-eabi* | ppc-*-sysv4*)
261 ppc-*-linux*) fmt=elf
264 *) AC_MSG_ERROR(Linux must be configured big endian) ;;
267 ppc-*-solaris*) fmt=elf
269 big) AC_MSG_ERROR(Solaris must be configured little endian) ;;
280 ppc-*-macos* | ppc-*-mpw*)
282 ppc-*-netware*) fmt=elf em=ppcnw ;;
284 sh-*-elf*) fmt=elf ;;
285 sh-*-coff*) fmt=coff ;;
287 ns32k-pc532-mach* | ns32k-pc532-ux*) fmt=aout em=pc532mach ;;
288 ns32k-pc532-netbsd* | ns32k-pc532-lites*) fmt=aout em=nbsd532 ;;
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*) fmt=elf em=linux ;;
297 sparc-*-lynxos*) fmt=coff em=lynx ;;
298 sparc-fujitsu-none) fmt=aout ;;
299 sparc-*-elf | sparc-*-sysv4* | sparc-*-solaris*)
301 sparc-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
303 # start-sanitize-tic80
304 tic80-*-*) fmt=coff targ=tic80coff;;
306 v850-*-*) fmt=elf bfd_gas=yes ;;
308 vax-*-bsd* | vax-*-ultrix*)
310 vax-*-vms) fmt=vms ;;
312 z8k-*-coff | z8k-*-sim)
317 *-*-aout | *-*-scout)
323 *-*-generic) fmt=generic ;;
324 *-*-xray | *-*-hms) fmt=coff ;;
326 *-*-elf | *-*-sysv4* | *-*-solaris*)
327 AC_MSG_WARN(GAS support for ${generic_target} is incomplete.)
329 *-*-vxworks) fmt=aout ;;
330 *-*-netware) fmt=elf ;;
333 case ${cpu_type}-${fmt} in
334 alpha-*) bfd_gas=yes ;;
335 arm-*) bfd_gas=yes ;;
337 # i386-aout) bfd_gas=preferred ;;
338 mips-*) bfd_gas=yes ;;
339 ns32k-*) bfd_gas=yes ;;
340 ppc-*) bfd_gas=yes ;;
341 sparc-*) bfd_gas=yes ;;
342 *-elf) bfd_gas=yes ;;
343 *-ecoff) bfd_gas=yes ;;
344 *-som) bfd_gas=yes ;;
348 # Other random stuff.
350 # do we need the opcodes library?
356 if test "${shared_opcodes}" = "true"; then
357 # A shared libopcodes must be linked against libbfd.
363 test -n "$want_sparc_v9" && AC_DEFINE(SPARC_V9)
365 case ${cpu}-${vendor}-${os} in
366 sparc64-*-elf*) AC_DEFINE(SPARC_ARCH64) ;;
371 case ${extra_objects} in
373 *) extra_objects="$extra_objects cgen.o"
374 extra_files=../opcodes/${cpu_type}-opc.h
375 extra_links=cgen-opc.h
376 AC_DEFINE(USING_CGEN)
382 case ${extra_objects} in
384 *) extra_objects="$extra_objects m68k-parse.o" ;;
389 echo ${extra_objects} | grep -s "itbl-parse.o"
390 if test $? -ne 0 ; then
391 extra_objects="$extra_objects itbl-parse.o"
394 echo ${extra_objects} | grep -s "itbl-lex.o"
395 if test $? -ne 0 ; then
396 extra_objects="$extra_objects itbl-lex.o"
399 echo ${extra_objects} | grep -s "itbl-ops.o"
400 if test $? -ne 0 ; then
401 extra_objects="$extra_objects itbl-ops.o"
409 # See if we really can support this configuration with the emulation code.
411 if test $this_target = $target ; then
412 primary_bfd_gas=$bfd_gas
417 if test $bfd_gas = no ; then
418 # Can't support other configurations this way.
421 elif test $bfd_gas = no ; then
422 # Can't support this configuration.
426 # From target name and format, produce a list of supported emulations.
428 case ${generic_target}-${fmt} in
429 mips-*-irix5*-*) emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;;
430 mips-*-linux*-*) case "$endian" in
431 big) emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;;
432 *) emulation="mipslelf mipsbelf mipself mipslecoff mipsbecoff mipsecoff" ;;
434 mips-*-lnews*-ecoff) ;;
435 mips-*-*-ecoff) case "$endian" in
436 big) emulation="mipsbecoff mipslecoff mipsecoff" ;;
437 *) emulation="mipslecoff mipsbecoff mipsecoff" ;;
439 mips-*-*-elf) case "$endian" in
440 big) emulation="mipsbelf mipslelf mipself" ;;
441 *) emulation="mipslelf mipsbelf mipself" ;;
442 # Uncommenting the next line will turn on support for i386 COFF
443 # in any i386 ELF configuration. This probably doesn't work
445 # i386-*-*-elf) emulation="i386coff i386elf" ;;
449 emulations="$emulations $emulation"
453 # Assign floating point type. Most processors with FP support
454 # IEEE FP. On those that don't support FP at all, usually IEEE
456 case ${target_cpu} in
457 vax | tahoe ) atof=${target_cpu} ;;
461 case "${obj_format}" in
462 "") AC_MSG_ERROR(GAS does not know what format to use for target ${target}) ;;
466 dnl Make sure the desired support files exist.
469 if test ! -r ${srcdir}/config/tc-${target_cpu_type}.c; then
470 AC_MSG_ERROR(GAS does not support target CPU ${target_cpu_type})
473 if test ! -r ${srcdir}/config/obj-${obj_format}.c; then
474 AC_MSG_ERROR(GAS does not have support for object file format ${obj_format})
477 # and target makefile frag
479 target_frag=${srcdir}/config/${gas_target}.mt
480 if test ! -r ${target_frag}; then
481 target_frag=/dev/null # ick! but subst_file can't be conditionalized
483 AC_SUBST_FILE(target_frag)
485 case ${user_bfd_gas}-${primary_bfd_gas} in
487 # We didn't override user's choice.
490 AC_MSG_WARN(Use of BFD is required for ${target}; overriding config options.)
502 # User specified nothing.
506 # Some COFF configurations want these random other flags set.
507 case ${obj_format} in
509 case ${target_cpu_type} in
510 i386) AC_DEFINE(I386COFF) ;;
511 m68k) AC_DEFINE(M68KCOFF) ;;
512 m88k) AC_DEFINE(M88KCOFF) ;;
517 # Getting this done right is going to be a bitch. Each configuration specified
518 # with --enable-targets=... should be checked for environment, format, cpu, and
521 # For each configuration, the necessary object file support code must be linked
522 # in. This might be only one, it might be up to four. The necessary emulation
523 # code needs to be provided, too.
525 # And then there's "--enable-targets=all"....
527 # For now, just always do it for MIPS ELF or ECOFF configurations. Sigh.
529 formats="${obj_format}"
533 for em in . $emulations ; do
537 fmt=elf file=mipself ;;
538 mipsbecoff | mipslecoff)
539 fmt=ecoff file=mipsecoff ;;
541 fmt=coff file=i386coff ;;
543 fmt=elf file=i386elf ;;
545 formats="$formats $fmt"
546 emfiles="$emfiles e-$file.o"
547 EMULATIONS="$EMULATIONS &$em,"
551 if test `set . $formats ; shift ; echo $#` -gt 1 ; then
552 for fmt in $formats ; do
554 aout) AC_DEFINE(OBJ_MAYBE_AOUT) ;;
555 bout) AC_DEFINE(OBJ_MAYBE_BOUT) ;;
556 coff) AC_DEFINE(OBJ_MAYBE_COFF) ;;
557 ecoff) AC_DEFINE(OBJ_MAYBE_ECOFF) ;;
558 elf) AC_DEFINE(OBJ_MAYBE_ELF) ;;
559 generic) AC_DEFINE(OBJ_MAYBE_GENERIC) ;;
560 hp300) AC_DEFINE(OBJ_MAYBE_HP300) ;;
561 ieee) AC_DEFINE(OBJ_MAYBE_IEEE) ;;
562 som) AC_DEFINE(OBJ_MAYBE_SOM) ;;
563 vms) AC_DEFINE(OBJ_MAYBE_VMS) ;;
565 extra_objects="$extra_objects obj-$fmt.o"
569 if test `set . $emfiles ; shift ; echo $#` -gt 0 ; then
571 extra_objects="$extra_objects $emfiles"
572 DEFAULT_EMULATION=`set . $emulations ; echo $2`
573 AC_DEFINE(USE_EMULATIONS)
575 AC_SUBST(extra_objects)
576 AC_DEFINE_UNQUOTED(EMULATIONS, $EMULATIONS)
577 AC_DEFINE_UNQUOTED(DEFAULT_EMULATION, "$DEFAULT_EMULATION")
579 case ${primary_bfd_gas}-${target_cpu_type}-${obj_format} in
580 yes-*-coff) need_bfd=yes ;;
581 no-*-coff) need_bfd=yes
582 AC_DEFINE(MANY_SEGMENTS) ;;
585 reject_dev_configs=yes
587 case ${reject_dev_configs}-${dev} in
589 AC_MSG_ERROR(GAS does not support the ${generic_target} configuration.)
593 AC_SUBST(target_cpu_type)
597 dnl AC_SUBST(emulation)
599 case "${primary_bfd_gas}" in
600 yes) AC_DEFINE(BFD_ASSEMBLER)
604 # do we need the opcodes library?
605 case "${need_opcodes}" in
607 OPCODES_DEP=../opcodes/libopcodes.a
608 OPCODES_LIB='-L../opcodes -lopcodes'
610 # We need to handle some special cases for shared libraries.
613 # On SunOS, we must link against the name we are going to install,
614 # not -lbfd, since SunOS does not support SONAME.
615 if test "${shared_opcodes}" = "true"; then
616 OPCODES_LIB='-L../opcodes -l`echo opcodes | sed '"'"'$(program_transform_name)'"'"'`'
620 # On Alpha OSF/1, the native linker searches all the -L
621 # directories for any LIB.so files, and only then searches for any
622 # LIB.a files. That means that if there is an installed
623 # libbfd.so, but this build is not done with --enable-shared, the
624 # link will wind up being against the install libbfd.so rather
625 # than the newly built libbfd. To avoid this, we must explicitly
626 # link against libbfd.a when --enable-shared is not used.
627 if test "${shared_opcodes}" != "true"; then
628 OPCODES_LIB='../opcodes/libopcodes.a'
635 case "${need_bfd}" in
637 BFDDEP=../bfd/libbfd.a
638 BFDLIB='-L../bfd -lbfd'
639 ALL_OBJ_DEPS="$ALL_OBJ_DEPS ../bfd/bfd.h"
641 # We need to handle some special cases for shared libraries
644 # On SunOS, we must link against the name we are going to install,
645 # not -lbfd, since SunOS does not support SONAME.
646 if test "${shared_bfd}" = "true"; then
647 BFDLIB='-L../bfd -l`echo bfd | sed '"'"'$(program_transform_name)'"'"'`'
651 # On Alpha OSF/1, the native linker searches all the -L
652 # directories for any LIB.so files, and only then searches for any
653 # LIB.a files. That means that if there is an installed
654 # libbfd.so, but this build is not done with --enable-shared, the
655 # link will wind up being against the install libbfd.so rather
656 # than the newly built libbfd. To avoid this, we must explicitly
657 # link against libbfd.a when --enable-shared is not used.
658 if test "${shared_bfd}" != "true"; then
659 BFDLIB='../bfd/libbfd.a'
664 if test "${commonbfdlib}" = "true"; then
665 # when a shared libbfd is built with --enable-commonbfdlib,
666 # all of libopcodes is available in libbfd.so
674 AC_SUBST(OPCODES_DEP)
675 AC_SUBST(OPCODES_LIB)
677 AC_SUBST(ALL_OBJ_DEPS)
679 AC_DEFINE_UNQUOTED(TARGET_ALIAS, "${target_alias}")
680 AC_DEFINE_UNQUOTED(TARGET_CANONICAL, "${target}")
681 AC_DEFINE_UNQUOTED(TARGET_CPU, "${target_cpu}")
682 AC_DEFINE_UNQUOTED(TARGET_VENDOR, "${target_vendor}")
683 AC_DEFINE_UNQUOTED(TARGET_OS, "${target_os}")
688 AC_CHECK_HEADERS(string.h stdlib.h memory.h strings.h unistd.h stdarg.h varargs.h errno.h sys/types.h)
690 # Put this here so that autoconf's "cross-compiling" message doesn't confuse
691 # people who are not cross-compiling but are compiling cross-assemblers.
692 AC_MSG_CHECKING(whether compiling a cross-assembler)
693 if test "${host}" = "${target}"; then
697 AC_DEFINE(CROSS_COMPILE)
699 AC_MSG_RESULT($cross_gas)
701 dnl ansidecl.h will deal with const
706 # VMS doesn't have unlink.
707 AC_CHECK_FUNCS(unlink remove, break)
709 # Some systems don't have sbrk().
712 # Some non-ANSI preprocessors botch requoting inside strings. That's bad
713 # enough, but on some of those systems, the assert macro relies on requoting
717 # On some systems, the system header files may not declare malloc, realloc,
718 # and free. There are places where gas needs these functions to have been
719 # declared -- such as when taking their addresses.
727 #ifdef HAVE_STRINGS_H
738 GAS_CHECK_DECL_NEEDED(strstr, f, char *(*f)(), $gas_test_headers)
739 GAS_CHECK_DECL_NEEDED(malloc, f, char *(*f)(), $gas_test_headers)
740 GAS_CHECK_DECL_NEEDED(free, f, void (*f)(), $gas_test_headers)
741 GAS_CHECK_DECL_NEEDED(sbrk, f, char *(*f)(), $gas_test_headers)
743 # Does errno.h declare errno, or do we have to add a separate declaration
745 GAS_CHECK_DECL_NEEDED(errno, f, int f, [
753 RPATH_ENVVAR=LD_LIBRARY_PATH
754 # If we have shared libraries, try to set rpath reasonably.
755 if test "${shared}" = "true"; then
758 HLDFLAGS='-Wl,+s,+b,$(libdir)'
759 RPATH_ENVVAR=SHLIB_PATH
761 *-*-irix5* | *-*-irix6*)
762 HLDFLAGS='-Wl,-rpath,$(libdir)'
767 HLDFLAGS='-Wl,-rpath,$(libdir)'
770 HLDFLAGS='-R $(libdir)'
773 HLDENV='if test -z "$${LD_RUN_PATH}"; then LD_RUN_PATH=$(libdir); else LD_RUN_PATH=$${LD_RUN_PATH}:$(libdir); fi; export LD_RUN_PATH;'
778 # On SunOS, if the linker supports the -rpath option, use it to
779 # prevent ../bfd and ../opcodes from being included in the run time
783 echo 'main () { }' > conftest.c
784 ${CC} -o conftest -Wl,-rpath= conftest.c >/dev/null 2>conftest.t
785 if grep 'unrecognized' conftest.t >/dev/null 2>&1; then
787 elif grep 'No such file' conftest.t >/dev/null 2>&1; then
789 elif grep 'do not mix' conftest.t >/dev/null 2>&1; then
791 elif test "${shared}" = "true"; then
792 HLDFLAGS='-Wl,-rpath=$(libdir)'
794 HLDFLAGS='-Wl,-rpath='
796 rm -f conftest.t conftest.c conftest
801 AC_SUBST(RPATH_ENVVAR)
803 dnl This must come last.
805 dnl We used to make symlinks to files in the source directory, but now
806 dnl we just use the right name for .c files, and create .h files in
807 dnl the build directory which include the right .h file. Make sure
808 dnl the old symlinks don't exist, so that a reconfigure in an existing
809 dnl directory behaves reasonably.
811 AC_OUTPUT(Makefile doc/Makefile .gdbinit:gdbinit.in,
812 [rm -f targ-cpu.c targ-cpu.h obj-format.h obj-format.c targ-env.h atof-targ.c itbl-cpu.h
813 echo '#include "tc-'"${target_cpu_type}"'.h"' > targ-cpu.h
814 echo '#include "obj-'"${obj_format}"'.h"' > obj-format.h
815 echo '#include "te-'"${te_file}"'.h"' > targ-env.h
816 echo '#include "itbl-'"${target_cpu_type}"'.h"' > itbl-cpu.h],
817 [target_cpu_type=${target_cpu_type}
818 obj_format=${obj_format}