now can build source and binary
[pspp] / build-pspp.m4
index 7f1f3fa12667fd31bb697d7364cc73a353b58319..2068f7a172c13c96e17e416ca1163d4e2ec3805e 100644 (file)
@@ -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(["\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,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])
+   }])