diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1995-10-20 18:57:04 -0400 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1995-10-20 18:57:04 -0400 |
commit | fb6853881893dfbbdd5f956ac3d47654a612c6b9 (patch) | |
tree | b5d1d3802d53bf9d2609767d1cdb86919fdac4e2 /gcc | |
parent | 09578c273ed630628bc8ae4f31a91694c1464107 (diff) | |
download | gcc-fb6853881893dfbbdd5f956ac3d47654a612c6b9.tar.gz |
Output negations of unused alternatives, even if one of the
alternatives is selected.
From-SVN: r10489
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/genmultilib | 29 |
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/^ //'` |