1
# DP: - Disable some biarch libraries for biarch builds.
2
# DP: - Fix multilib builds on kernels which don't support all multilibs.
4
Index: b/src/config-ml.in
5
===================================================================
12
+if [ -z "$biarch_multidir_names" ]; then
13
+ biarch_multidir_names="libiberty libstdc++-v3 libgfortran libmudflap libssp libffi libobjc libgomp"
14
+ echo "WARNING: biarch_multidir_names is unset. Use default value:"
15
+ echo " $biarch_multidir_names"
17
+ml_srcbase=`basename $ml_realsrcdir`
18
+old_multidirs="${multidirs}"
20
+for x in ${old_multidirs}; do
22
+ " 32 "|" n32 "|" x32 "|" 64 "|" hf "|" sf ")
23
+ case "$biarch_multidir_names" in
24
+ *"$ml_srcbase"*) multidirs="${multidirs} ${x}" ;;
27
+ *) multidirs="${multidirs} ${x}" ;;
31
# Remove extraneous blanks from multidirs.
32
# Tests like `if [ -n "$multidirs" ]' require it.
33
multidirs=`echo "$multidirs" | sed -e 's/^[ ][ ]*//' -e 's/[ ][ ]*$//' -e 's/[ ][ ]*/ /g'`
36
for ml_dir in ${multidirs}; do
38
+ # a native build fails if the running kernel doesn't support the multilib
39
+ # variant; force cross compilation for these cases.
42
+ i[34567]86-*-linux*)
44
+ 64) ml_host_arg="--host=x86_64-linux-gnu";;
45
+ x32) ml_host_arg="--host=x86_64-linux-gnux32";;
50
+ 64) ml_host_arg="--host=powerpc64-linux-gnu"
55
+ 64) ml_host_arg="--host=s390x-linux-gnu"
60
+ x32) ml_host_arg="--host=x86_64-linux-gnux32"
63
+ if [ -n "${ml_host_arg}" ]; then
64
+ ml_host_arg="${ml_host_arg} --with-default-host-alias=${host_alias}"
67
if [ "${ml_verbose}" = --verbose ]; then
68
echo "Running configure in multilib subdir ${ml_dir}"
69
echo "pwd: `${PWDCMD-pwd}`"
75
+ for arg in ${ac_configure_args}
78
+ *CC=*) ml_configure_args=${ml_config_env} ;;
79
+ *CXX=*) ml_configure_args=${ml_config_env} ;;
80
+ *GCJ=*) ml_configure_args=${ml_config_env} ;;
85
if eval ${ml_config_env} ${ml_config_shell} ${ml_recprog} \
86
--with-multisubdir=${ml_dir} --with-multisrctop=${multisrctop} \
87
- ${ac_configure_args} ${ml_config_env} ${ml_srcdiroption} ; then
88
+ ${ac_configure_args} ${ml_configure_args} ${ml_host_arg} ${ml_srcdiroption} ; then
92
Index: b/src/libstdc++-v3/include/Makefile.am
93
===================================================================
94
--- a/src/libstdc++-v3/include/Makefile.am
95
+++ b/src/libstdc++-v3/include/Makefile.am
99
host_srcdir = ${glibcxx_srcdir}/$(OS_INC_SRCDIR)
100
-host_builddir = ./${host_alias}/bits
101
-host_installdir = ${gxx_include_dir}/${host_alias}$(MULTISUBDIR)/bits
102
+default_host_alias = @default_host_alias@
103
+host_builddir = ./${default_host_alias}/bits
104
+host_installdir = ${gxx_include_dir}/${default_host_alias}$(MULTISUBDIR)/bits
106
${host_srcdir}/ctype_base.h \
107
${host_srcdir}/ctype_inline.h \
108
@@ -1047,6 +1048,7 @@
111
@-mkdir -p ${host_builddir}
112
+ @test ${default_host_alias} = ${host_alias} || ln -sf ${default_host_alias} ${host_alias}
113
@$(STAMP) stamp-${host_alias}
115
# Host includes static.
116
Index: b/src/libstdc++-v3/include/Makefile.in
117
===================================================================
118
--- a/src/libstdc++-v3/include/Makefile.in
119
+++ b/src/libstdc++-v3/include/Makefile.in
120
@@ -1103,8 +1103,9 @@
121
# For --enable-cheaders=c_std
122
@GLIBCXX_C_HEADERS_COMPATIBILITY_TRUE@c_compatibility_headers_extra = ${c_compatibility_headers}
123
host_srcdir = ${glibcxx_srcdir}/$(OS_INC_SRCDIR)
124
-host_builddir = ./${host_alias}/bits
125
-host_installdir = ${gxx_include_dir}/${host_alias}$(MULTISUBDIR)/bits
126
+default_host_alias = @default_host_alias@
127
+host_builddir = ./${default_host_alias}/bits
128
+host_installdir = ${gxx_include_dir}/${default_host_alias}$(MULTISUBDIR)/bits
130
${host_srcdir}/ctype_base.h \
131
${host_srcdir}/ctype_inline.h \
132
@@ -1488,6 +1489,7 @@
135
@-mkdir -p ${host_builddir}
136
+ @test ${default_host_alias} = ${host_alias} || ln -sf ${default_host_alias} ${host_alias}
137
@$(STAMP) stamp-${host_alias}
139
# Host includes static.
140
Index: b/src/libstdc++-v3/configure.ac
141
===================================================================
142
--- a/src/libstdc++-v3/configure.ac
143
+++ b/src/libstdc++-v3/configure.ac
148
+AC_ARG_WITH(default-host-alias,
149
+[AS_HELP_STRING([--with-default-host-alias=TRIPLET],
150
+ [specifies host triplet used for the default multilib build])],
151
+[case "${withval}" in
152
+yes) AC_MSG_ERROR(bad value ${withval} given for default host triplet) ;;
153
+no) default_host_alias='${host_alias}' ;;
154
+*) default_host_alias=${withval} ;;
155
+esac],[default_host_alias='${host_alias}'])
156
+AC_SUBST(default_host_alias)
158
# Export all the install information.
159
GLIBCXX_EXPORT_INSTALL_INFO