# DP: - Disable some biarch libraries for biarch builds. # DP: - Fix multilib builds on kernels which don't support all multilibs. Index: b/src/config-ml.in =================================================================== --- a/src/config-ml.in +++ b/src/config-ml.in @@ -475,6 +475,25 @@ powerpc*-*-* | rs6000*-*-*) ;; esac +if [ -z "$biarch_multidir_names" ]; then + biarch_multidir_names="libiberty libstdc++-v3 libgfortran libmudflap libssp libffi libobjc libgomp" + echo "WARNING: biarch_multidir_names is unset. Use default value:" + echo " $biarch_multidir_names" +fi +ml_srcbase=`basename $ml_realsrcdir` +old_multidirs="${multidirs}" +multidirs="" +for x in ${old_multidirs}; do + case " $x " in + " 32 "|" n32 "|" x32 "|" 64 "|" hf "|" sf "|" m4-nofpu ") + case "$biarch_multidir_names" in + *"$ml_srcbase"*) multidirs="${multidirs} ${x}" ;; + esac + ;; + *) multidirs="${multidirs} ${x}" ;; + esac +done + # Remove extraneous blanks from multidirs. # Tests like `if [ -n "$multidirs" ]' require it. multidirs=`echo "$multidirs" | sed -e 's/^[ ][ ]*//' -e 's/[ ][ ]*$//' -e 's/[ ][ ]*/ /g'` @@ -891,9 +910,20 @@ if [ -n "${multidirs}" ] && [ -z "${ml_n fi fi + ml_configure_args= + for arg in ${ac_configure_args} + do + case $arg in + *CC=*) ml_configure_args=${ml_config_env} ;; + *CXX=*) ml_configure_args=${ml_config_env} ;; + *GCJ=*) ml_configure_args=${ml_config_env} ;; + *) ;; + esac + done + if eval ${ml_config_env} ${ml_config_shell} ${ml_recprog} \ --with-multisubdir=${ml_dir} --with-multisrctop=${multisrctop} \ - "${ac_configure_args}" ${ml_config_env} ${ml_srcdiroption} ; then + "${ac_configure_args}" ${ml_configure_args} ${ml_config_env} ${ml_srcdiroption} ; then true else exit 1