start working on HTML results
[pspp] / make-bin-dist.as
index 742f2bf8d7ade8d8ca168eaa3865c07ba139c90d..295b498a1661c1fbb906c14ef4f789eac27c8960 100644 (file)
@@ -1,13 +1,13 @@
 # -* autoconf -*-
 
-BP_INIT([make-binary.log])
+BP_INIT
 
 usage=["\
-Usage: $0 [OPTION]... PSPP_DIST.TAR.GZ
-where PSPP_DIST.TAR.GZ is a PSPP tarball prepared by \"make dist\".
+Usage: $0 [OPTION]... PSPP_DIST.TAR.GZ BINID
+where PSPP_DIST.TAR.GZ is a PSPP tarball prepared by \"make dist\"
+  and BINID briefly identifies the target, e.g. \"debian-squeeze-i386\".
 
 Options:
-  -b, --binid=BINID         Use BINID to identify binary.
   -h, --help                Print this usage message and exit
   -f, --force               Delete existing directory instead of aborting
 
@@ -35,7 +35,6 @@ exit_missing_arg='
 
 # Variables.
 overwrite=false
-BINID=
 
 # Parse command line.
 while test $# -gt 0 ; do
@@ -52,14 +51,6 @@ while test $# -gt 0 ; do
     --force | -f )
        overwrite=true ;;
 
-    --binid=* | -b?* )
-       BINID=$optarg
-       shift ;;
-    --binid | -b )
-       test $# = 1 && eval "$exit_missing_arg"
-       BINID=$2
-       shift; shift ;;
-
     -- )     # Stop option processing
        shift; break ;;
     - )        # Use stdin as input.
@@ -74,8 +65,9 @@ done
 
 # Find the input file.
 case $# in
-  1)
+  2)
     tarball=$1
+    BINID=$2
     ;;
   *) exec >&2
      AS_ERROR([invalid number of arguments$as_nl$help]) ;;
@@ -86,35 +78,50 @@ if test ! -e "$tarball"; then
    AS_ERROR([$tarball does not exist])
 fi
 
+if test -e "$BINID"; then
+  if test $overwrite = true; then
+    chmod -R u+w "$BINID"
+    rm -rf "$BINID"
+  else
+    exec >&2
+    AS_ERROR([$BINID exists and --force not specified])
+  fi
+fi
+
+BP_INIT_RESULTS([$BINID])
+BP_INIT_LOG([$BINID/LOG])
+
+BP_SET_VAR([BUILD_NUMBER], [@BUILD_NUMBER@])
+BP_SET_VAR([PSPP_COMMIT], [@PSPP_COMMIT@])
+BP_SET_VAR([PSPP_REPO], [@PSPP_REPO@])
+BP_SET_VAR([GNULIB_COMMIT], [@GNULIB_COMMIT@])
+BP_SET_VAR([GNULIB_REPO], [@GNULIB_REPO@])
+BP_SET_VAR([BRANCH], [@BRANCH@])
+
+BP_SET_VAR([BINID])
+
 BP_START_STEP([Determining $tarball target directory])
 DIST_DIR=`zcat $tarball | tar tf - 2>/dev/null | sed 1q | sed s,/.*,,`
 BP_SET_VAR([DIST_DIR])
 if test X$DIST_DIR = X; then
   BP_ERROR([failed to determine $tarball target directory])
-elif test -e "$DIST_DIR"; then
-  if test $overwrite = true; then
-    chmod -R u+w "$DIST_DIR"
-    rm -rf "$DIST_DIR"
-  else
-    BP_ERROR([$DIST_DIR exists and --force not specified])
-  fi
 fi
 
 BP_START_STEP([Extracting source tarball])
-BP_RUN([zcat $tarball | tar xf - >&AS_MESSAGE_LOG_FD 2>&1])
+BP_RUN([zcat $tarball | tar xkf - >&AS_MESSAGE_LOG_FD 2>&1])
 
 BP_START_STEP([Extracting tar version])
 DIST_VERSION=`$DIST_DIR/configure --version 2>/dev/null | sed 1q | sed 's/.* //'`
 BP_SET_VAR([DIST_VERSION])
 
 BP_START_STEP([Configuring])
-BP_RUN([mkdir $DIST_DIR/_build >&AS_MESSAGE_LOG_FD 2>&1])
+BP_RUN([mkdir $DIST_DIR/_$BINID >&AS_MESSAGE_LOG_FD 2>&1])
 BP_RUN([chmod -R a-w $DIST_DIR >&AS_MESSAGE_LOG_FD 2>&1])
