#! /bin/sh
# $Id$
-customss="--enable-static --disable-shared"
-if [ "$1" = "--origss" ];then
- customss=
- shift
-fi
+renice +19 -p $$; ionice -c3 -p $$
+customss="--enable-static --disable-shared"
customm="-m64"
-if [ "$1" = "--origm" ];then
- customm=
- shift
-fi
-
+target=
+targets=
configure="./configure"
-if [ "${1#*/configure}" != "$1" ];then
- configure="$1"
- shift
-fi
+debug="-ggdb2"
+ldflags="-lmcheck"
+fast=false
+
+while true
+do
+ if [ "$1" = "--origss" ];then
+ customss=
+ shift
+ continue
+ fi
+ if [ "$1" = "--fast" ];then
+ fast=true
+ shift
+ continue
+ fi
+ if [ "$1" = "--shared" ];then
+ customss="--disable-static --enable-shared"
+ shift
+ continue
+ fi
+
+ if [ "$1" = "-m" ];then
+ customm=
+ shift
+ continue
+ fi
+ if [ "$1" = "-m32" ];then
+ customm=-m32
+ case `uname -m` in
+ i?86|x86_64|ia64) target=i386-unknown-linux-gnu ;;
+ ppc*) target=powerpc64-unknown-linux-gnu ;;
+ s390*) target=s390-unknown-linux-gnu ;;
+ esac
+ shift
+ continue
+ fi
+
+ if [ "${1#*/configure}" != "$1" ];then
+ configure="$1"
+ shift
+ continue
+ fi
+ if [ "$1" = "-s" ];then
+ # -O0 is important to override GCC -O2.
+ debug="-O0 -s"
+ ldflags=""
+ shift
+ continue
+ fi
+
+ break
+done
+
+rm -f errs1.ok
(
set -ex
- rm -f config.cache
+ find -name config.cache|xargs rm -f
+
+ # sourceware.org?
+ if test -f `dirname $configure`/bfd/elf64-x86-64.c \
+ -o -f `dirname $configure`/gcc/reload.c;then
+ maintainer=""
+ else
+ :
+# maintainer="--enable-maintainer-mode"
+ fi
+ if test -f `dirname $configure`/bfd/elf64-x86-64.c;then
+ test -f g77 || (test -f /usr/bin/gfortran && ln -s /usr/bin/gfortran g77)
+ fi
+ if ! $fast;then
+ targets="$targets --enable-64-bit-bfd"
+ fi
+ if ! $fast && test -f `dirname $configure`/bfd/elf64-x86-64.c -a '(' -d CVS -o -d .git ')';then
+ targets="$targets --enable-targets=all"
+ fi
+
+ if test -f `dirname $configure`/gcc/reload.c;then
+ werror="--disable-werror"
+ customm=""
+ customss="--disable-static --enable-shared"
+ else
+ werror=""
+ fi
+
test -z "$CC" && CC=gcc
: >errs1.c
for flags in \
- "-ggdb2 -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4" \
- "-ggdb2 -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions" \
+ "$debug -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4" \
+ "$debug -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions" \
"" \
;do
if [ -z "$flags" ];then
export CFLAGS="$flags"
export CXXFLAGS="$flags"
export GCJFLAGS="$flags"
- time nice "$configure" $customss --enable-debug --enable-maintainer-mode "$@"
+ export CFLAGS_FOR_TARGET="$flags"
+ export CXXFLAGS_FOR_TARGET="$flags"
+ export LDFLAGS="$ldflags"
+
+ time nice "$configure" $target $targets $customss --enable-debug $maintainer $werror "$@"
+ touch errs1.ok
) 2>&1|tee errs1
+test -f errs1.ok
+rc=$?
+rm -f errs1.ok
+exit $rc