summaryrefslogtreecommitdiff
path: root/gcc/genmultilib
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1995-10-20 18:57:04 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1995-10-20 18:57:04 -0400
commitfb6853881893dfbbdd5f956ac3d47654a612c6b9 (patch)
treeb5d1d3802d53bf9d2609767d1cdb86919fdac4e2 /gcc/genmultilib
parent09578c273ed630628bc8ae4f31a91694c1464107 (diff)
downloadgcc-fb6853881893dfbbdd5f956ac3d47654a612c6b9.tar.gz
Output negations of unused alternatives, even if one of the
alternatives is selected. From-SVN: r10489
Diffstat (limited to 'gcc/genmultilib')
-rw-r--r--gcc/genmultilib29
1 files changed, 11 insertions, 18 deletions
diff --git a/gcc/genmultilib b/gcc/genmultilib
index 158d93fb683..d4cc7ff7fe5 100644
--- a/gcc/genmultilib
+++ b/gcc/genmultilib
@@ -59,15 +59,15 @@
# genmultilib "m68000/m68020 msoft-float" "m68000 m68020 msoft-float"
# "m68000=mc68000"
# This produces:
-# #define MULTILIB_MATCHES "\
-# m68000/msoft-float m68000 msoft-float;\
-# m68000/msoft-float mc68000 msoft-float;\
-# m68020/msoft-float m68020 msoft-float;\
-# msoft-float !m68000 !mc68000 !m68020 msoft-float;\
-# m68000 m68000 !msoft-float;\
-# m68000 mc60000 !msoft-float;\
-# m68020 m68020 !msoft-float;\
+# #define MULTILIB_SELECT "\
# . !m68000 !mc68000 !m68020 !msoft-float;\
+# m68000 m68000 !m68020 !msoft-float;\
+# m68000 mc60000 !m68020 !msoft-float;\
+# m68020 !m68000 !mc68000 m68020 !msoft-float;\
+# msoft-float !m68000 !mc68000 !m68020 msoft-float;\
+# m68000/msoft-float m68000 !m68020 msoft-float;\
+# m68000/msoft-float mc68000 !m68020 msoft-float;\
+# m68020/msoft-float !m68000 !mc68000 m68020 msoft-float;\
# "
# The effect is that `gcc -msoft-float' (for example) will append
# msoft-float to the directory name when searching for libraries or
@@ -200,24 +200,17 @@ for combo in ${combinations}; do
dirout=`echo ${dirout} | sed -e 's|^/||' -e 's|/$||g'`
# Look through the options. We must output each option that is
- # present, and negate each option that is not present. If an
- # element of a set is present, we need not negate the other elements
- # of the set.
+ # present, and negate each option that is not present.
optout=
for set in ${options}; do
setopts=`echo ${set} | sed -e 's|/| |g'`
- found=
for opt in ${setopts}; do
if expr "${combo} " : ".*/${opt}/.*" > /dev/null; then
optout="${optout} ${opt}"
- found=yes
+ else
+ optout="${optout} !${opt}"
fi
done
- if [ "${found}" = "" ]; then
- for opt in ${setopts}; do
- optout="${optout} !${opt}"
- done
- fi
done
optout=`echo ${optout} | sed -e 's/^ //'`