summaryrefslogtreecommitdiff
path: root/gcc/genmultilib
diff options
context:
space:
mode:
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1995-10-20 22:57:04 +0000
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>1995-10-20 22:57:04 +0000
commitd57e159c32a368801a16a8a8c16bb6dcda7c0000 (patch)
treeb5d1d3802d53bf9d2609767d1cdb86919fdac4e2 /gcc/genmultilib
parentea37f2f0cc9ff683652fd5ec9cefb3c9f07d5717 (diff)
downloadgcc-d57e159c32a368801a16a8a8c16bb6dcda7c0000.tar.gz
Output negations of unused alternatives, even if one of the
alternatives is selected. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10489 138bc75d-0d04-0410-961f-82ee72b054a4
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/^ //'`