old-cross-binutils/configure
K. Richard Pixley eb02fd64a6 Initial revision
1991-04-04 19:01:18 +00:00

853 lines
18 KiB
Bash
Executable file
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/sh
# Do not edit this file. It is generated automatically from configure.in
# and a configure template.
configdirs=
#!/bin/sh
# Do not edit this file. It is generated automatically from configure.in
# and a configure template.
configdirs=
# Configuration script template
# Copyright (C) 1988, 1990, 1991 Free Software Foundation, Inc.
#This file is part of GNU.
#GNU CC 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 1, or (at your option)
#any later version.
#GNU CC 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 GNU CC; see the file COPYING. If not, write to
#the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
#
# Shell script to create proper links to machine-dependent files in
# preparation for compiling gcc.
#
# Usage: configure [+srcdir=DIR] [+host=HOST] [+gas] [+nfp] TARGET
#
# If configure succeeds, it leaves its status in config.status.
# If configure fails after disturbing the status quo,
# config.status is removed.
#
progname=$0
remove=rm
hard_link=ln
symbolic_link='ln -s'
#for Test
#remove="echo rm"
#hard_link="echo ln"
#symbolic_link="echo ln -s"
# clear some things potentially inherited from environment.
target=
template=
removing=
norecurse=
ansi=
for arg in $*;
do
case $arg in
-ansi | +ansi)
ansi=true
;;
-template=* | +template=*)
template=`echo $arg | sed 's/[+-]template=//'`
;;
-norecurse | +norecurse)
norecurse=true
;;
-rm | +rm)
removing=$arg
;;
-srcdir=* | +srcdir=* | +srcdi=* | +srcd=* | +src=* | +sr=* | +s=*)
srcdir=`echo $arg | sed 's/[+-]s[a-z]*=//'`
;;
-host=* | +host=* | +hos=* | +ho=* | +h=*)
host=`echo $arg | sed 's/[+-]h[a-z]*=//'`
;;
-languages=* | +languages=* | -languag=* | +languag=* | langua=* \
| +langua=* | -langu=* | +langu=* | -lang=* | +lang=* | -lan=* \
| +lan=* | -la=* | +la=* | -l=* | +l=*)
languages="$languages `echo $arg | sed 's/[+-]l[a-z]*=//'`"
;;
-gas | +gas | +ga | +g)
gas=yes
;;
-nfp | +nfp | +nf | +n)
nfp=yes
;;
*)
# Allow configure HOST TARGET
if [ x$host = x ] ; then host=$target ; fi
target=$arg
;;
esac
done
# process host and target only if not rebuilding configure itself.
if [ -z "$template" ]
then
# Complain if an arg is missing
if [ x$target = x ]
then
echo "Usage: $progname [+srcdir=DIR] [+host=HOST] [+gas] [+nfp] TARGET"
echo -n "Where HOST and TARGET are something like "
echo "\`vax', \`sun3', \`encore', etc."
if [ -r config.status ]
then
cat config.status
fi
exit 1
fi
# Default other arg
if [ x$host = x ]
then
host=$target
fi
# Decode the host machine, then the target machine.
# For the host machine, we save the xm_file variable as host_xm_file;
# then we decode the target machine and forget everything else
# that came from the host machine.
for machine in $host $target; do
# Separate what the user gave into CPU/company and OS (if any).
basic_machine=`echo $machine | sed 's/-[^-]*$//'`
if [ $basic_machine != $machine ]
then os=`echo $machine | sed 's/[^-]*-/-/'`
else os=; fi
# Decode aliases for certain machine/company combinations.
case $basic_machine in
iris | iris4d)
basic_machine=mips/sgi
;;
news | news800)
basic_machine=m68k/sony
;;
3b1 | 7300 | 7300/att | att-7300)
basic_machine=m68k/att
;;
delta | 3300 | motorola-3300 | motorola-delta \
| 3300/motorola | delta/motorola)
basic_machine=m68k/motorola
;;
vax/dec)
basic_machine=vax
;;
balance)
basic_machine=ns32k/sequent
;;
symmetry)
basic_machine=i386/sequent
;;
sun2)
basic_machine=m68000/sun
;;
sun3)
basic_machine=m68k/sun
;;
sun4)
basic_machine=sparc/sun
;;
sun386 | sun386i)
basic_machine=i386/sun
;;
ps2)
basic_machine=i386/ibm
;;
next)
basic_machine=m68k/next
;;
hp9k3[2-9][0-9])
basic_machine=m68k/hp
;;
hp9k31[0-9] | hp9k2[0-9][0-9])
basic_machine=m68000/hp
;;
isi68)
basic_machine=m68k/isi
;;
apollo68)
basic_machine=m68k/apollo
;;
altos | altos3068)
basic_machine=m68k/altos
;;
miniframe)
basic_machine=m68000/convergent
;;
tower | tower-32)
basic_machine=m68k/ncr
;;
news-3600 | risc-news)
basic_machine=mips/sony
;;
decstation | decstation-3100 | pmax)
basic_machine=mips/dec
;;
gmicro)
basic_machine=tron
;;
convex-c1)
basic_machine=c1/convex
;;
convex-c2)
basic_machine=c2/convex
;;
esac
# Decode manufacturer-specific aliases for certain operating systems.
case $os in
-newsos*)
os=-bsd
;;
-ultrix*)
os=-bsd
;;
-dynix*)
os=-bsd
;;
-ctix*)
os=-sysv
;;
esac
machine=$basic_machine$os
cpu_type=
xm_file=
tm_file=
make_var_file=
case $machine in
vax | vax-bsd*) # vaxen running BSD
;;
vax-vms | vms) # vaxen running VMS
cpu_type=vax
xm_file=xm-vms.h
tm_file=tm-vms.h
;;
vax-sysv* | vaxv) # vaxen running system V
cpu_type=vax
xm_file=xm-vaxv.h
tm_file=tm-vaxv.h
;;
tahoe | tahoe-bsd*) # tahoe running BSD
;;
tahoe/harris*) # Harris tahoe, using COFF.
cpu_type=tahoe
;;
i386/sequent* | i386/sequent-bsd*) # 80386 from Sequent
cpu_type=i386
xm_file=xm-i386.h
tm_file=tm-seq386.h
;;
i386-mach | i386/*-mach)
cpu_type=i386
xm_file=xm-i386.h
tm_file=tm-i386gas.h
;;
i386/sco | i386/sco-sysv* | i386/*-sco) # 80386 running SCO system
cpu_type=i386
xm_file=xm-i386v.h
tm_file=tm-i386sco.h
make_var_file=make-i386sco
;;
i386/isc | i386/isc-sysv* | i386/*-isc) # 80386 running ISC system
cpu_type=i386
xm_file=xm-i386v.h
tm_file=tm-i386isc.h
make_var_file=make-i386isc
;;
i386/ibm | i386-aix | i386/ibm-aix) # IBM PS/2 running AIX
cpu_type=i386
tm_file=tm-i386v.h
xm_file=xm-i386v.h
make_var_file=make-i386v
;;
i386/sun*)
cpu_type=i386
xm_file=xm-sun386i.h
tm_file=tm-sun386i.h
;;
i386-sysv4 | i386/*-sysv4 | i386v4) # Intel 80386's running system V.4
cpu_type=i386
xm_file=xm-i386v.h
make_var_file=make-i386v
tm_file=tm-i386v4.h
;;
i386-sysv* | i386/*-sysv* | i386v) # Intel 80386's running system V
cpu_type=i386
xm_file=xm-i386v.h
make_var_file=make-i386v
if [ x$gas = xyes ]
then
tm_file=tm-i386gas.h
else
tm_file=tm-i386v.h
fi
;;
i860 | i860-sysv* | i860/*-sysv*)
cpu_type=i860
if [ x$gas = xyes ]
then
tm_file=tm-i860g.h
else
tm_file=tm-i860.h
fi
;;
i860-bsd* | i860/*-bsd*)
cpu_type=i860
if [ x$gas = xyes ]
then
tm_file=tm-i860bsdg.h
else
tm_file=tm-i860bsd.h
fi
;;
sparc | sparc/* | sparc-*os4 | sparc/*-*os4)
cpu_type=sparc
tm_file=tm-sparc.h
;;
sparc-*os3 | sparc/*-*os3)
cpu_type=sparc
tm_file=tm-sun4os3.h
;;
m68k/next)
cpu_type=m68k
tm_file=tm-next.h
out_file=out-next.c
xm_file=xm-next.h
;;
m68k/sun-*os3)
cpu_type=m68k
if [ x$nfp = xyes ]
then
tm_file=tm-sun3os3nf.h
else
tm_file=tm-sun3os3.h
fi
;;
m68k/sun-mach)
cpu_type=m68k
tm_file=tm-sun3mach.h
;;
m68k/sun | m68k/sun-*os4)
cpu_type=m68k
if [ x$nfp = xyes ]
then
tm_file=tm-sun3nfp.h
else
tm_file=tm-sun3.h
fi
;;
m68k/hp | m68k/hp-hpux*) # HP 9000 series 300
cpu_type=m68k
xm_file=xm-hp9k320.h
if [ x$gas = xyes ]
then
make_var_file=make-hp9k320g
tm_file=tm-hp9k320g.h
else
make_var_file=make-hp9k320
tm_file=tm-hp9k320.h
fi
;;
m68k/hp-bsd*) # HP 9000/3xx running Berkeley Unix
cpu_type=m68k
tm_file=tm-hp9k3bsd.h
;;
m68k/isi | m68k/isi-bsd*)
cpu_type=m68k
if [ x$nfp = xyes ]
then
tm_file=tm-isi68-nfp.h
else
tm_file=tm-isi68.h
fi
;;
m68k/sony | m68k/sony-bsd*)
xm_file=xm-m68k.h
cpu_type=m68k
if [ x$gas = xyes ]
then
tm_file=tm-newsgas.h
else
tm_file=tm-news.h
fi
;;
m68k/altos | m68k/altos-sysv*) # Altos 3068
cpu_type=m68k
if [ x$gas = xyes ]
then
xm_file=xm-altos3068.h
tm_file=tm-altos3068.h
else
echo "The Altos is supported only with the GNU assembler" 1>&2
exit 1
fi
;;
m68k/motorola | m68k/motorola-sysv*)
cpu_type=m68k
tm_file=tm-mot3300.h
xm_file=xm-mot3300.h
;;
m68k/crds | m68k/crds-unos | m68k-unos | crds | unos)
cpu_type=m68k
xm_file=xm-crds.h
make_var_file=make-crds
tm_file=tm-crds.h
;;
m68k/apollo)
cpu_type=m68k
make_var_file=make-apollo68
tm_file=tm-apollo68.h
;;
m68k/ncr | m68k/ncr-sysv*) # NCR Tower 32 SVR3
cpu_type=m68k
tm_file=tm-tower-as.h
xm_file=xm-tower.h
;;
m68000/sun | m68000/sun-*os3)
cpu_type=m68k
tm_file=tm-sun2.h
;;
m68000/sun-*os4)
cpu_type=m68k
tm_file=tm-sun2os4.h
;;
m68000/hp | m68000/hp-hpux*) # HP 9000 series 300
cpu_type=m68k
xm_file=xm-hp9k310.h
if [ x$gas = xyes ]
then
make_var_file=make-hp9k320g
tm_file=tm-hp9k310g.h
else
make_var_file=make-hp9k320
tm_file=tm-hp9k310.h
fi
;;
m68000/hp-bsd*) # HP 9000/200 running BSD
cpu_type=m68k
tm_file=tm-hp9k2bsd.h
make_var_file=make-hp9k2bsd
;;
m68000/att | m68000/att-sysv*)
cpu_type=m68k
xm_file=xm-3b1.h
if [ x$gas = xyes ]
then
tm_file=tm-3b1g.h
else
tm_file=tm-3b1.h
fi
;;
m68000/convergent | m68000/convergent-sysv*)
cpu_type=m68k
xm_file=xm-3b1.h
tm_file=tm-ctix.h
;;
ns32k/sequent | ns32k/sequent-bsd*)
cpu_type=ns32k
tm_file=tm-sequent.h
;;
ns32k/encore | ns32k/encore-bsd* | encore | encore-bsd*)
cpu_type=ns32k
tm_file=tm-encore.h
;;
ns32k-genix* | ns32k/*-genix* | genix)
cpu_type=ns32k
xm_file=xm-genix.h
make_var_file=make-genix
tm_file=tm-genix.h
;;
merlin)
cpu_type=ns32k
;;
m88k/dg | m88k/dg-dgux* | m88k-dgux*)
cpu_type=m88k
xm_file=xm-m88kdgux.h
make_var_file=make-m88kdgux
tm_file=tm-m88kdgux.h
;;
m88k-v88r32 | m88k/*-v88r32)
cpu_type=m88k
tm_file=tm-v88r32.h
xm_file=xm-v88r32.h
;;
m88k-sysv* | m88k/*-sysv*)
cpu_type=m88k
tm_file=tm-m88ksvr4.h
xm_file=xm-m88ksvr4.h
;;
alliant | alliant/alliant) # Alliant FX/8
cpu_type=alliant
tm_file=tm-alliant.h
;;
c1/convex) # Convex C1
if [ -r /usr/include/stdlib.h ]
then
tm_file=tm-convex1.h
else
tm_file=tm-conv1os7.h
fi
cpu_type=convex
;;
c2/convex) # Convex C2
if [ -r /usr/include/stdlib.h ]
then
tm_file=tm-convex2.h
else
tm_file=tm-conv2os7.h
fi
cpu_type=convex
;;
mips/sgi | mips/sgi-sysv*) # Mostly like a MIPS.
cpu_type=mips
tm_file=tm-iris.h
xm_file=xm-iris.h
;;
mips | mips/mips) # Default MIPS environment.
;;
mips/dec | mips/dec-bsd*) # Decstation.
cpu_type=mips
tm_file=tm-decstatn.h
;;
mips/sony | mips/sony-bsd*) # Sony NEWS 3600 or risc/news.
cpu_type=mips
tm_file=tm-mips-news.h
;;
mips/*-sysv* | mips-sysv*) # SYSV variant of MIPS system.
cpu_type=mips
tm_file=tm-mips-sysv.h
;;
mips/*-bsd* | mips-bsd*) # BSD 4.3 variant of MIPS system.
cpu_type=mips
tm_file=tm-mips-bsd.h
;;
pyramid | pyramid/* | pyramid-*)
cpu_type=pyr
tm_file=tm-pyr.h
;;
tron | tron/*)
cpu_type=gmicro
tm_file=tm_gmicro.h
;;
a29k-bsd* | a29k/*-bsd*)
cpu_type=a29k
tm_file=tm-a29kunix.h
;;
i960) # Default i960 environment.
;;
# 370)
# ;;
esac
if [ x$pass1done = x ]
then
if [ x$cpu_type = x ]; then cpu_type=$host; fi
if [ x$xm_file = x ]; then host_xm_file=xm-$cpu_type.h
else host_xm_file=$xm_file
fi
if [ x$make_var_file = x ]
then make_var_file=make-$cpu_type; fi
host_make_var_file=$make_var_file
pass1done=yes
fi
done
# Default the machine-specific variables that were not explicitly set.
if [ x$cpu_type = x ]
then cpu_type=$target; fi
if [ x$tm_file = x ]
then tm_file=tm-$target.h; fi
md_file=${cpu_type}.md
if [ x$out_file = x ]
then out_file=out-$cpu_type.c; fi
fi
#### configure.in files go here.
# This file is a shell script fragment 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.
configdirs="gcc gas bfd binutils ld clib"
srctrigger=gcc-new
srcname="gnu development package"
### end of configure.in
# are we rebuilding config itself?
if [ -n "$template" ]
then
if [ ! -r $template ]
then
echo "Can't find template ${template}."
exit 1
fi
mv configure configure.old
echo "#!/bin/sh" > configure
echo "# Do not edit this file. It is generated automatically from configure.in" >> configure
echo "# and a configure template." >> configure
echo "configdirs=" >> configure
echo >> configure
if [ -r configure.in ]
then
sed -e "/^####/ r configure.in" $template >> configure
else
cat $template >> configure
fi
chmod a+x configure
rm configure.old
# echo Rebuilt configure in `pwd` from ${template}.
echo Rebuilt configure in `pwd`
if [ x$norecurse = x ]
then
while [ -n "$configdirs" ]
do
# set configdir to car of configdirs, configdirs to cdr of configdirs
set $configdirs; configdir=$1; shift; configdirs=$*
if [ "`echo ${configdir}.*`" != "${configdir}.*" ]
then
targetspecificdirs=${configdir}.*
else
targetspecificdirs=
fi
for i in ${configdir} ${targetspecificdirs}
do
if [ -r $i/configure ]
then
(cd $i ;
configure +template=${template})
else
echo No configure script in `pwd`/$i
fi
done
done
fi
exit 0
fi
# Temporarily, we support only direct subdir builds.
hostsubdir=Host-$host
targetsubdir=Target-$target
if [ -n "$removing" ]
then
rm -rf $hostsubdir/$targetsubdir
if [ -z "`(ls $hostsubdir) 2>&1 | grep Target-`" ]
then
rm -rf $hostsubdir
fi
else
if [ ! -d $hostsubdir ] ; then mkdir $hostsubdir ; fi
cd $hostsubdir
if [ ! -d $targetsubdir ] ; then mkdir $targetsubdir ; fi
cd $targetsubdir
srcdir=../..
## Find the source files, if location was not specified.
#if [ x$srcdir = x ]
#then
# srcdirdefaulted=1
# srcdir=.
# if [ ! -r ${srctrigger} ]
# then
# srcdir=..
# fi
#fi
#
#if [ ! -r ${srcdir}/${srctrigger} ]
#then
# if [ x$srcdirdefaulted = x ]
# then
# echo "$progname: Can't find ${srcname} sources in \`${srcdir}'." 1>&2
# else
# echo "$progname: Can't find ${srcname} sources in \`.' or \`..'." 1>&2
# fi
# exit 1
#fi
# Set up the list of links to be made.
# $links is the list of link names, and $files is the list of names to link to.
# Make the links.
while [ -n "$files" ]
do
# set file to car of files, files to cdr of files
set $files; file=$1; shift; files=$*
set $links; link=$1; shift; links=$*
if [ ! -r ${srcdir}/config/$file ]
then
echo "$progname: cannot create a link \`$link'," 1>&2
echo "since the file \`config/$file' does not exist." 1>&2
exit 1
fi
$remove -f $link
rm -f config.status
# Make a symlink if possible, otherwise try a hard link
$symbolic_link ${srcdir}/config/$file $link 2>/dev/null || $hard_link ${srcdir}/config/$file $link
if [ ! -r $link ]
then
echo "$progname: unable to link \`$link' to \`${srcdir}/config/$file'." 1>&2
exit 1
fi
echo "Linked \`$link' to \`${srcdir}/config/$file'."
done
# Install a makefile, and make it set VPATH
# if necessary so that the sources are found.
# Also change its value of srcdir.
# Also create a .gdbinit file which runs the one in srcdir
# and tells GDB to look there for source files.
case $srcdir in
.)
;;
*)
echo "VPATH = ${srcdir}" > x
cat x ${srcdir}/Makefile.in | sed "s@^srcdir = \.@srcdir = ${srcdir}@" > Makefile.in
rm x
echo "dir ." > .gdbinit
echo "dir ${srcdir}" >> .gdbinit
echo "source ${srcdir}/.gdbinit" >> .gdbinit
;;
esac
host_var_file=hmake-${host}
target_var_file=tmake-${target}
# Conditionalize the makefile for this machine.
if [ -f ${srcdir}/config/${host_var_file} ]
then
sed -e "/^####/ r ${srcdir}/config/${host_var_file}" Makefile.in > Makefile.tem
else
cp Makefile.in Makefile.tem
fi
if [ -f ${srcdir}/config/${target_var_file} ]
then
sed -e "/^####/ r ${srcdir}/config/${target_var_file}" Makefile.tem > Makefile.tem1
mv Makefile.tem1 Makefile.tem
fi
# Remove all formfeeds, since some Makes get confused by them.
sed "s/ //" Makefile.tem >> Makefile.tem1
mv Makefile.tem1 Makefile.tem
# reset SUBDIRS
sed "s:^SUBDIRS =.*$:SUBDIRS = ${configdirs}:" Makefile.tem > Makefile.tem1
mv Makefile.tem1 Makefile.tem
# reset NONSUBDIRS
sed "s:^NONSUBDIRS =.*$:NONSUBDIRS = ${noconfigdirs}:" Makefile.tem > Makefile.tem1
mv Makefile.tem1 Makefile.tem
# Delete the intermediate files
if [ x$srcdir != x. ] ; then rm Makefile.in ; fi
rm -f Makefile
# Define macro CROSS_COMPILE in compilation if this is a cross-compiler.
if [ x$host != x$target ]
then
echo "CROSS=-DCROSS_COMPILE" > Makefile
echo "ALL=start.encap" >> Makefile
else
echo "ALL=all.internal" > Makefile
fi
# set target and host
echo "host = $host" >> Makefile
echo "target = $target" >> Makefile
cat Makefile.tem >> Makefile
rm Makefile.tem
using=
if [ -f ${srcdir}/config/${host_var_file} ]
then
using=" using \"${host_var_file}\""
fi
if [ -f ${srcdir}/config/${target_var_file} ]
then
if [ -z "${using}" ]
then
andusing=" using \"${target_var_file}\""
else
andusing="${using} and \"${target_var_file}\""
fi
else
andusing=${using}
fi
echo "Created \"Makefile\""${andusing}.
if [ x$host = x$target ]
then
echo "Links are now set up for use with a $target." \
| tee ${srcdir}/config.status
else
echo "Links are now set up for host $host and target $target." \
| tee ${srcdir}/config.status
fi
cd ${srcdir}
fi
# If there are subdirectories, then recurse.
if [ x$norecurse != x ] ; then exit 0 ; fi
while [ -n "$configdirs" ]
do
# set configdir to car of configdirs, configdirs to cdr of configdirs
set $configdirs; configdir=$1; shift; configdirs=$*
# check for target override
targetspecificdir=${configdir}.${target}
if [ -d ${targetspecificdir} ]
then
configdir=${targetspecificdir}
fi
echo Configuring ${configdir}...
(cd ${configdir} ;
configure +host=${host} ${target} ${removing}) \
| sed 's/^/ /'
done
exit 0