aboutsummaryrefslogtreecommitdiff
path: root/gcc/genmultilib
diff options
context:
space:
mode:
authorMichael Meissner <meissner@gcc.gnu.org>1995-11-30 17:49:53 +0000
committerMichael Meissner <meissner@gcc.gnu.org>1995-11-30 17:49:53 +0000
commite09150c7c0602ed7aa36db50a1535160af96a35a (patch)
tree60b2cc83a8522099e67172444d5f51e9a6319c63 /gcc/genmultilib
parent23ec378b8424a890a968504e4944bd4452af31d7 (diff)
downloadgcc-e09150c7c0602ed7aa36db50a1535160af96a35a.zip
gcc-e09150c7c0602ed7aa36db50a1535160af96a35a.tar.gz
gcc-e09150c7c0602ed7aa36db50a1535160af96a35a.tar.bz2
Add MULTILIB_EXCEPTiONS
From-SVN: r10642
Diffstat (limited to 'gcc/genmultilib')
-rw-r--r--gcc/genmultilib31
1 files changed, 31 insertions, 0 deletions
diff --git a/gcc/genmultilib b/gcc/genmultilib
index d4cc7ff..8821800 100644
--- a/gcc/genmultilib
+++ b/gcc/genmultilib
@@ -42,6 +42,9 @@
# appear in the first argument, and the second should be a synonym for
# it. Question marks are replaced with equal signs in both options.
+# The optional fourth argument is a list of multilib directory
+# combinations that should not be built.
+
# The output looks like
# #define MULTILIB_MATCHES "\
# SUBDIRECTORY OPTIONS;\
@@ -78,6 +81,7 @@
options=$1
dirnames=$2
matches=$3
+exceptions=$4
# What we want to do is select all combinations of the sets in
# options. Each combination which includes a set of mutually
@@ -112,6 +116,33 @@ combinations=`initial=/ ./tmpmultilib ${options}`
rm -f tmpmultilib
+# If there exceptions, weed them out now
+if [ -n "${exceptions}" ]; then
+ rm -f tmpmultilib2
+ cat >tmpmultilib2 <<\EOF
+#!/bin/sh
+# This recursive script weeds out any combination of multilib
+# switches that should not be generated. The output looks like
+# a list of subdirectory names with leading and trailing slashes.
+
+ for opt in $@; do
+ case "$opt" in
+EOF
+
+ for except in ${exceptions}; do
+ echo " /${except}/) : ;;" >> tmpmultilib2
+ done
+
+cat >>tmpmultilib2 <<\EOF
+ *) echo ${opt};;
+ esac
+ done
+EOF
+ chmod +x tmpmultilib2
+ combinations=`./tmpmultilib2 ${combinations}`
+ rm -f ./tmpmultilib2
+fi
+
# Construct a sed pattern which will convert option names to directory
# names.
todirnames=