+# -*- 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.
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
# 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],
# 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
# 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])
+ }])