X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=build-pspp.m4;fp=build-pspp.m4;h=7f1f3fa12667fd31bb697d7364cc73a353b58319;hb=69ed81b2ad13646d885c5f18604ecc5633404ddf;hp=0000000000000000000000000000000000000000;hpb=a6f5a05fa098aeb35cd184682c271244f05907e8;p=pspp diff --git a/build-pspp.m4 b/build-pspp.m4 new file mode 100644 index 0000000000..7f1f3fa126 --- /dev/null +++ b/build-pspp.m4 @@ -0,0 +1,104 @@ +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. +m4_define([BP_INIT], +[AS_INIT +_BP_INIT_LOG([$1]) +_BP_INIT_RESULTS +AS_PREPARE +]) + +# _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([AS_MESSAGE_LOG_FD], 5)dnl +cat >$1 <<_BPEOF +This file is a build log. + +Invocation command line was + + $ $[0] $[@] + +_BPEOF +exec AS_MESSAGE_LOG_FD>>$1 +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]) +m4_define([BP_VARS_FD], 6)dnl +exec BP_VARS_FD>results/VARS +]) + +# _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_SET_VAR(VARIABLE, [VALUE]) +m4_define([BP_SET_VAR], + [m4_if([$2], [], [], [$1='$2' +])dnl +AS_ECHO(["$1=$[$1]"]) >&BP_VARS_FD +AS_ECHO(["$as_me:$LINENO: $1=$[$1]"]) >&AS_MESSAGE_LOG_FD +AS_ECHO([" $1=$[$1]"])]) + +# BP_OUTPUT(DESCRIPTION, FILE) +m4_define([BP_OUTPUT], +[BP_START_STEP([Saving `AS_BASENAME([$2])`: $1])]) + +# 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_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_LOG(COMMAND) +m4_define([BP_RUN_LOG], +[cat <<_BP_EOF >&AS_MESSAGE_LOG_FD +$as_me:$LINENO: $1 +_BP_EOF +$1 +]) + +# BP_RUN(COMMAND) +m4_define([BP_RUN], +[BP_RUN_LOG([$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]) +fi]) + +# BP_FINISH +m4_define([BP_FINISH], +[BP_START_STEP([success])])