X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=build-pspp.m4;h=8a672ad4bf56a0927368e0136e26073e73de387a;hb=refs%2Fheads%2Fbuild2;hp=7f1f3fa12667fd31bb697d7364cc73a353b58319;hpb=69ed81b2ad13646d885c5f18604ecc5633404ddf;p=pspp diff --git a/build-pspp.m4 b/build-pspp.m4 index 7f1f3fa126..8a672ad4bf 100644 --- a/build-pspp.m4 +++ b/build-pspp.m4 @@ -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 &1 # BP_START_STEP([MESSAGE]) m4_define([BP_START_STEP], [AS_ECHO(["$1"]) -AS_ECHO([" @&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]) + }])