summaryrefslogtreecommitdiff
path: root/gcc/genmultilib
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/genmultilib')
-rw-r--r--gcc/genmultilib17
1 files changed, 15 insertions, 2 deletions
diff --git a/gcc/genmultilib b/gcc/genmultilib
index c687537d700..ca3b71bdfa3 100644
--- a/gcc/genmultilib
+++ b/gcc/genmultilib
@@ -68,6 +68,9 @@
# The difference is that second argument describes multilib directories
# in GCC conventions, while this one the OS multilib convention.
+# The last option should be "yes" if multilibs are enabled. If it is not
+# "yes", all GCC multilib dir names will be ".".
+
# The output looks like
# #define MULTILIB_MATCHES "\
# SUBDIRECTORY OPTIONS;\
@@ -85,7 +88,7 @@
# genmultilib 'm64/m32 mno-app-regs|mcmodel=medany' '64 32 alt'
# 'mcmodel?medany=mcmodel?medmid' 'm32/mno-app-regs* m32/mcmodel=*'
# '' 'm32/!m64/mno-app-regs m32/!m64/mcmodel=medany'
-# '../lib64 ../lib32 alt'
+# '../lib64 ../lib32 alt' yes
# This produces:
# ". !m64 !m32 !mno-app-regs !mcmodel=medany;",
# "64:../lib64 m64 !m32 !mno-app-regs !mcmodel=medany;",
@@ -113,6 +116,7 @@ exceptions=$4
extra=$5
exclusions=$6
osdirnames=$7
+enable_multilib=$8
echo "static const char *const multilib_raw[] = {"
@@ -292,9 +296,18 @@ for combo in ${combinations}; do
osdirout=`echo ${combo} | sed ${toosdirnames}`
# Remove the leading and trailing slashes.
osdirout=`echo ${osdirout} | sed -e 's|^/||' -e 's|/$||g'`
- if [ "x${dirout}" != "x${osdirout}" ]; then
+ if [ "x${enable_multilib}" != xyes ]; then
+ dirout=".:${osdirout}"
+ else
dirout="${dirout}:${osdirout}"
fi
+ else
+ if [ "x${enable_multilib}" != xyes ]; then
+ # genmultilib with --disable-multilib should be
+ # called with '' '' '' '' '' '' '' no
+ # if MULTILIB_OSDIRNAMES is empty.
+ exit 1
+ fi
fi
# Look through the options. We must output each option that is