aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbfd/config.sub576
-rwxr-xr-xbfd/configure286
-rw-r--r--bfd/configure.in51
3 files changed, 528 insertions, 385 deletions
diff --git a/bfd/config.sub b/bfd/config.sub
index 58338df..c3e0028 100755
--- a/bfd/config.sub
+++ b/bfd/config.sub
@@ -13,264 +13,332 @@
# a failure to support a valid configuration from a meaningless
# configuration.
-# Separate what the user gave into CPU-company and OS (if any).
-basic_machine=`echo $1 | sed 's/-[^-]*$//'`
-if [ $basic_machine != $1 ]
-then os=`echo $1 | sed 's/^.*-/-/'`
-else os=; fi
+# decode aliases into canonical names
-# Decode aliases for certain machine-company combinations.
-case $basic_machine in
- # Recognize the basic CPU types without company name.
- vax | tahoe | i386 | i860 | m68k | m68000 | m88k | sparc | ns32k \
- | alliant | arm | c1 | c2 | mips | pyramid | tron | a29k \
- | rtpc | rs6000 | i960 | none)
- ;;
- # Recognize the basic CPU types with company name.
- vax-* | tahoe-* | i386-* | i860-* | m68k-* | m68000-* | m88k-* \
- | sparc-* | ns32k-* | alliant-* | arm-* | c1-* | c2-* \
- | mips-* | pyramid-* | tron-* | a29k-* | rtpc-* \
- | rs6000-* | i960-*)
- ;;
- # Recognize the machine names
- # which stand for a CPU time and a company.
- nindy960)
- basic_machine=i960-intel
- os=-nindy
- ;;
- vxworks68)
- basic_machine=m68k-wrs
- os=-vxworks
- ;;
- vxworks960)
- basic_machine=i960-wrs
- os=-vxworks
- ;;
- am29k)
- basic_machine=a29k-unknown
- os=-bsd
- ;;
- umax)
- basic_machine=ns32k-umax
- os=-sysv # maybe?
- ;;
- pn)
- basic_machine=pn-gould
- os=-sysv # maybe?
- ;;
- np1)
- basic_machine=np1-gould
- os=-sysv # maybe?
- ;;
- merlin)
- basic_machine=merlin-utek
- os=-sysv # maybe?
- ;;
- iris | iris4d)
- basic_machine=mips-sgi
- os=-sysv # maybe?
- ;;
- news1000)
- basic_machine=m68030-sony
- os=-sysv # maybe?
- ;;
- news | news700 | news800 | news900)
- basic_machine=m68k-sony
- os=-sysv # maybe?
- ;;
- unixpc | safari | pc7300 | 3b1 | 7300 | 7300-att | att-7300)
- basic_machine=m68k-att
- os=-sysv # maybe?
- ;;
- delta | 3300 | motorola-3300 | motorola-delta \
- | 3300-motorola | delta-motorola)
- basic_machine=m68k-motorola
- os=-sysv # maybe?
- ;;
- vax-dec)
- basic_machine=vax
- os=-ultrix # maybe?
- ;;
- balance)
- basic_machine=ns32k-sequent
- os=-dynix
- ;;
- mmax)
- basic_machine=ns32k-encore
- os=-sysv # maybe?
- ;;
- symmetry)
- basic_machine=i386-sequent
- os=-dynix
- ;;
- sun2)
- basic_machine=m68000-sun
- os=-sunos4
- ;;
- sun2os3)
- basic_machine=m68000-sun
- os=-sunos3
- ;;
- sun2os4)
- basic_machine=m68000-sun
- os=-sunos4
- ;;
- sun3)
- basic_machine=m68k-sun
- os=-sunos4
- ;;
- sun3os3)
- basic_machine=m68k-sun
- os=-sunos3
- ;;
- sun3os4)
- basic_machine=m68k-sun
- os=-sunos4
- ;;
- sun4)
- basic_machine=sparc-sun
- os=-sunos4
- ;;
- sun4os3)
- basic_machine=sparc-sun
- os=-sunos3
- ;;
- sun4os4)
- basic_machine=sparc-sun
- os=-sunos4
- ;;
- pbd)
- basic_machine=sparc-unicom
- os=-sysv
- ;;
- roadrunner | sun386 | sun386i)
- basic_machine=i386-sun
- os=-sunos
- ;;
- ps2)
- basic_machine=i386-ibm
- os=-sysv # maybe?
- ;;
- i386sco)
- basic_machine=i386-sco
- os=-sysv # maybe?
- ;;
- i386v)
- basic_machine=i386-unknown
- os=-sysv
- ;;
- i386v32)
- basic_machine=i386-unknown
- os=-sysv32
- ;;
- next)
- basic_machine=m68k-next
- os=-sysv # maybe?
- ;;
- hp300bsd)
- basic_machine=m68k-hp
- os=-bsd
- ;;
- hp300hpux | hpux | hp9k3[2-9][0-9])
- basic_machine=m68k-hp
- os=-hpux
- ;;
- hp9k31[0-9] | hp9k2[0-9][0-9])
- basic_machine=m68000-hp
- os=-hpux
- ;;
- isi | isi68)
- basic_machine=m68k-isi
- os=-sysv # maybe?
- ;;
- apollo68)
- basic_machine=m68k-apollo
- os=-sysv # maybe?
- ;;
- altos | altos3068)
- basic_machine=m68k-altos
- os=-sysv # maybe?
- ;;
- altosgas)
- basic_machine=m68k-altos
- os=-gas
- ;;
- miniframe)
- basic_machine=m68000-convergent
- os=-sysv # maybe?
- ;;
- tower | tower-32)
- basic_machine=m68k-ncr
- os=-sysv # maybe?
- ;;
- bigmips | news-3600 | risc-news)
- basic_machine=mips-sony
- os=-newsos # maybe?
- ;;
- littlemips)
- basic_machine=mips-little
- os=-bsd
- ;;
- dec3100 | decstatn | decstation | decstation-3100 | pmax)
- basic_machine=mips-dec
- os=-ultrix
- ;;
- magnum | m3230)
- basic_machine=mips-mips
- os=-sysv # maybe?
- ;;
- gmicro)
- basic_machine=tron
- os=-sysv # maybe?
- ;;
- convex-c1)
- basic_machine=c1-convex
- os=-sysv # maybe?
- ;;
- convex-c2)
- basic_machine=c2-convex
- os=-sysv # maybe?
- ;;
- *)
- echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+case "$1" in
+# cpu alone is a valid alias for cpu-none-none.
+vax | tahoe | i386 | i860 | m68k | m68000 | m88k | sparc | ns32k \
+ | alliant | arm | c1 | c2 | mips | pyramid | tron | a29k \
+ | rtpc | rs6000 | i960)
+ cpu=$1
+ vendor=none
+ os=none
+ ;;
+nindy960)
+ cpu=i960
+ vendor=intel
+ os=nindy
+ ;;
+vxworks68)
+ cpu=m68k
+ vendor=wrs
+ os=vxworks
+ ;;
+vxworks960)
+ cpu=i960
+ vendor=wrs
+ os=vxworks
+ ;;
+am29k)
+ cpu=a29k
+ vendor=none
+ os=bsd
+ ;;
+umax)
+ cpu=ns32k
+ vendor=encore
+ os=sysv # maybe?
+ ;;
+pn)
+ cpu=pn
+ vendor=gould
+ os=sysv # maybe?
+ ;;
+np1)
+ cpu=np1
+ vendor=gould
+ os=sysv # maybe?
+ ;;
+merlin)
+ cpu=merlin
+ vendor=utek
+ os=sysv # maybe?
+ ;;
+iris | iris4d)
+ cpu=mips
+ vendor=sgi
+ os=sysv # maybe?
+ ;;
+news1000)
+ cpu=m68030
+ vendor=sony
+ os=sysv # maybe?
+ ;;
+news | news700 | news800 | news900)
+ cpu=m68k
+ vendor=sony
+ os=sysv # maybe?
+ ;;
+unixpc | safari | pc7300 | 3b1 | 7300 | 7300-att | att-7300)
+ cpu=m68k
+ vendor=att
+ os=sysv # maybe?
+ ;;
+delta | 3300 | motorola-3300 | motorola-delta \
+ | 3300-motorola | delta-motorola)
+ cpu=m68k
+ vendor=motorola
+ os=sysv # maybe?
+ ;;
+vax-dec)
+ cpu=vax
+ vendor=dec
+ os=ultrix # maybe?
+ ;;
+balance)
+ cpu=ns32k
+ vendor=sequent
+ os=dynix
+ ;;
+mmax)
+ cpu=ns32k
+ vendor=encore
+ os=sysv # maybe?
+ ;;
+symmetry)
+ cpu=i386
+ vendor=sequent
+ os=dynix
+ ;;
+sun2)
+ cpu=m68000
+ vendor=sun
+ os=sunos4
+ ;;
+sun2os3)
+ cpu=m68000
+ vendor=sun
+ os=sunos3
+ ;;
+sun2os4)
+ cpu=m68000
+ vendor=sun
+ os=sunos4
+ ;;
+sun3)
+ cpu=m68k
+ vendor=sun
+ os=sunos4
+ ;;
+sun3os3)
+ cpu=m68k
+ vendor=sun
+ os=sunos3
+ ;;
+sun3os4)
+ cpu=m68k
+ vendor=sun
+ os=sunos4
+ ;;
+sun4)
+ cpu=sparc
+ vendor=sun
+ os=sunos4
+ ;;
+sun4os3)
+ cpu=sparc
+ vendor=sun
+ os=sunos3
+ ;;
+sun4os4)
+ cpu=sparc
+ vendor=sun
+ os=sunos4
+ ;;
+pbd)
+ cpu=sparc
+ vendor=unicom
+ os=sysv
+ ;;
+roadrunner | sun386 | sun386i)
+ cpu=i386
+ vendor=sun
+ os=sunos
+ ;;
+ps2)
+ cpu=i386
+ vendor=ibm
+ os=sysv # maybe?
+ ;;
+i386sco)
+ cpu=i386
+ vendor=sco
+ os=sysv # maybe?
+ ;;
+i386v)
+ cpu=i386
+ vendor=none
+ os=sysv
+ ;;
+i386v32)
+ cpu=i386
+ vendor=none
+ os=sysv32
+ ;;
+next)
+ cpu=m68k
+ vendor=next
+ os=sysv # maybe?
+ ;;
+hp300bsd)
+ cpu=m68k
+ vendor=hp
+ os=bsd
+ ;;
+hp300hpux | hpux | hp9k3[2-9][0-9])
+ cpu=m68k
+ vendor=hp
+ os=hpux
+ ;;
+hp9k31[0-9] | hp9k2[0-9][0-9])
+ cpu=m68000
+ vendor=hp
+ os=hpux
+ ;;
+isi | isi68)
+ cpu=m68k
+ vendor=isi
+ os=sysv # maybe?
+ ;;
+apollo68)
+ cpu=m68k
+ vendor=apollo
+ os=sysv # maybe?
+ ;;
+altos | altos3068)
+ cpu=m68k
+ vendor=altos
+ os=sysv # maybe?
+ ;;
+altosgas)
+ cpu=m68k
+ vendor=altos
+ os=gas
+ ;;
+miniframe)
+ cpu=m68000
+ vendor=convergent
+ os=sysv # maybe?
+ ;;
+tower | tower-32)
+ cpu=m68k
+ vendor=ncr
+ os=sysv # maybe?
+ ;;
+bigmips | news-3600 | risc-news)
+ cpu=mips
+ vendor=sony
+ os=newsos # maybe?
+ ;;
+littlemips)
+ cpu=mips
+ vendor=little
+ os=bsd
+ ;;
+dec3100 | decstatn | decstation | decstation-3100 | pmax)
+ cpu=mips
+ vendor=dec
+ os=ultrix
+ ;;
+magnum | m3230)
+ cpu=mips
+ vendor=mips
+ os=sysv # maybe?
+ ;;
+gmicro)
+ cpu=tron
+ vendor=none
+ os=sysv # maybe?
+ ;;
+convex-c1)
+ cpu=c1
+ vendor=convex
+ os=sysv # maybe?
+ ;;
+convex-c2)
+ cpu=c2
+ vendor=convex
+ os=sysv # maybe?
+ ;;
+none)
+ cpu=none
+ vendor=none
+ os=none
+ ;;
+
+# not an alias. parse what we expect to be a canonical name.
+*)
+ cpu=`echo $1 | sed 's/-.*$//'`
+
+ if [ "${cpu}" = "$1" ] ; then
+ # no vendor so this is an invalid name.
+ echo '***' No vendor: configuration \`$1\' not recognized 1>&2
exit 1
- ;;
+ else
+ # parse out vendor
+ rest=`echo $1 | sed "s/${cpu}-//"`
+ vendor=`echo ${rest} | sed 's/-.*$//'`
+
+ if [ "${vendor}" = "${rest}" ] ; then
+ # a missing os is acceptable
+ os=none
+ else
+ os=`echo ${rest} | sed "s/${vendor}-//"`
+ fi
+ fi
+ ;;
esac
-# Decode manufacturer-specific aliases for certain operating systems.
+# At this point we should have three parts of a canonical name in cpu,
+# vendor, and os.
-case $os in
- # First accept the basic system types.
- # The portable systems comes first.
- -bsd* | -sysv* | -mach* \
- | -vms* | -sco* | -esix* | -isc* | -aix* | -sunos* | -hpux* \
- | -unos* | -osf* | -v88r* | -aout | -coff | -bout \
- | -nindy | -vxworks)
- ;;
- -newsos*)
- os=-bsd
- ;;
- -ultrix*)
- os=-bsd
- ;;
- -osfrose*)
- os=-osf
- ;;
- -osf*)
- os=-bsd
- ;;
- -dynix*)
- os=-bsd
- ;;
- -ctix*)
- os=-sysv
- ;;
- *)
- # Get rid of the `-' at the beginning of $os.
- os=`echo $1 | sed 's/[^-]*-//'`
- echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
- exit 1
- ;;
+# verify that the cpu is known.
+
+case "${cpu}" in
+vax | tahoe | i386 | i860 | m68k | m68000 | m88k | sparc | ns32k \
+ | alliant | arm | c1 | c2 | mips | pyramid | tron | a29k \
+ | rtpc | rs6000 | i960)
+ ;;
+*)
+ echo '***' Invalid cpu \`${cpu}\': configuration \`$1\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+
+# verify that the vendor is known.
+
+case "${vendor}" in
+none | convex | mips | dec | little | sony | ncr | convergent \
+ | altos | apollo | isi | hp | next | sco | ibm | sun \
+ | unicom | sequent | encore | motorola | att | sgi \
+ | utek | gould | wrs | intel | aout | bout | coff) ;;
+*)
+ echo '***' Invalid vendor \`${vendor}\': configuration \`$1\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+
+# verify that the os is known, if it exists.
+
+case "${os}" in
+aix* | aout | bout | bsd* | coff | ctix* | dynix* | esix* | hpux* \
+ | isc* | mach* | newsos* | nindy* | none | osf* | osf* | sco* \
+ | sunos* | sysv* | ultrix* | unos* | v88r* | vms* | vxworks*)
+ ;;
+*)
+ echo '***' Invalid os \`${os}\': configuration \`$1\' not recognized 1>&2
+ exit 1
+ ;;
esac
-echo ${basic_machine}${os}
+echo ${cpu}-${vendor}-${os}
diff --git a/bfd/configure b/bfd/configure
index 0e71d6f..659a285 100755
--- a/bfd/configure
+++ b/bfd/configure
@@ -55,6 +55,7 @@ hostsubdir=
Makefile=Makefile
Makefile_in=Makefile.in
norecurse=
+recursing=
removing=
srcdir=
srctrigger=
@@ -92,6 +93,9 @@ do
-norecurse | +no*)
norecurse=true
;;
+ -recursing)
+ recursing=true
+ ;;
-rm | +r*)
removing=${arg}
;;
@@ -118,7 +122,7 @@ do
-* | +*)
(echo ;
echo "Unrecognized option: \"${arg}\"". ;
- echo) 2>&1
+ echo) 1>&2
fatal=true
;;
*)
@@ -134,7 +138,6 @@ done
if [ -n "${verbose}" ] ; then
echo `pwd`/configure $*
- echo targets=\"${targets}\"
fi
# process host and target only if not rebuilding configure itself or removing.
@@ -143,7 +146,7 @@ if [ -z "${template}" -a -z "${removing}" -a -z "${fatal}" ] ; then
if [ -z "${hosts}" ] ; then
(echo ;
echo "configure: No HOST specified." ;
- echo) 2>&1
+ echo) 1>&2
fatal=true
fi
fi
@@ -166,7 +169,7 @@ if [ -n "${fatal}" -o "${hosts}" = "help" ] ; then
echo ;
echo "Where HOST and TARGET are something like \"vax\", \"sun3\", \"encore\", etc." ;
echo "Asking for more than one \"+target\" implies \"+subdirs\". Any other" ;
- echo "options given will apply to all targets.") 2>&1
+ echo "options given will apply to all targets.") 1>&2
if [ -r config.status ] ; then
cat config.status
@@ -183,14 +186,13 @@ fi
srctrigger=libbfd.c
srcname="bfd"
-commontargets=true
## end of common part.
# are we rebuilding config itself?
if [ -n "${template}" ] ; then
if [ ! -r ${template} ] ; then
- echo '***' "Can't find template ${template}." 2>&1
+ echo '***' "Can't find template ${template}." 1>&2
exit 1
fi
@@ -211,12 +213,12 @@ if [ -n "${template}" ] ; then
if [ -r configure.in ] ; then
if [ -z "`grep '^# per\-host:' configure.in`" ] ; then
- echo '***' `pwd`/configure.in has no "per-host:" line. 2>&1
+ echo '***' `pwd`/configure.in has no "per-host:" line. 1>&2
exit 1
fi
if [ -z "`grep '^# per\-target:' configure.in`" ] ; then
- echo '***' `pwd`/configure.in has no "per-target:" line. 2>&1
+ echo '***' `pwd`/configure.in has no "per-target:" line. 1>&2
exit 1
fi
@@ -254,6 +256,17 @@ if [ -n "${template}" ] ; then
echo Rebuilt configure in `pwd`
fi
+ # Now update config.sub from the template directory.
+ if echo "$template" | grep -s 'configure$' ; then
+ cp `echo "$template" | sed s/configure$/config.sub/` ./config.sub.new
+ # mv config.sub config.sub.old
+ mv config.sub.new config.sub
+
+ if [ -n "${verbose}" ] ; then
+ echo Rebuilt config.sub in `pwd`
+ fi
+ fi
+
if [ -z "${norecurse}" ] ; then
# If template is relative path, make it absolute for recursing.
if echo "${template}" | grep -s '^/' ; then
@@ -281,7 +294,9 @@ if [ -n "${template}" ] ; then
echo Warning: No configure script in `pwd`/$i
fi
else
- echo Warning: directory $i is missing.
+ if [ -n "${verbose}" ] ; then
+ echo Warning: directory $i is missing.
+ fi
fi
done
done
@@ -303,32 +318,134 @@ for host in ${hosts} ; do
defaulttargets=true
fi
+ result=`/bin/sh ./config.sub ${host}`
+ host_cpu=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'`
+ host_vendor=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\2/'`
+ host_os=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\3/'`
+ host=${host_cpu}-${host_vendor}-${host_os}
host_makefile_frag=config/hmake-${host}
#### configure.in per-host parts come in here.
-if [ ! -f config/hmake-${host} ] ; then
- echo No such host available: ${host}
+if [ "${host_os}" = "posix" ] ; then
+ bfd_host=posix
+else
+ case "${host_cpu}" in
+ rs6000) bfd_host=aix ;;
+ mips)
+ case "${host_vendor}" in
+ dec) bfd_host=dec3100 ;;
+ esac
+ ;;
+ m88k)
+ case "${host_vendor}" in
+ *)
+ case "${host_os}" in
+ dgux) bfd_host=dgux ;;
+ esac
+ ;;
+ esac
+ ;;
+
+ m68k)
+ case "${host_vendor}" in
+ hp)
+ case "${host_os}" in
+ hpux) bfd_host=hp9000 ;;
+ bsd) bfd_host=hp300bsd ;;
+ esac
+ ;;
+ sony) bfd_host=news ;;
+ sun) bfd_host=sun3 ;;
+ esac
+ ;;
+
+ i386)
+ case "${host_vendor}" in
+ *)
+ case "${host_os}" in
+ sysv) bfd_host=i386v ;;
+ esac
+ ;;
+ esac
+ ;;
+
+ sparc)
+ case "${host_vendor}" in
+ sun) bfd_host=sun4 ;;
+ esac
+ ;;
+
+ rtpc) bfd_host=rtbsd ;;
+ tahoe | vax) bfd_host=${host_cpu} ;;
+ esac
+fi
+
+if [ ! -f config/hmake-${bfd_host} ] ; then
+ echo '***' BFD does not support host ${host}: no file config/hmake-${bfd_host}
exit 1
fi
+host_makefile_frag=config/hmake-${bfd_host}
+
## end of per-host part.
for target in ${targets} ; do
- if [ -n "${verbose}" ] ; then
- echo " target=\"${target}\""
- fi
-
+ result=`/bin/sh ./config.sub ${target}`
+ target_cpu=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\1/'`
+ target_vendor=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\2/'`
+ target_os=`echo $result | sed 's/^\(.*\)-\(.*\)-\(.*\)$/\3/'`
+ target=${target_cpu}-${target_vendor}-${target_os}
target_makefile_frag=config/tmake-${target}
#### configure.in per-target parts come in here.
-if [ ! -f config/tmake-${target} ] ; then
- echo No such target available: ${target}
+case "${target_vendor}" in
+aout | coff | bout) bfd_target=${target_cpu}-${target_vendor} ;;
+sony) bfd_target=news ;;
+intel) bfd_target=${target_cpu}-coff ;;
+wrs)
+ case "${target_cpu}" in
+ i960) bfd_target=i960-bout ;;
+ m68k) bfd_target=m68k-aout ;;
+ esac
+ ;;
+sun)
+ case "${target_cpu}" in
+ m68k) bfd_target=sun3 ;;
+ sparc) bfd_target=sun4 ;;
+ esac
+ ;;
+dec)
+ case "${target_cpu}" in
+ mips) bfd_target=dec3100 ;;
+ esac
+ ;;
+hp)
+ case "${target_cpu}" in
+ m68k)
+ case "${target_os}" in
+ hpux) bfd_target=hp9000 ;;
+ bsd) bfd_target=hp300bsd ;;
+ esac
+ ;;
+ esac
+ ;;
+*)
+ case "${target_cpu}" in
+ tahoe | vax) bfd_target=${target_cpu} ;;
+ esac
+ ;;
+esac
+
+if [ ! -f config/tmake-${bfd_target} ] ; then
+ echo '***' BFD does not support target ${target}: no file config/tmake-${bfd_target}
exit 1
fi
+target_makefile_fragment=config/tmake-${bfd_target}
+
files=
links=
## end of per-target part.
@@ -355,7 +472,7 @@ links=
if [ -n "${subdirs}" ] ; then
# check for existing status before allowing forced subdirs.
if [ -f ${Makefile} ] ; then
- echo '***' "${Makefile} already exists in source directory. `pwd` not configured." 2>&1
+ echo '***' "${Makefile} already exists in source directory. `pwd` not configured." 1>&2
exit 1
fi
@@ -380,7 +497,7 @@ links=
else
# if not subdir builds, then make sure none exist.
if [ -n "`(ls .) 2>&1 | grep Host-`" ] ; then
- echo '***' "Configured subdirs exist. `pwd` not configured." 2>&1
+ echo '***' "Configured subdirs exist. `pwd` not configured." 1>&2
exit 1
fi
fi
@@ -396,12 +513,12 @@ links=
if [ -n "${srctrigger}" -a ! -r ${srcdir}/${srctrigger} ] ; then
if [ -z "${srcdirdefaulted}" ] ; then
- echo '***' "${progname}: Can't find ${srcname} sources in `pwd`/${srcdir}" 2>&1
+ echo '***' "${progname}: Can't find ${srcname} sources in `pwd`/${srcdir}" 1>&2
else
- echo '***' "${progname}: Can't find ${srcname} sources in `pwd`/. or `pwd`/.." 2>&1
+ echo '***' "${progname}: Can't find ${srcname} sources in `pwd`/. or `pwd`/.." 1>&2
fi
- echo '***' \(At least ${srctrigger} is missing.\) 2>&1
+ echo '***' \(At least ${srctrigger} is missing.\) 1>&2
exit 1
fi
@@ -415,8 +532,8 @@ links=
set ${links}; link=$1; shift; links=$*
if [ ! -r ${srcdir}/${file} ] ; then
- echo '***' "${progname}: cannot create a link \"${link}\"," 2>&1
- echo '***' "since the file \"${file}\" does not exist." 2>&1
+ echo '***' "${progname}: cannot create a link \"${link}\"," 1>&2
+ echo '***' "since the file \"${file}\" does not exist." 1>&2
exit 1
fi
@@ -426,7 +543,7 @@ links=
${symbolic_link} ${srcdir}/${file} ${link} 2>/dev/null || ${hard_link} ${srcdir}/${file} ${link}
if [ ! -r ${link} ] ; then
- echo '***' "${progname}: unable to link \"${link}\" to \"${srcdir}/${file}\"." 2>&1
+ echo '***' "${progname}: unable to link \"${link}\" to \"${srcdir}/${file}\"." 1>&2
exit 1
fi
@@ -525,7 +642,7 @@ links=
andusing=${using}
fi
- if [ -n "${verbose}" ] ; then
+ if [ -n "${verbose}" -o -z "${recursing}" ] ; then
echo "Created \"${Makefile}\"" in `pwd`${andusing}.
fi
@@ -546,6 +663,26 @@ links=
originaldir=`pwd`
cd ${srcdir}
fi
+
+ # If there are subdirectories, then recurse.
+ if [ -z "${norecurse}" -a -n "${configdirs}" ] ; then
+ for configdir in ${configdirs} ; do
+ if [ -n "${verbose}" ] ; then
+ echo Configuring ${configdir}...
+ fi
+
+ if [ -d ${configdir} ] ; then
+ (cd ${configdir} ;
+ ./configure -recursing ${host} +target=${target} \
+ ${verbose} ${subdirs} ${removing} +destdir=${destdir}) \
+ | sed 's/^/ /'
+ else
+ if [ -n "${verbose}" ] ; then
+ echo Warning: directory \"${configdir}\" is missing.
+ fi
+ fi
+ done
+ fi
done # for each target
# Now build a Makefile for this host.
@@ -565,100 +702,17 @@ E!O!F
fi
done # for each host
-# If there are subdirectories, then recurse.
-
-if [ -n "${norecurse}" -o -z "${configdirs}" ] ; then exit 0 ; fi
-
-# configdirs is not null
-for configdir in ${configdirs} ; do
- if [ -n "${verbose}" ] ; then
- echo Configuring ${configdir}...
- fi
-
- specifics=
- commons=
-
- if [ -n "${defaulttargets}" ] ; then
- for host in ${hosts} ; do
- if [ -d ${configdir}.${host} ] ; then
- newspecifics="${specifics} ${host}"
- specifics=${newspecifics}
- else
- newcommons="${commons} ${host}"
- commons=${newcommons}
- fi # if target specific
- done # for each host
-
- if [ -n "${commons}" ] ; then
- if [ -d ${configdir} ] ; then
- (cd ${configdir} ;
- ./configure ${commons} ${verbose} ${subdirs} ${removing} +destdir=${destdir}) \
- | sed 's/^/ /'
- else
- echo Warning: directory \"${configdir}\" is missing.
- fi
- fi # if any common hosts
-
- if [ -n "${specifics}" ] ; then
- for host in ${specifics} ; do
- if [ -n "${verbose} ] ; then
- echo Configuring target specific directory ${configdir}.${host}...
- fi
-
- (cd ${configdir}.${host} ;
- ./configure ${host} ${verbose} ${subdirs} ${removing} +destdir=${destdir}) \
- | sed 's/^/ /'
- done # for host in specifics
- fi # if there are any specifics
- else
-
- for target in ${targets} ; do
- if [ -d ${configdir}.${target} ] ; then
- newspecifics="${specifics} ${target}"
- specifics=${newspecifics}
- else
- newcommons="${commons} +target=${target}"
- commons=${newcommons}
- fi
-
- done # check for target specific dir override
-
- if [ -n "${verbose}" ] ; then
- echo " "commons=\"${commons}\"
- echo " "specifics=\"${specifics}\"
- fi # if verbose
-
- if [ -n "${commons}" ] ; then
- if [ -d ${configdir} ] ; then
- (cd ${configdir} ;
- ./configure ${hosts} ${verbose} ${subdirs} ${removing} \
- ${commons} +destdir=${destdir}) \
- | sed 's/^/ /'
- else
- echo Warning: directory \"${configdir}\" is missing.
- fi
- fi # if any commons
-
- if [ -n "${specifics}" ] ; then
- for target in ${specifics} ; do
- if [ -n "${verbose} ] ; then
- echo Configuring target specific directory ${configdir}.${target}...
- fi
-
- (cd ${configdir}.${target} ;
- ./configure ${hosts} ${verbose} ${subdirs} ${removing} \
- "+target=${target}" +destdir=${destdir}) \
- | sed 's/^/ /'
- done
- fi # if any specifics
- fi # not default targets
-done
-
exit 0
#
# $Log$
-# Revision 1.20 1991/08/20 04:56:40 rich
+# Revision 1.22 1991/08/23 03:31:43 rich
+# Minor polish & config mapping.
+#
+# Revision 1.30 1991/08/22 07:15:51 rich
+# Three part names, etc.
+#
+# Revision 1.29 1991/08/20 04:56:51 rich
# revisiting error messages
#
# Revision 1.28 1991/08/16 19:22:17 rich
diff --git a/bfd/configure.in b/bfd/configure.in
index ac1e98f..30b3bb4 100644
--- a/bfd/configure.in
+++ b/bfd/configure.in
@@ -30,7 +30,12 @@ else
m68k)
case "${host_vendor}" in
- hp) bfd_host=hp9000 ;;
+ hp)
+ case "${host_os}" in
+ hpux) bfd_host=hp9000 ;;
+ bsd) bfd_host=hp300bsd ;;
+ esac
+ ;;
sony) bfd_host=news ;;
sun) bfd_host=sun3 ;;
esac
@@ -58,7 +63,7 @@ else
fi
if [ ! -f config/hmake-${bfd_host} ] ; then
- echo '***' BFD does not support host ${host}
+ echo '***' BFD does not support host ${host}: no file config/hmake-${bfd_host}
exit 1
fi
@@ -66,30 +71,46 @@ host_makefile_frag=config/hmake-${bfd_host}
# per-target:
-case ${target_os} in
-aout | coff | bout) bfd_target=${target_cpu}-${target_os} ;;
-sunos*)
+case "${target_vendor}" in
+aout | coff | bout) bfd_target=${target_cpu}-${target_vendor} ;;
+sony) bfd_target=news ;;
+intel) bfd_target=${target_cpu}-coff ;;
+wrs)
case "${target_cpu}" in
- m68k) bfd_target=sun3 ;;
- sparc) bfd_target=sun4 ;;
+ i960) bfd_target=i960-bout ;;
+ m68k) bfd_target=m68k-aout ;;
esac
;;
-newsos) bfd_target=news ;;
-*)
+sun)
case "${target_cpu}" in
- tahoe | vax)
- bfd_target=${target_cpu} ;;
- mips)
- case "${host_vendor}" in
- dec) bfd_host=dec3100 ;;
+ m68k) bfd_target=m68k-aout ;;
+ sparc) bfd_target=sparc-aout ;;
+ esac
+ ;;
+dec)
+ case "${target_cpu}" in
+ mips) bfd_target=dec3100 ;;
+ esac
+ ;;
+hp)
+ case "${target_cpu}" in
+ m68k)
+ case "${target_os}" in
+ hpux) bfd_target=hp9000 ;;
+ bsd) bfd_target=hp300bsd ;;
esac
;;
esac
;;
+*)
+ case "${target_cpu}" in
+ tahoe | vax) bfd_target=${target_cpu} ;;
+ esac
+ ;;
esac
if [ ! -f config/tmake-${bfd_target} ] ; then
- echo '***' BFD does not support target ${target}
+ echo '***' BFD does not support target ${target}: no file config/tmake-${bfd_target}
exit 1
fi