as released as part of build91
[pspp] / build-pspp.m4
index 7f1f3fa12667fd31bb697d7364cc73a353b58319..8a672ad4bf56a0927368e0136e26073e73de387a 100644 (file)
@@ -1,24 +1,22 @@
+# -*- autoconf -*-
+
 m4_define([_m4_divert(INIT_PREPARE)],   300)
 
 m4_pattern_forbid([^_?BP_])
 m4_pattern_allow([_BP_EOF])
 
-# BP_INIT([LOGFILE])
-# ------------------
-# Initializes and starts logging to LOGFILE.
+# BP_INIT
+# -------
 m4_define([BP_INIT],
 [AS_INIT
-_BP_INIT_LOG([$1])
-_BP_INIT_RESULTS
 AS_PREPARE
 ])
 
-# _BP_INIT_LOG([LOGFILE])
+# BP_INIT_LOG([LOGFILE])
 # -----------------------
 # Initialize the log file descriptor and write header to it.
-m4_define([_BP_INIT_LOG],
-[m4_divert_text([INIT_PREPARE],
-[m4_define([BP_LOG_FILE], [$1])
+m4_define([BP_INIT_LOG],
+[m4_define([BP_LOG_FILE], [$1])dnl
 m4_define([AS_MESSAGE_LOG_FD], 5)dnl
 cat >$1 <<_BPEOF
 This file is a build log.
@@ -34,18 +32,19 @@ AS_UNAME >&AS_MESSAGE_LOG_FD
 cat >&AS_MESSAGE_LOG_FD <<_BPEOF
 
 _BPEOF
-])])# _BP_INIT_LOG
+])
 
-# _BP_INIT_RESULTS
-m4_define([_BP_INIT_RESULTS],
-[AS_MKDIR_P([results])
+# BP_INIT_RESULTS([RESULTSDIR])
+m4_define([BP_INIT_RESULTS],
+[m4_define([BP_RESULTS_DIR], [$1])dnl
+AS_MKDIR_P([BP_RESULTS_DIR])
 m4_define([BP_VARS_FD], 6)dnl
-exec BP_VARS_FD>results/VARS
+exec BP_VARS_FD>BP_RESULTS_DIR/VARS
 ])
 
-# _BP_INIT_DEFAULTS
+# BP_INIT_DEFAULTS
 # -----------------
-m4_define([_BP_INIT_DEFAULTS],
+m4_define([BP_INIT_DEFAULTS],
 [m4_divert_push([DEFAULTS])dnl
 
 test -n "$DJDIR" || exec AS_ORIGINAL_STDIN_FD<&0 </dev/null
@@ -55,9 +54,14 @@ exec AS_MESSAGE_FD>&1
 # BP_START_STEP([MESSAGE])
 m4_define([BP_START_STEP],
   [AS_ECHO(["$1"])
-AS_ECHO(["\f@&t@
-$1"]) >&AS_MESSAGE_LOG_FD
-])
+{
+  _bp_line=`AS_ECHO("$1") | sed 's/./-/g'`
+  echo
+  AS_ECHO("@%:@@%:@ $_bp_line @%:@@%:@")
+  AS_ECHO("@%:@@%:@ $1 @%:@@%:@")
+  AS_ECHO("@%:@@%:@ $_bp_line @%:@@%:@")
+  echo
+} >&AS_MESSAGE_LOG_FD])
 
 # BP_SET_VAR(VARIABLE, [VALUE])
 m4_define([BP_SET_VAR],
@@ -69,20 +73,21 @@ AS_ECHO(["  $1=$[$1]"])])
 
 # BP_OUTPUT(DESCRIPTION, FILE)
 m4_define([BP_OUTPUT],
-[BP_START_STEP([Saving `AS_BASENAME([$2])`: $1])])
+[_bp_basename=`AS_BASENAME([$2])`
+BP_START_STEP([Saving $1: $_bp_basename])])
 
 # BP_MOVE_OUTPUT(DESCRIPTION, FILE)
 m4_define([BP_MOVE_OUTPUT],
 [BP_OUTPUT([$1], [$2])
-BP_RUN([mv $2 results/ >&AS_MESSAGE_LOG_FD 2>&1])])
+BP_RUN([mv $2 BP_RESULTS_DIR/ >&AS_MESSAGE_LOG_FD 2>&1])])
 
 # BP_COPY_OUTPUT(DESCRIPTION, FILE)
 m4_define([BP_COPY_OUTPUT],
 [BP_OUTPUT([$1], [$2])
-BP_RUN([cp -R $2 results/ >&AS_MESSAGE_LOG_FD 2>&1])])
+BP_RUN([cp -R $2 BP_RESULTS_DIR/ >&AS_MESSAGE_LOG_FD 2>&1])])
 
-# BP_RUN_LOG(COMMAND)
-m4_define([BP_RUN_LOG],
+# BP_TRY_RUN(COMMAND)
+m4_define([BP_TRY_RUN],
 [cat <<_BP_EOF >&AS_MESSAGE_LOG_FD
 $as_me:$LINENO: $1
 _BP_EOF
@@ -91,14 +96,24 @@ $1
 
 # BP_RUN(COMMAND)
 m4_define([BP_RUN],
-[BP_RUN_LOG([$1])
+[BP_TRY_RUN([$1])
 _bp_status=$?
 if test $_bp_status != 0; then
-  AS_ECHO(["Build failed, refer to BP_LOG_FILE for details"])
   AS_ECHO(["$as_me:$LINENO: command exited with status $_bp_status"]) >&AS_MESSAGE_LOG_FD
-  AS_EXIT([1])
+  BP_FAIL
 fi])
 
+# BP_FAIL
+m4_define([BP_FAIL],
+[BP_ERROR(["Build failed, refer to BP_LOG_FILE for details"])])
+
 # BP_FINISH
 m4_define([BP_FINISH],
-[BP_START_STEP([success])])
+[BP_START_STEP([Success])])
+
+# BP_ERROR(MESSAGE)
+m4_define([BP_ERROR], 
+  [{
+     exec >&2
+     AS_ERROR([$1])
+   }])