summaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2018-12-25 09:53:32 -0500
committermidipix <writeonce@midipix.org>2018-12-25 09:54:46 -0500
commit17fe8204ccb9a1765a30eca156fa6f5603f3be0d (patch)
treecb50fb60ca69845f12aa2a4d514aa429ab130cde /configure
parent67528a8c4190050dcd06ab9d707432c1b21c0fa2 (diff)
downloadbfirm-17fe8204ccb9a1765a30eca156fa6f5603f3be0d.tar.bz2
bfirm-17fe8204ccb9a1765a30eca156fa6f5603f3be0d.tar.xz
build system: configure: handle fatal errors more gracefully.
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure26
1 files changed, 25 insertions, 1 deletions
diff --git a/configure b/configure
index e88666c..abb0750 100755
--- a/configure
+++ b/configure
@@ -2,6 +2,8 @@
set -eu
+trap config_failure 1 2 EXIT
+
usage()
{
cat "$mb_project_dir"/config.usage
@@ -182,6 +184,8 @@ verify_build_directory()
mb_project_dir='.'
fi
fi
+
+ rm -f Makefile Makefile.host Makefile.tmp Makefile.failed
}
@@ -682,6 +686,26 @@ config_status()
printf "\nconfiguration completed successfully.\n\n"
}
+
+config_failure()
+{
+ if [ -f Makefile ]; then
+ mb_error='failed to use the generated Makefile.'
+ printf '\n%s: error: %s\n' "${0}" "$mb_error" >&2
+ mv Makefile Makefile.failed
+ fi
+
+ exit 2
+}
+
+
+config_success()
+{
+ trap '' EXIT
+ exit 0
+}
+
+
# one: init
init_vars
verify_build_directory
@@ -942,4 +966,4 @@ config_status
# all done
-exit 0
+config_success