diff options
Diffstat (limited to 'libbutl/b.mxx')
-rw-r--r-- | libbutl/b.mxx | 115 |
1 files changed, 0 insertions, 115 deletions
diff --git a/libbutl/b.mxx b/libbutl/b.mxx deleted file mode 100644 index 9e12711..0000000 --- a/libbutl/b.mxx +++ /dev/null @@ -1,115 +0,0 @@ -// file : libbutl/b.mxx -*- C++ -*- -// license : MIT; see accompanying LICENSE file - -#ifndef __cpp_modules_ts -#pragma once -#endif - -// C includes. - -#ifndef __cpp_lib_modules_ts -#include <string> -#include <vector> -#include <cstddef> // size_tu -#include <cstdint> // uint16_t -#include <stdexcept> // runtime_error -#include <functional> -#endif - -// Other includes. - -#ifdef __cpp_modules_ts -export module butl.b; -#ifdef __cpp_lib_modules_ts -import std.core; -#endif -import butl.url; -import butl.path; -import butl.process; -import butl.optional; -import butl.project_name; -import butl.standard_version; -#else -#include <libbutl/url.mxx> -#include <libbutl/path.mxx> -#include <libbutl/process.mxx> -#include <libbutl/optional.mxx> -#include <libbutl/project-name.mxx> -#include <libbutl/standard-version.mxx> -#endif - -#include <libbutl/export.hxx> - -LIBBUTL_MODEXPORT namespace butl -{ - class LIBBUTL_SYMEXPORT b_error: public std::runtime_error - { - public: - // Build system program exit information. May be absent if the error - // occured before the process has been started. - // - // Can be used by the caller to decide if to print the error message to - // stderr. Normally, it is not required if the process exited normally - // with non-zero code, since presumably it has issued diagnostics. Note - // that the normal() function can be used to check for this. - // - optional<process_exit> exit; - - // Return true if the build2 process exited normally with non-zero code. - // - bool - normal () const {return exit && exit->normal () && !*exit;} - - explicit - b_error (const std::string& description, optional<process_exit> = nullopt); - }; - - // Run `b info: <project-dir>` command and parse and return the build2 - // project information it prints to stdout. Throw b_error on error. - // - // Unless you need information that may come from external modules - // (operations, meta-operations, etc), pass false as the ext_mods argument, - // which results in passing --no-external-modules to the build2 program and - // speeds up its execution. - // - // You can also specify the build2 verbosity level, command line callback - // (see process_run_callback() for details), build program search details - // and additional options. - // - struct b_project_info - { - using url_type = butl::url; - - struct subproject - { - project_name name; // Empty if anonymous. - dir_path path; // Relative to the project root. - }; - - project_name project; - standard_version version; - std::string summary; - url_type url; - - dir_path src_root; - dir_path out_root; - - dir_path amalgamation; // Relative to project root and - // empty if not amalgmated. - std::vector<subproject> subprojects; - - std::vector<std::string> operations; - std::vector<std::string> meta_operations; - }; - - using b_callback = void (const char* const args[], std::size_t n); - - LIBBUTL_SYMEXPORT b_project_info - b_info (const dir_path& project, - bool ext_mods, - std::uint16_t verb = 1, - const std::function<b_callback>& cmd_callback = {}, - const path& program = path ("b"), - const dir_path& search_fallback = {}, - const std::vector<std::string>& options = {}); -} |