#! /bin/sh # $Id$ customss="--enable-static --disable-shared" customm="-m64" target= targets= configure="./configure" debug="-ggdb2" ldflags="" 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 target=i386-unknown-linux-gnu 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" shift continue fi break done ( set -ex 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 && test -f `dirname $configure`/bfd/elf64-x86-64.c -a '(' -d CVS -o -d .git ')';then targets="--enable-targets=all" ldflags="-lmcheck" 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 \ "$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 rm -f errs1.c echo >&2 "flags error" exit 1 fi "$CC" $flags -c errs1.c -o /dev/null && break done if test -n "$customm" && "$CC" $customm -c errs1.c -o /dev/null;then flags="$customm $flags" fi rm -f errs1.c export CFLAGS="$flags" export CXXFLAGS="$flags" export GCJFLAGS="$flags" export CFLAGS_FOR_TARGET="$flags" export CXXFLAGS_FOR_TARGET="$flags" export LDFLAGS="$ldflags" time nice "$configure" $target $targets $customss --enable-debug $maintainer $werror "$@" ) 2>&1|tee errs1