-BP_RUN([chmod u+w $DIST_DIR/_build >&AS_MESSAGE_LOG_FD 2>&1])
-BP_TRY_RUN([(cd $DIST_DIR/_build && ../configure --enable-relocatable --prefix='') >&AS_MESSAGE_LOG_FD 2>&1])
+BP_RUN([chmod u+w $DIST_DIR/_$BINID >&AS_MESSAGE_LOG_FD 2>&1])
+BP_TRY_RUN([(cd $DIST_DIR/_$BINID && ../configure --enable-relocatable --prefix='') >&AS_MESSAGE_LOG_FD 2>&1])
 _bp_status=$?
 for base in config.h config.log; do
-  fn=$DIST_DIR/_build/$base
+  fn=$DIST_DIR/_$BINID/$base
   if test -e "$fn"; then
     BP_COPY_OUTPUT([build configuration], [$fn])
   fi
@@ -123,30 +130,21 @@ if test $_bp_status != 0; then
   AS_ECHO(["$as_me:$LINENO: command exited with status $_bp_status"]) >&AS_MESSAGE_LOG_FD
 fi
 
-BP_START_STEP([Determine target name])
-if test "X$BINID" = X; then
-  BINID=`sed -n 's/^Target: \(.*\)$/\1/p' < $DIST_DIR/_build/config.log 2>/dev/null | sed 1q`
-  if test "X$BINID" = X; then
-    BINID=`./config.guess`
-  fi
-fi  
-BP_SET_VAR([BINID])
-
 BP_START_STEP([Build])
-BP_RUN([(cd $DIST_DIR/_build && make) >&AS_MESSAGE_LOG_FD 2>&1])
+BP_RUN([(cd $DIST_DIR/_$BINID && make) >&AS_MESSAGE_LOG_FD 2>&1])
 
 BP_START_STEP([Install])
-BP_RUN([(cd $DIST_DIR/_build && make install DESTDIR=$PWD/pspp-$DIST_VERSION-$BINID) >&AS_MESSAGE_LOG_FD 2>&1])
+BP_RUN([(cd $DIST_DIR/_$BINID && make install DESTDIR=$PWD/pspp-$DIST_VERSION-$BINID) >&AS_MESSAGE_LOG_FD 2>&1])
 
 BP_START_STEP([Make binary distribution])
-BP_RUN([(cd $DIST_DIR/_build && tar cfz pspp-$DIST_VERSION-$BINID.tar.gz pspp-$DIST_VERSION-$BINID) >&AS_MESSAGE_LOG_FD 2>&1])
-BP_MOVE_OUTPUT([binary distribution], [$DIST_DIR/_build/pspp-$DIST_VERSION-$BINID.tar.gz])
+BP_RUN([(cd $DIST_DIR/_$BINID && tar cfz pspp-$DIST_VERSION-$BINID.tar.gz pspp-$DIST_VERSION-$BINID) >&AS_MESSAGE_LOG_FD 2>&1])
+BP_MOVE_OUTPUT([binary distribution], [$DIST_DIR/_$BINID/pspp-$DIST_VERSION-$BINID.tar.gz])
 
 BP_START_STEP([Check])
-BP_TRY_RUN([(cd $DIST_DIR/_build && make check) >&AS_MESSAGE_LOG_FD 2>&1])
+BP_TRY_RUN([(cd $DIST_DIR/_$BINID && make check) >&AS_MESSAGE_LOG_FD 2>&1])
 _bp_status=$?
 for base in tests/testsuite.log tests/testsuite.dir; do
-  fn=$DIST_DIR/_build/$base
+  fn=$DIST_DIR/_$BINID/$base
   if test -e "$fn"; then
     BP_MOVE_OUTPUT([test logs], [$fn])
   fi
@@ -156,10 +154,10 @@ if test $_bp_status != 0; then
 fi
 
 BP_START_STEP([Uninstall])
-BP_RUN([(cd $DIST_DIR/_build && make uninstall DESTDIR=$PWD/pspp-$DIST_VERSION-$BINID) >&AS_MESSAGE_LOG_FD 2>&1])
+BP_RUN([(cd $DIST_DIR/_$BINID && make uninstall DESTDIR=$PWD/pspp-$DIST_VERSION-$BINID) >&AS_MESSAGE_LOG_FD 2>&1])
 
 BP_START_STEP([Check uninstall])
-BP_RUN([(cd $DIST_DIR/_build && make distuninstallcheck distuninstallcheck_dir=$PWD/pspp-$DIST_VERSION-$BINID) >&AS_MESSAGE_LOG_FD 2>&1])
+BP_RUN([(cd $DIST_DIR/_$BINID && make distuninstallcheck distuninstallcheck_dir=$PWD/pspp-$DIST_VERSION-$BINID) >&AS_MESSAGE_LOG_FD 2>&1])
 
 # distcleancheck