aboutsummaryrefslogtreecommitdiff
path: root/binutils/configure.in
diff options
context:
space:
mode:
Diffstat (limited to 'binutils/configure.in')
-rw-r--r--binutils/configure.in63
1 files changed, 63 insertions, 0 deletions
diff --git a/binutils/configure.in b/binutils/configure.in
index 00806f8..649e5d5 100644
--- a/binutils/configure.in
+++ b/binutils/configure.in
@@ -10,9 +10,72 @@ configdirs="testsuite"
# per-host:
+. ${srcdir}/../bfd/configure.host
+
host_makefile_frag=
if [ -f ${srcdir}/../bfd/config/${my_host}.mh ] ; then
host_makefile_frag=../bfd/config/${my_host}.mh
fi
# per-target:
+
+# Canonicalize the secondary target names.
+if [ -n "$with_targets" ]; then
+ for targ in `echo $with_targets | sed 's/,/ /g'`
+ do
+ result=`$configsub $targ 2>/dev/null`
+ if [ -n "$result" ]; then
+ canon_targets="$canon_targets $result"
+ else
+ # Allow targets that config.sub doesn't recognize, like "all".
+ canon_targets="$canon_targets $targ"
+ fi
+ done
+else
+# If our target is rs6000 _and nothing else_ then we build only nm!
+ case $target in
+ rs6000-*-lynx*) target_makefile_frag=config/rslynx ;;
+ esac
+fi
+
+all_targets=false
+build_nlmconv=false
+build_srconv=false
+
+for targ in $target $canon_targets
+do
+ bfd_target=`$srcdir/../bfd/config.bfd $targ`
+
+ if [ "x$bfd_target" = "xall" ]; then
+ all_targets=true
+ build_nlmconv=true
+ build_srconv=true
+ else
+ case $targ in
+ *-*-netware*) build_nlmconv=true ;;
+ esac
+
+ case $targ in
+ *-*-hms*) build_srconv=true ;;
+ esac
+ fi
+done
+
+# We don't do any links based on the target system, just makefile config.
+
+# post-target:
+
+rm -f Makefile.tmp Makefile.2
+mv Makefile Makefile.tmp
+
+if [ "x${build_nlmconv}" = "xtrue" ]; then
+ echo 'BUILD_NLMCONV = $(NLMCONV_PROG)' >> Makefile.2
+fi
+
+if [ "x${build_srconv}" = "xtrue" ]; then
+ echo 'BUILD_SRCONV = $(SRCONV_PROG)' >> Makefile.2
+fi
+
+cat Makefile.tmp >> Makefile.2
+rm -f Makefile.tmp
+mv Makefile.2 Makefile