Rename.
[nethome.git] / bin / errs12
diff --git a/bin/errs12 b/bin/errs12
new file mode 100755 (executable)
index 0000000..de5912d
--- /dev/null
@@ -0,0 +1,134 @@
+#! /bin/sh
+# $Id$
+
+renice +19 -p $$; ionice -c3 -p $$
+
+customss="--enable-static --disable-shared"
+customm="-m64"
+target=
+targets=
+configure="./configure"
+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
+       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                                                                                                    \
+               "$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"
+
+       ctags
+       test -d gdb && (cd gdb; ctags; cd testsuite; ctags; cd ../gdbserver; ctags)
+
+       time nice "$configure" $target $targets $customss --enable-debug --disable-sim $maintainer $werror --with-separate-debug-dir=/usr/lib/debug "$@"
+
+       errs2
+
+       touch errs1.ok
+       ) 2>&1|tee errs1
+test -f errs1.ok
+rc=$?
+rm -f errs1.ok
+exit $rc