From d57e159c32a368801a16a8a8c16bb6dcda7c0000 Mon Sep 17 00:00:00 2001 From: kenner Date: Fri, 20 Oct 1995 22:57:04 +0000 Subject: [PATCH] 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 --- gcc/genmultilib | 29 +++++++++++------------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/gcc/genmultilib b/gcc/genmultilib index 158d93f..d4cc7ff 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/^ //'` -- 2.7.4