summaryrefslogtreecommitdiffstats
path: root/src/boost/tools/build/src/engine/startup.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/boost/tools/build/src/engine/startup.h')
-rw-r--r--src/boost/tools/build/src/engine/startup.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/boost/tools/build/src/engine/startup.h b/src/boost/tools/build/src/engine/startup.h
new file mode 100644
index 000000000..01c7d43ee
--- /dev/null
+++ b/src/boost/tools/build/src/engine/startup.h
@@ -0,0 +1,46 @@
+/*
+Copyright 2020-2022 René Ferdinand Rivera Morell
+Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE.txt or https://www.bfgroup.xyz/b2/LICENSE.txt)
+*/
+
+#ifndef B2_STARTUP_H
+#define B2_STARTUP_H
+
+#include "config.h"
+#include "frames.h"
+#include <cstdlib>
+
+namespace b2 {
+namespace startup {
+ void load_builtins();
+ LIST* builtin_boost_build(FRAME* frame, int flags);
+ bool bootstrap(FRAME* frame);
+}
+
+enum class exit_result : int {
+#ifdef EXIT_SUCCESS
+ success = EXIT_SUCCESS,
+#else
+ success = 0,
+#endif
+#ifdef EXIT_FAILURE
+ failure = EXIT_FAILURE
+#else
+ failure = 1
+#endif
+};
+
+inline void clean_exit(int exit_code)
+{
+ throw(exit_result) exit_code;
+}
+
+inline void clean_exit(exit_result exit_code)
+{
+ throw exit_code;
+}
+
+} // namespace b2
+
+#endif