binutils-gdb/gas/configure.in

281 lines
7.3 KiB
Plaintext
Raw Normal View History

# This file is configure.in
1992-02-21 10:05:26 +01:00
#
# Copyright (C) 1987-1992 Free Software Foundation, Inc.
#
# This file is part of GAS, the GNU Assembler.
#
# GAS is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# GAS is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with GAS; see the file COPYING. If not, write to
# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#
# This file was written, and is maintained by K. Richard Pixley
# <rich@cygnus.com>.
1991-04-04 20:19:53 +02:00
# This file is a shell script that supplies the information necessary
# to tailor a template configure script into the configure script
# appropriate for this directory. For more information, check any
# existing configure script.
srctrigger=as.c
srcname="gas"
1993-03-12 04:04:32 +01:00
need_bfd=no
bfd_gas=no
1993-03-29 15:27:13 +02:00
configdirs="doc testsuite"
1991-08-14 02:29:34 +02:00
# per-host:
1991-08-28 23:49:12 +02:00
gas_host=generic
1991-04-04 20:19:53 +02:00
1992-10-05 09:33:10 +01:00
case "${host}" in
a29k-*-*) gas_host=a29k ;;
1993-06-05 01:02:19 +02:00
alpha-*-osf*) gas_host=ansi ;;
1993-06-29 19:22:03 +02:00
hppa*-hp-hpux*) gas_host=hpux ;;
hppa*-hp-bsd*) gas_host=hppabsd ;;
hppa*-hp-osf*) gas_host=hppaosf ;;
i[34]86-ibm-aix*) gas_host=i386aix ;;
i[34]86-*-isc*) gas_host=sysv ;;
i386-sun-sunos*) gas_host=sun386 ;;
m68k-sun-sunos*) gas_host=sun3 ;;
m68*-*-hpux) gas_host=hpux ;;
mips-dec-ultrix*) gas_host=decstatn ;;
mips-*-bsd*) gas_host=mipsbsd ;;
mips-sgi-irix*) gas_host=irix ;;
rs6000-*-*) gas_host=rs6000 ;;
sparc-sun-sunos*) gas_host=sun4 ;;
sparc-sun-solaris2*) gas_host=sysv ;;
vax-*-vms*) gas_host=vms ;;
vax-*-bsd*) gas_host=vax ;;
1992-10-05 09:33:10 +01:00
*-*-ansi | *-*-ultrix | *-*-hpux | *-*-sysv*)
gas_host=${host_os} ;;
1991-04-10 01:52:42 +02:00
esac
if [ ! -r ${srcdir}/config/ho-${gas_host}.h ]; then
echo '*** GAS does not support host' ${host} 1>&2
exit 1
fi
1991-08-28 23:49:12 +02:00
# per-target:
1993-03-12 04:04:32 +01:00
case ${with_bfd_assembler} in
yes)
echo "*** Warning: GAS BFD configuration option not yet fully supported" 1>&2
1993-03-12 04:04:32 +01:00
need_bfd=yes
bfd_gas=yes
;;
no | "")
;;
*)
echo "*** Bad value \"${with_bfd_assembler}\" for --with-bfd-assembler option" 1>&2
1993-03-12 04:04:32 +01:00
exit 1
;;
esac
1991-08-28 23:49:12 +02:00
# assign cpu type
emulation=generic
# check for architecture variants
case ${target_cpu} in
1993-03-12 04:04:32 +01:00
sparclite*) cpu_type=sparc ;;
1993-07-08 05:15:36 +02:00
sparc64) cpu_type=sparc64 obj_format=elf ;; # v9
1992-10-05 09:33:10 +01:00
m680[01234]0) cpu_type=m68k ;;
1993-03-12 04:04:32 +01:00
m683??) cpu_type=m68k ;;
1993-03-29 15:27:13 +02:00
i486) cpu_type=i386 ;;
h8300h) cpu_type=h8300 ;;
# Actually we've only got support for the 1.1, so we shouldn't generalize,
# but this is what the support files are named...
hppa1.1) cpu_type=hppa ;;
*) cpu_type=${target_cpu} ;;
esac
gas_target=${cpu_type}
1993-03-29 15:27:13 +02:00
generic_target=${cpu_type}-${target_vendor}-${target_os}
1991-04-10 01:52:42 +02:00
# assign object format
1993-03-29 15:27:13 +02:00
case ${generic_target} in
a29k-amd-udi) obj_format=coffbfd gas_target=ebmon29k ;;
a29k-amd-ebmon) obj_format=coffbfd gas_target=ebmon29k ;;
a29k-amd-ebmonold) obj_format=coff gas_target=ebmon29k ;;
hppa-*-osf) obj_format=elf emulation=hppa ;;
hppa-*-hpux*) obj_format=som emulation=hppa ;;
1993-07-08 05:15:36 +02:00
h8300-*-coff) obj_format=coffbfd ;;
i386-ibm-aix*) obj_format=coffbfd gas_target=i386coff
emulation=i386aix ;;
i386-*-bsd*) obj_format=aout emulation=386bsd ;;
i386-*-linux*) obj_format=aout emulation=linux ;;
1993-07-20 21:18:13 +02:00
i386-*-lynxos* | i386-*-coff | i386-*-sysv* | i386-*-sco* | i386-*-isc*)
obj_format=coffbfd gas_target=i386coff ;;
i386-*-go32) obj_format=aout ;;
i960-wrs-vxworks) obj_format=bout ;;
i960-*-coff) obj_format=coff emulation=ic960 ;;
m68k-wrs-vxworks) obj_format=aout emulation=sun3 ;;
1992-10-05 09:33:10 +01:00
m68k-ericsson-[Oo][Ss][Ee])
obj_format=aout emulation=sun3 ;;
m68k-*-coff | m68*-*-sysv*)
obj_format=coffbfd gas_target=m68kcoff ;;
m68k-*-hpux) obj_format=hp300 emulation=hp300 ;;
m88k-*-coff*) obj_format=coffbfd gas_target=m88kcoff ;;
# don't change emulation like *-*-bsd does
mips-*-bsd*) bfd_gas=yes obj_format=aout gas_target=mips-lit ;;
mips-*-ultrix*) obj_format=ecoff gas_target=mips-lit ;;
mips-*-ecoffl*) obj_format=ecoff gas_target=mips-lit ;;
mips-*-ecoff*) obj_format=ecoff gas_target=mips-big ;;
mips-*-irix*) obj_format=ecoff gas_target=mips-big emulation=irix ;;
1993-06-29 19:22:03 +02:00
sparc*-*-sunos4*) bfd_gas=preferred obj_format=aout emulation=sun3 ;;
sparc*-fujitsu-none) obj_format=aout ;;
sparc64-*-aout*) obj_format=aout bfd_gas=yes ;; # v9
Wed Dec 30 10:18:57 1992 Ian Lance Taylor (ian@cygnus.com) * app.c, config/tc-*.c: Don't include read.h, since it is already included by as.h. * These are based on patches from Minh Tran-le <mtranle@paris.intellicorp.com>. * configure.in (i[34]86-ibm-aix*): Accept i486 for host. Use obj_format coffbfd and gas_target i386coff for target. (i[34]86-*-isc*): New host (uses sysv). * config/i386aix.mt: Removed (no longer used). * config/mh-i386aix (RANLIB): Use true rather than /bin/true. (MINUS_G): Removed. (LDFLAGS): Added, defined as -shlib. * config/te-i386aix.h (REVERSE_SORT_RELOCS): Undefine. * config/te-sco386.h (LOCAL_LABEL): Don't define. (DOT_LABEL_PREFIX): Define. * expr.c (operand): If DOT_LABEL_PREFIX, use .L0\001 as a label name rather than L0\001. * read.c (s_lcomm): Make a frag in SEG_BSS rather than using local_bss_counter. * symbols.c, symbols.h (local_bss_counter): Removed. * write.c (write_object_file): bss no longer uses local_bss_counter. Pass correct data and bss size to VMS_write_object_file. * config/obj-vms.c (VMS_write_object_file): Accept bss size as argument, rather than using local_bss_counter. * config/tc-m88k.c (s_bss): Don't use local_bss_counter. * config/tc-sparc.c (s_reserve): Don't use local_bss_counter. * config/obj-coffbfd.c (had_lineno, had_reloc): Removed. (size_section): Restored sanity check. (do_relocs_for): Base section address on s_paddr rather than computing it. Adjust a29k R_IHIHALF special case to account for section paddr (used to require paddr to be zero). If there are no reclos, set s_relptr to 0. Set relocation size in object_headers. (fill_section): Always set s_vaddr here, removing ZERO_BASED_SEGMENTS case. Force s_scnptr for bss to 0. Don't set NOLOAD for i386 .bss, because it confuses the SVR3 native linker. Set STYP_INFO for .comment. (coff_header_append): Use object headers and H_{SET,GET}_* macros. Make aouthdr writing depend on OBJ_COFF_OMIT_OPTIONAL_HEADER. (crawl_symbols): Handle 8 character section name correctly. Use H_{SET,GET}_* macros. (do_linenos_for): Set lineno size in object_headers. (write_object_file): Use H_{SET,GET}_* macros. Don't bother to set s_vaddr here. If string_byte_count remains 4, set it back to 0, and only write strings out if there are some. Call fill_section before do_relocs_for and do_linenos_for. (obj_coff_section): Handle optional quoted second argument giving section characteristics. (obj_coff_bss): Added to handle .bss. (obj_coff_ident): Added to handle .ident (puts string in .comment section). (obj_coff_lcomm): Put common symbols in .bss, not .data. (fixup_mdeps): Change to segment. Call frag_wane after md_convert_frag. (fixup_segment): Explicitly check S_IS_COMMON before making 386 adjustment (already happened only for common symbols, but this is clearer). * config/obj-coffbfd.h (OBJ_COFF_OMIT_OPTIONAL_HEADER): Define. * config/tc-i386.c (s_bss): Don't use if I386COFF. (md_pseudo_table): Ignore .optim and .noopt. (tc_coff_sizemachdep): New function. * config/tc-i386.h (REVERSE_SORT_RELOCS): Undef, for SVR3 compatibility. (LOCAL_LABEL): Removed definition. (DOT_LABEL_PREFIX): Defined.
1992-12-30 21:34:14 +01:00
*-*-aout | *-*-scout | *-*-linux)
obj_format=aout ;;
1992-10-05 09:33:10 +01:00
*-*-bout* | *-*-nindy*)
obj_format=bout ;;
*-*-bsd* | *-*-sunos*)
obj_format=aout emulation=sun3 ;;
*-*-generic) obj_format=generic ;;
*-*-xray | *-*-hms) obj_format=coffbfd ;;
*-*-sysv32) obj_format=coff emulation=sysv32 ;;
*-*-sim) obj_format=coffbfd ;;
1992-10-05 09:33:10 +01:00
*-*-coff* | *-sysv* | *-*-sco*)
obj_format=coff
case ${target_vendor} in
bull) emulation=dpx2 ;;
sun) emulation=sun3 ;;
esac
;;
*-*-vxworks) obj_format=aout ;;
*-*-coff) obj_format=coff ;;
1993-03-12 04:04:32 +01:00
*-*-elf | *-*-solaris*)
echo '*** Warning: GAS support for ELF format is incomplete' 1>&2
obj_format=elf ;;
*-*-vms) obj_format=vms ;;
1991-04-04 20:19:53 +02:00
esac
1991-04-10 01:52:42 +02:00
# assign floating point type
1991-08-28 23:49:12 +02:00
case ${target_cpu} in
ns32k | vax | tahoe ) atof=${target_cpu} ;;
*) atof=ieee ;;
1991-04-04 20:19:53 +02:00
esac
if [ ! -r ${srcdir}/config/tc-${cpu_type}.c ]; then
echo '*** GAS does not support target CPU' ${cpu_type} 1>&2
exit 1
fi
if [ x${obj_format} = x ]; then
echo "*** GAS doesn't know what format to use for target" ${target} 1>&2
exit 1
fi
if [ ! -r ${srcdir}/config/obj-${obj_format}.c ]; then
echo '*** GAS does not have support for object file format' ${obj_format} 1>&2
exit 1
fi
# and target makefile frag
target_makefile_frag=config/${gas_target}.mt
case ${bfd_gas}-${obj_format} in
yes-coffbfd) obj_format=coff ;;
no-coffbfd) need_bfd=yes ;;
*-elf) bfd_gas=yes ;;
*-ecoff) bfd_gas=yes ;;
*) ;;
esac
1993-06-29 19:22:03 +02:00
case ${with_bfd_assembler}-${bfd_gas} in
yes-yes | no-no)
# We didn't override user's choice.
;;
1993-06-29 19:22:03 +02:00
no-yes)
echo '*** Use of BFD is required for ${target}; overriding config options'\
1>&2
;;
1993-06-29 19:22:03 +02:00
no-preferred)
bfd_gas=no
;;
*-preferred)
bfd_gas=yes
;;
-*)
# User specified nothing.
;;
esac
1991-08-28 23:49:12 +02:00
files="config/ho-${gas_host}.h config/tc-${cpu_type}.c \
1991-08-14 02:29:34 +02:00
config/tc-${cpu_type}.h config/te-${emulation}.h \
1991-04-10 01:52:42 +02:00
config/obj-${obj_format}.h config/obj-${obj_format}.c \
config/atof-${atof}.c"
1991-04-04 20:19:53 +02:00
links="host.h targ-cpu.c targ-cpu.h targ-env.h obj-format.h obj-format.c atof-targ.c"
1993-03-12 04:04:32 +01:00
# post-target:
case ${bfd_gas} in
yes)
rm -f Makefile.tem
mv Makefile Makefile.tem
echo BFDDEF=-DBFD_ASSEMBLER > Makefile
cat Makefile.tem >> Makefile
rm -f Makefile.tem
1993-03-12 04:04:32 +01:00
need_bfd=yes
;;
*)
;;
esac
case ${need_bfd} in
yes)
rm -f Makefile.tem
mv Makefile Makefile.tem
echo BFDLIB=../bfd/libbfd.a > Makefile
cat Makefile.tem >> Makefile
rm -f Makefile.tem
1993-03-12 04:04:32 +01:00
;;
*)
;;
esac
1993-07-08 21:19:31 +02:00
if [ x${host} != x${target} ] ; then
1993-07-08 05:15:36 +02:00
rm -f Makefile.tem
mv Makefile Makefile.tem
1993-07-08 21:19:31 +02:00
echo CROSS=-DCROSS_COMPILE > Makefile
1993-07-08 05:15:36 +02:00
cat Makefile.tem >> Makefile
rm -f Makefile.tem
else
true
fi
# end of gas/configure.in