X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=build-pspp.m4;fp=build-pspp.m4;h=2068f7a172c13c96e17e416ca1163d4e2ec3805e;hb=48f7e96652a19782e340a0c20eaa0bc984139073;hp=7f1f3fa12667fd31bb697d7364cc73a353b58319;hpb=9739c9678ab7bae8a0ebd67e9f3d2191d7ae0d31;p=pspp diff --git a/build-pspp.m4 b/build-pspp.m4 index 7f1f3fa126..2068f7a172 100644 --- a/build-pspp.m4 +++ b/build-pspp.m4 @@ -1,3 +1,5 @@ +# -*- autoconf -*- + m4_define([_m4_divert(INIT_PREPARE)], 300) m4_pattern_forbid([^_?BP_]) @@ -55,9 +57,14 @@ exec AS_MESSAGE_FD>&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,7 +76,8 @@ 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 $_bp_basename: $1])]) # BP_MOVE_OUTPUT(DESCRIPTION, FILE) m4_define([BP_MOVE_OUTPUT], @@ -81,8 +89,8 @@ m4_define([BP_COPY_OUTPUT], [BP_OUTPUT([$1], [$2]) BP_RUN([cp -R $2 results/ >&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 +99,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_ERROR(MESSAGE) +m4_define([BP_ERROR], + [{ + exec >&2 + AS_ERROR([$1]) + }])