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=`${CONFIG_SHELL-/bin/sh} $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-*-openbsd*) fmt=ecoff ;;
122 alpha-*-osf*) fmt=ecoff ;;
123 alpha-*-linuxecoff*) fmt=ecoff ;;
124 alpha-*-linux*) fmt=elf em=linux ;;
127 arc-*-elf*) fmt=elf bfd_gas=yes ;;
130 arm-*-riscix*) fmt=aout targ=arm-lit em=riscix ;;
137 arm-*-coff) fmt=coff ;;
138 arm-*-riscix*) fmt=aout ;;
139 arm-*-pe) fmt=coff targ=armcoff em=pe ;;
141 d10v-*-*) fmt=elf bfd_gas=yes ;;
142 # start-sanitize-d30v
143 d30v-*-*) fmt=elf bfd_gas=yes ;;
146 hppa-*-*elf*) fmt=elf em=hppa ;;
147 hppa-*-lites*) fmt=elf em=hppa ;;
148 hppa-*-osf*) fmt=som em=hppa ;;
149 hppa-*-rtems*) fmt=elf em=hppa ;;
150 hppa-*-hpux*) fmt=som em=hppa ;;
151 hppa-*-bsd*) fmt=som em=hppa ;;
152 hppa-*-hiux*) fmt=som em=hppa ;;
154 h8300-*-coff) fmt=coff ;;
156 i386-ibm-aix*) fmt=coff targ=i386coff
158 i386-sequent-bsd*) fmt=aout em=dynix bfd_gas=yes ;;
159 i386-*-bsd*) fmt=aout em=386bsd ;;
160 i386-*-netbsd0.8) fmt=aout em=386bsd ;;
161 i386-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes;;
162 i386-*-linux*aout* | i386-*-linuxoldld) fmt=aout em=linux ;;
163 i386-*-linux*coff*) fmt=coff em=linux
165 i386-*-linux*) fmt=elf em=linux ;;
166 i386-*-lynxos*) fmt=coff targ=i386coff
168 i386-*-sysv4* | i386-*-solaris* | i386-*-elf | i386-*-freebsdelf*)
170 i386-*-sco*elf*) fmt=elf targ=sco5 ;;
171 i386-*-coff | i386-*-sysv* | i386-*-sco* | i386-*-isc*)
172 fmt=coff targ=i386coff ;;
173 i386-*-vsta) fmt=aout ;;
174 i386-*-go32) fmt=coff targ=i386coff ;;
175 i386-*-rtems*) fmt=coff targ=i386coff ;;
176 i386-*-gnu*) fmt=elf ;;
178 fmt=aout em=mach bfd_gas=yes ;;
179 i386-*-msdos*) fmt=aout ;;
180 i386-*-moss*) fmt=elf ;;
181 i386-*-pe) fmt=coff targ=i386coff em=pe ;;
182 i386-*-cygwin32) fmt=coff targ=i386coff em=pe ;;
183 i386-*-*nt) fmt=coff targ=i386coff em=pe ;;
184 i960-*-bout) fmt=bout ;;
185 i960-*-coff) fmt=coff em=ic960 targ=ic960coff ;;
186 i960-*-rtems*) fmt=coff em=ic960 targ=ic960coff ;;
187 i960-*-nindy*) fmt=bout ;;
188 i960-*-vxworks4*) fmt=bout ;;
189 i960-*-vxworks5.0) fmt=bout ;;
190 i960-*-vxworks5.*) fmt=coff em=ic960 targ=ic960coff ;;
191 i960-*-vxworks*) fmt=bout ;;
193 m32r-*-*) fmt=elf bfd_gas=yes ;;
195 m68k-*-vxworks* | m68k-ericsson-ose | m68k-*-sunos*)
197 m68k-motorola-sysv*) fmt=coff targ=m68kcoff em=delta ;;
198 m68k-bull-sysv3*) fmt=coff targ=m68kcoff em=dpx2 ;;
199 m68k-apollo-*) fmt=coff targ=apollo em=apollo ;;
200 m68k-*-sysv4*) # must be before -sysv*
202 m68k-*-elf*) fmt=elf ;;
203 m68k-*-coff | m68k-*-sysv* | m68k-*-rtems*)
204 fmt=coff targ=m68kcoff ;;
205 m68k-*-hpux*) fmt=hp300 em=hp300 ;;
206 m68k-*-linux*aout*) fmt=aout em=linux ;;
207 m68k-*-linux*) fmt=elf em=linux ;;
208 m68k-*-lynxos*) fmt=coff targ=m68kcoff
210 m68k-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
211 m68k-apple-aux*) fmt=coff targ=m68kcoff em=aux ;;
212 m68k-*-psos*) fmt=elf em=psos;;
214 m88k-motorola-sysv3*) fmt=coff targ=m88kcoff em=delt88 ;;
215 m88k-*-coff*) fmt=coff targ=m88kcoff ;;
217 # don't change em like *-*-bsd does
218 mips-dec-netbsd*) fmt=elf targ=mips-lit endian=little ;;
219 mips-dec-bsd*) fmt=aout targ=mips-lit ;;
220 mips-sony-bsd*) fmt=ecoff targ=mips-big ;;
221 mips-*-bsd*) AC_MSG_ERROR(Unknown vendor for mips-bsd configuration.) ;;
222 mips-*-ultrix*) fmt=ecoff targ=mips-lit endian=little ;;
223 mips-*-osf*) fmt=ecoff targ=mips-lit endian=little ;;
224 mips-*-ecoff*) fmt=ecoff
226 big) targ=mips-big ;;
230 mips-*-ecoff*) fmt=ecoff targ=mips-big ;;
231 mips-*-irix6*) fmt=elf targ=mips-big ;;
232 mips-*-irix5*) fmt=elf targ=mips-big ;;
233 mips-*-irix*) fmt=ecoff targ=mips-big ;;
234 mips-*-lnews*) fmt=ecoff targ=mips-lit em=lnews ;;
235 mips-*-riscos*) fmt=ecoff targ=mips-big ;;
236 mips-*-sysv*) fmt=ecoff targ=mips-big ;;
237 mips-*-elf* | mips-*-rtems* | mips-*-linux* | mips-*-gnu* | mips-*-openbsd*)
240 big) targ=mips-big ;;
244 mn10200-*-*) fmt=elf bfd_gas=yes ;;
245 mn10300-*-*) fmt=elf bfd_gas=yes ;;
246 ppc-*-pe | ppc-*-cygwin32 | ppc-*-winnt*)
253 ppc-*-aix*) fmt=coff ;;
254 ppc-*-beos*) fmt=coff ;;
255 ppc-*-elf* | ppc-*-eabi* | ppc-*-sysv4*)
262 ppc-*-linux*) fmt=elf
265 *) AC_MSG_ERROR(Linux must be configured big endian) ;;
268 ppc-*-solaris*) fmt=elf
270 big) AC_MSG_ERROR(Solaris must be configured little endian) ;;
281 ppc-*-macos* | ppc-*-mpw*)
283 ppc-*-netware*) fmt=elf em=ppcnw ;;
285 sh-*-elf*) fmt=elf ;;
286 sh-*-coff*) fmt=coff ;;
288 ns32k-pc532-mach* | ns32k-pc532-ux*) fmt=aout em=pc532mach ;;
289 ns32k-pc532-netbsd* | ns32k-pc532-lites*) fmt=aout em=nbsd532 ;;
291 sparc-*-rtems*) fmt=aout ;;
292 sparc-*-sunos4*) fmt=aout em=sun3 ;;
293 sparc-*-aout | sparc*-*-vxworks*)
294 fmt=aout em=sparcaout ;;
295 sparc-*-coff) fmt=coff ;;
296 sparc-*-linux*aout*) fmt=aout em=linux ;;
297 sparc-*-linux*) fmt=elf em=linux ;;
298 sparc-*-lynxos*) fmt=coff em=lynx ;;
299 sparc-fujitsu-none) fmt=aout ;;
300 sparc-*-elf | sparc-*-sysv4* | sparc-*-solaris*)
302 sparc-*-netbsd*) fmt=aout em=nbsd bfd_gas=yes ;;
304 # start-sanitize-tic80
305 tic80-*-*) fmt=coff targ=tic80coff;;
307 # start-sanitize-v850
308 v850-*-*) fmt=elf bfd_gas=yes ;;
311 vax-*-bsd* | vax-*-ultrix*)
313 vax-*-vms) fmt=vms ;;
315 z8k-*-coff | z8k-*-sim)
320 *-*-aout | *-*-scout)
326 *-*-generic) fmt=generic ;;
327 *-*-xray | *-*-hms) fmt=coff ;;
329 *-*-elf | *-*-sysv4* | *-*-solaris*)
330 AC_MSG_WARN(GAS support for ${generic_target} is incomplete.)
332 *-*-vxworks) fmt=aout ;;
333 *-*-netware) fmt=elf ;;
336 case ${cpu_type}-${fmt} in
337 alpha-*) bfd_gas=yes ;;
338 arm-*) bfd_gas=yes ;;
340 # i386-aout) bfd_gas=preferred ;;
341 mips-*) bfd_gas=yes ;;
342 ns32k-*) bfd_gas=yes ;;
343 ppc-*) bfd_gas=yes ;;
344 sparc-*) bfd_gas=yes ;;
345 *-elf) bfd_gas=yes ;;
346 *-ecoff) bfd_gas=yes ;;
347 *-som) bfd_gas=yes ;;
351 # Other random stuff.
353 # do we need the opcodes library?
359 if test "${shared_opcodes}" = "true"; then
360 # A shared libopcodes must be linked against libbfd.
366 test -n "$want_sparc_v9" && AC_DEFINE(SPARC_V9)
368 case ${cpu}-${vendor}-${os} in
369 sparc64-*-elf*) AC_DEFINE(SPARC_ARCH64) ;;
374 case ${extra_objects} in
376 *) extra_objects="$extra_objects cgen.o"
377 AC_DEFINE(USING_CGEN)
383 case ${extra_objects} in
385 *) extra_objects="$extra_objects m68k-parse.o" ;;
390 echo ${extra_objects} | grep -s "itbl-parse.o"
391 if test $? -ne 0 ; then
392 extra_objects="$extra_objects itbl-parse.o"
395 echo ${extra_objects} | grep -s "itbl-lex.o"
396 if test $? -ne 0 ; then
397 extra_objects="$extra_objects itbl-lex.o"
400 echo ${extra_objects} | grep -s "itbl-ops.o"
401 if test $? -ne 0 ; then
402 extra_objects="$extra_objects itbl-ops.o"
410 # See if we really can support this configuration with the emulation code.
412 if test $this_target = $target ; then
413 primary_bfd_gas=$bfd_gas
418 if test $bfd_gas = no ; then
419 # Can't support other configurations this way.
422 elif test $bfd_gas = no ; then
423 # Can't support this configuration.
427 # From target name and format, produce a list of supported emulations.
429 case ${generic_target}-${fmt} in
430 mips-*-irix5*-*) emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;;
431 mips-*-linux*-*) case "$endian" in
432 big) emulation="mipsbelf mipslelf mipself mipsbecoff mipslecoff mipsecoff" ;;
433 *) emulation="mipslelf mipsbelf mipself mipslecoff mipsbecoff mipsecoff" ;;
435 mips-*-lnews*-ecoff) ;;
436 mips-*-*-ecoff) case "$endian" in
437 big) emulation="mipsbecoff mipslecoff mipsecoff" ;;
438 *) emulation="mipslecoff mipsbecoff mipsecoff" ;;
440 mips-*-*-elf) case "$endian" in
441 big) emulation="mipsbelf mipslelf mipself" ;;
442 *) emulation="mipslelf mipsbelf mipself" ;;
443 # Uncommenting the next line will turn on support for i386 COFF
444 # in any i386 ELF configuration. This probably doesn't work
446 # i386-*-*-elf) emulation="i386coff i386elf" ;;
450 emulations="$emulations $emulation"
454 # Assign floating point type. Most processors with FP support
455 # IEEE FP. On those that don't support FP at all, usually IEEE
457 case ${target_cpu} in
458 vax | tahoe ) atof=${target_cpu} ;;
462 case "${obj_format}" in
463 "") AC_MSG_ERROR(GAS does not know what format to use for target ${target}) ;;
467 dnl Make sure the desired support files exist.
470 if test ! -r ${srcdir}/config/tc-${target_cpu_type}.c; then
471 AC_MSG_ERROR(GAS does not support target CPU ${target_cpu_type})
474 if test ! -r ${srcdir}/config/obj-${obj_format}.c; then
475 AC_MSG_ERROR(GAS does not have support for object file format ${obj_format})
478 # and target makefile frag
480 target_frag=${srcdir}/config/${gas_target}.mt
481 if test ! -r ${target_frag}; then
482 target_frag=/dev/null # ick! but subst_file can't be conditionalized
484 AC_SUBST_FILE(target_frag)
486 case ${user_bfd_gas}-${primary_bfd_gas} in
488 # We didn't override user's choice.
491 AC_MSG_WARN(Use of BFD is required for ${target}; overriding config options.)
503 # User specified nothing.
507 # Some COFF configurations want these random other flags set.
508 case ${obj_format} in
510 case ${target_cpu_type} in
511 i386) AC_DEFINE(I386COFF) ;;
512 m68k) AC_DEFINE(M68KCOFF) ;;
513 m88k) AC_DEFINE(M88KCOFF) ;;
518 # Getting this done right is going to be a bitch. Each configuration specified
519 # with --enable-targets=... should be checked for environment, format, cpu, and
522 # For each configuration, the necessary object file support code must be linked
523 # in. This might be only one, it might be up to four. The necessary emulation
524 # code needs to be provided, too.
526 # And then there's "--enable-targets=all"....
528 # For now, just always do it for MIPS ELF or ECOFF configurations. Sigh.
530 formats="${obj_format}"
534 for em in . $emulations ; do
538 fmt=elf file=mipself ;;
539 mipsbecoff | mipslecoff)
540 fmt=ecoff file=mipsecoff ;;
542 fmt=coff file=i386coff ;;
544 fmt=elf file=i386elf ;;
546 formats="$formats $fmt"
547 emfiles="$emfiles e-$file.o"
548 EMULATIONS="$EMULATIONS &$em,"
552 if test `set . $formats ; shift ; echo $#` -gt 1 ; then
553 for fmt in $formats ; do
555 aout) AC_DEFINE(OBJ_MAYBE_AOUT) ;;
556 bout) AC_DEFINE(OBJ_MAYBE_BOUT) ;;
557 coff) AC_DEFINE(OBJ_MAYBE_COFF) ;;
558 ecoff) AC_DEFINE(OBJ_MAYBE_ECOFF) ;;
559 elf) AC_DEFINE(OBJ_MAYBE_ELF) ;;
560 generic) AC_DEFINE(OBJ_MAYBE_GENERIC) ;;
561 hp300) AC_DEFINE(OBJ_MAYBE_HP300) ;;
562 ieee) AC_DEFINE(OBJ_MAYBE_IEEE) ;;
563 som) AC_DEFINE(OBJ_MAYBE_SOM) ;;
564 vms) AC_DEFINE(OBJ_MAYBE_VMS) ;;
566 extra_objects="$extra_objects obj-$fmt.o"
570 if test `set . $emfiles ; shift ; echo $#` -gt 0 ; then
572 extra_objects="$extra_objects $emfiles"
573 DEFAULT_EMULATION=`set . $emulations ; echo $2`
574 AC_DEFINE(USE_EMULATIONS)
576 AC_SUBST(extra_objects)
577 AC_DEFINE_UNQUOTED(EMULATIONS, $EMULATIONS)
578 AC_DEFINE_UNQUOTED(DEFAULT_EMULATION, "$DEFAULT_EMULATION")
580 case ${primary_bfd_gas}-${target_cpu_type}-${obj_format} in
581 yes-*-coff) need_bfd=yes ;;
582 no-*-coff) need_bfd=yes
583 AC_DEFINE(MANY_SEGMENTS) ;;
586 reject_dev_configs=yes
588 case ${reject_dev_configs}-${dev} in
590 AC_MSG_ERROR(GAS does not support the ${generic_target} configuration.)
594 AC_SUBST(target_cpu_type)
598 dnl AC_SUBST(emulation)
600 case "${primary_bfd_gas}" in
601 yes) AC_DEFINE(BFD_ASSEMBLER)
605 # do we need the opcodes library?
606 case "${need_opcodes}" in
608 OPCODES_DEP=../opcodes/libopcodes.a
609 OPCODES_LIB='-L../opcodes -lopcodes'
611 # We need to handle some special cases for shared libraries.
614 # On SunOS, we must link against the name we are going to install,
615 # not -lbfd, since SunOS does not support SONAME.
616 if test "${shared_opcodes}" = "true"; then
617 OPCODES_LIB='-L../opcodes -l`echo opcodes | sed '"'"'$(program_transform_name)'"'"'`'
621 # On Alpha OSF/1, the native linker searches all the -L
622 # directories for any LIB.so files, and only then searches for any
623 # LIB.a files. That means that if there is an installed
624 # libbfd.so, but this build is not done with --enable-shared, the
625 # link will wind up being against the install libbfd.so rather
626 # than the newly built libbfd. To avoid this, we must explicitly
627 # link against libbfd.a when --enable-shared is not used.
628 if test "${shared_opcodes}" != "true"; then
629 OPCODES_LIB='../opcodes/libopcodes.a'
636 case "${need_bfd}" in
638 BFDDEP=../bfd/libbfd.a
639 BFDLIB='-L../bfd -lbfd'
640 ALL_OBJ_DEPS="$ALL_OBJ_DEPS ../bfd/bfd.h"
642 # We need to handle some special cases for shared libraries
645 # On SunOS, we must link against the name we are going to install,
646 # not -lbfd, since SunOS does not support SONAME.
647 if test "${shared_bfd}" = "true"; then
648 BFDLIB='-L../bfd -l`echo bfd | sed '"'"'$(program_transform_name)'"'"'`'
652 # On Alpha OSF/1, the native linker searches all the -L
653 # directories for any LIB.so files, and only then searches for any
654 # LIB.a files. That means that if there is an installed
655 # libbfd.so, but this build is not done with --enable-shared, the
656 # link will wind up being against the install libbfd.so rather
657 # than the newly built libbfd. To avoid this, we must explicitly
658 # link against libbfd.a when --enable-shared is not used.
659 if test "${shared_bfd}" != "true"; then
660 BFDLIB='../bfd/libbfd.a'
665 if test "${commonbfdlib}" = "true"; then
666 # when a shared libbfd is built with --enable-commonbfdlib,
667 # all of libopcodes is available in libbfd.so
675 AC_SUBST(OPCODES_DEP)
676 AC_SUBST(OPCODES_LIB)
678 AC_SUBST(ALL_OBJ_DEPS)
680 AC_DEFINE_UNQUOTED(TARGET_ALIAS, "${target_alias}")
681 AC_DEFINE_UNQUOTED(TARGET_CANONICAL, "${target}")
682 AC_DEFINE_UNQUOTED(TARGET_CPU, "${target_cpu}")
683 AC_DEFINE_UNQUOTED(TARGET_VENDOR, "${target_vendor}")
684 AC_DEFINE_UNQUOTED(TARGET_OS, "${target_os}")
689 AC_CHECK_HEADERS(string.h stdlib.h memory.h strings.h unistd.h stdarg.h varargs.h errno.h sys/types.h)
691 # Put this here so that autoconf's "cross-compiling" message doesn't confuse
692 # people who are not cross-compiling but are compiling cross-assemblers.
693 AC_MSG_CHECKING(whether compiling a cross-assembler)
694 if test "${host}" = "${target}"; then
698 AC_DEFINE(CROSS_COMPILE)
700 AC_MSG_RESULT($cross_gas)
702 dnl ansidecl.h will deal with const
707 # VMS doesn't have unlink.
708 AC_CHECK_FUNCS(unlink remove, break)
710 # Some systems don't have sbrk().
713 # Some non-ANSI preprocessors botch requoting inside strings. That's bad
714 # enough, but on some of those systems, the assert macro relies on requoting
718 # On some systems, the system header files may not declare malloc, realloc,
719 # and free. There are places where gas needs these functions to have been
720 # declared -- such as when taking their addresses.
728 #ifdef HAVE_STRINGS_H
739 GAS_CHECK_DECL_NEEDED(strstr, f, char *(*f)(), $gas_test_headers)
740 GAS_CHECK_DECL_NEEDED(malloc, f, char *(*f)(), $gas_test_headers)
741 GAS_CHECK_DECL_NEEDED(free, f, void (*f)(), $gas_test_headers)
742 GAS_CHECK_DECL_NEEDED(sbrk, f, char *(*f)(), $gas_test_headers)
744 # Does errno.h declare errno, or do we have to add a separate declaration
746 GAS_CHECK_DECL_NEEDED(errno, f, int f, [
754 RPATH_ENVVAR=LD_LIBRARY_PATH
755 # If we have shared libraries, try to set rpath reasonably.
756 if test "${shared}" = "true"; then
759 HLDFLAGS='-Wl,+s,+b,$(libdir)'
760 RPATH_ENVVAR=SHLIB_PATH
762 *-*-irix5* | *-*-irix6*)
763 HLDFLAGS='-Wl,-rpath,$(libdir)'
768 HLDFLAGS='-Wl,-rpath,$(libdir)'
771 HLDFLAGS='-R $(libdir)'
774 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;'
779 # On SunOS, if the linker supports the -rpath option, use it to
780 # prevent ../bfd and ../opcodes from being included in the run time
784 echo 'main () { }' > conftest.c
785 ${CC} -o conftest -Wl,-rpath= conftest.c >/dev/null 2>conftest.t
786 if grep 'unrecognized' conftest.t >/dev/null 2>&1; then
788 elif grep 'No such file' conftest.t >/dev/null 2>&1; then
790 elif grep 'do not mix' conftest.t >/dev/null 2>&1; then
792 elif test "${shared}" = "true"; then
793 HLDFLAGS='-Wl,-rpath=$(libdir)'
795 HLDFLAGS='-Wl,-rpath='
797 rm -f conftest.t conftest.c conftest
802 AC_SUBST(RPATH_ENVVAR)
804 dnl This must come last.
806 dnl We used to make symlinks to files in the source directory, but now
807 dnl we just use the right name for .c files, and create .h files in
808 dnl the build directory which include the right .h file. Make sure
809 dnl the old symlinks don't exist, so that a reconfigure in an existing
810 dnl directory behaves reasonably.
812 AC_OUTPUT(Makefile doc/Makefile .gdbinit:gdbinit.in,
813 [rm -f targ-cpu.c targ-cpu.h obj-format.h obj-format.c targ-env.h atof-targ.c itbl-cpu.h
814 echo '#include "tc-'"${target_cpu_type}"'.h"' > targ-cpu.h
815 echo '#include "obj-'"${obj_format}"'.h"' > obj-format.h
816 echo '#include "te-'"${te_file}"'.h"' > targ-env.h
817 echo '#include "itbl-'"${target_cpu_type}"'.h"' > itbl-cpu.h
818 case ${target_cpu_type} in
819 m32r) echo '#include "opcodes/'"${target_cpu_type}"'-opc.h"' > cgen-opc.h ;;
821 [target_cpu_type=${target_cpu_type}
822 obj_format=${obj_format}