gentoo: use /var/run for new /run compatibility
[util-vserver.git] / build-all
index 86eb12a..9f7c236 100755 (executable)
--- a/build-all
+++ b/build-all
 
 set -e
 
+BDIR=Build-$(hostname)
 J=-j8
 
-confflags="-C --enable-maintainer-mode --prefix=/usr --sysconfdir=/etc --localstatedir=/var"
+confflags="-C --enable-maintainer-mode --prefix=/usr --sysconfdir=/etc --localstatedir=/var $CONFIGURE_FLAGS"
 configure="`pwd`/configure $confflags"
 make=eval\ "${CLEAN:+make $J silent.clean;} \
            echo -e \"== executing 'make all'...\" && \
@@ -28,7 +29,13 @@ make=eval\ "${CLEAN:+make $J silent.clean;} \
            make $J ${SILENT:+-s silent.}check"
 
 LANG=C
-CPPFLAGS='-D_FORTIFY_SOURCE=99'
+
+case $(arch) in
+  (x86_64)     ARCH_CFLAGS=' -m64';;
+  (i?86)       ARCH_CFLAGS=' -m32';;
+esac
+
+CPPFLAGS=-D_FORTIFY_SOURCE=99$ARCH_CFLAGS
 
 ## Usage: xtermTitle <title>
 function xtermTitle
@@ -49,8 +56,8 @@ function operate()
     
     mkdir -p $d && cd $d
 
-    test -z "$CLEAN" || rm -f config.cache
-    test -e Makefile || CCACHE_DISABLE=1 $configure "$@"
+    test -z "$CLEAN"                         || rm -f config.cache
+    test -e Makefile -a -z "$CONFIGURE_FLAGS"|| CCACHE_DISABLE=1 $configure "$@"
     $make
     cd -
 }
@@ -58,7 +65,10 @@ function operate()
 case "$1" in
     dist)
        test -e Makefile || \
-           CFLAGS='-O0 -g3' CXXFLAGS='-O0 -g3' CPPFLAGS=$CPPFLAGS \
+           env \
+           CFLAGS="-O0 -g3$ARCH_CFLAGS"   \
+           CXXFLAGS="-O0 -g3$ARCH_CFLAGS" \
+           CPPFLAGS="$CPPFLAGS" \
            ./configure $confflags
        $make
        exit
@@ -80,17 +90,21 @@ case "$1" in
        }
 esac
 
-test -d "Build" || {
-    d=$(mktemp -d /tmp/build-ensc.XXXXXX)
-    rm -f Build
-    ln -sf $d Build
+test -d "$BDIR" || {
+    d=$(mktemp -t -d build-ensc.XXXXXX)
+    rm -f $BDIR
+    ln -sf $d $BDIR
 }
 
-operate Build/diet-noopt                                       CPPFLAGS=$CPPFLAGS CFLAGS='-O0 -g3' CXXFLAGS='-O0 -g3'
-operate Build/diet-opt     --enable-release                    CPPFLAGS=$CPPFLAGS
-operate Build/nodiet-noopt --disable-dietlibc                  CPPFLAGS=$CPPFLAGS CFLAGS='-O0 -g3' CXXFLAGS='-O0 -g3' 
-operate Build/nodiet-opt   --enable-release --disable-dietlibc CPPFLAGS=$CPPFLAGS
-operate Build/gcc32-opt    --enable-release --disable-dietlibc CPPFLAGS=$CPPFLAGS CC='ccache gcc32'  CXX='ccache g++'
+noopt_flags=-O0\ -g3
+opt_flags=-O2\ -g
+ldflags=$ARCH_CFLAGS
+
+operate $BDIR/diet-noopt                                       CPPFLAGS="$CPPFLAGS" CFLAGS="$noopt_flags" CXXFLAGS="$noopt_flags" LDFLAGS="$ldflags"
+operate $BDIR/diet-opt     --enable-release                    CPPFLAGS="$CPPFLAGS" CFLAGS="$opt_flags"   CXXFLAGS="$opt_flags"   LDFLAGS="$ldflags"
+operate $BDIR/nodiet-noopt --disable-dietlibc                  CPPFLAGS="$CPPFLAGS" CFLAGS="$noopt_flags" CXXFLAGS="$noopt_flags" LDFLAGS="$ldflags"
+operate $BDIR/nodiet-opt   --enable-release --disable-dietlibc CPPFLAGS="$CPPFLAGS" CFLAGS="$opt_flags"   CXXFLAGS="$opt_flags"   LDFLAGS="$ldflags"
+#operate $BDIR/gcc32-opt    --enable-release --disable-dietlibc CPPFLAGS="$CPPFLAGS" CC='ccache gcc32'  CXX='ccache g++' CFLAGS="$opt_flags"   CXXFLAGS="$opt_flags" LDFLAGS="$ldflags"
 
-operate Build/diet-opt-api   --enable-release --enable-apis=NOLEGACY                    CPPFLAGS=$CPPFLAGS
-operate Build/nodiet-opt-api --enable-release --enable-apis=NOLEGACY --disable-dietlibc CPPFLAGS=$CPPFLAGS
+operate $BDIR/diet-opt-api   --enable-release --enable-apis=NOLEGACY                    CPPFLAGS="$CPPFLAGS" CFLAGS="$opt_flags"   CXXFLAGS="$opt_flags" LDFLAGS="$ldflags"
+operate $BDIR/nodiet-opt-api --enable-release --enable-apis=NOLEGACY --disable-dietlibc CPPFLAGS="$CPPFLAGS" CFLAGS="$opt_flags"   CXXFLAGS="$opt_flags" LDFLAGS="$ldflags"