diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2016-01-05 11:55:15 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2016-01-05 11:55:15 +0200 |
commit | 9fb791e9fad6c63fc1dac49f4d05ae63b8a3db9b (patch) | |
tree | d60322d4382ca5f97b676c5abe2e39524f35eab4 /build/context | |
parent | f159b1dac68c8714f7ba71ca168e3b695891aad9 (diff) |
Rename build directory/namespace to build2
Diffstat (limited to 'build/context')
-rw-r--r-- | build/context | 165 |
1 files changed, 0 insertions, 165 deletions
diff --git a/build/context b/build/context deleted file mode 100644 index b0ac6dd..0000000 --- a/build/context +++ /dev/null @@ -1,165 +0,0 @@ -// file : build/context -*- C++ -*- -// copyright : Copyright (c) 2014-2015 Code Synthesis Ltd -// license : MIT; see accompanying LICENSE file - -#ifndef BUILD_CONTEXT -#define BUILD_CONTEXT - -#include <string> -#include <ostream> -#include <cstdint> // uint64_t - -#include <butl/filesystem> - -#include <build/types> -#include <build/utility> -#include <build/operation> - -namespace build -{ - class scope; - class file; - - extern dir_path work; - extern dir_path home; - - extern string_pool path_pool; - extern string_pool extension_pool; - extern string_pool project_name_pool; - - // Current action (meta/operation). - // - extern const meta_operation_info* current_mif; - extern const operation_info* current_inner_oif; - extern const operation_info* current_outer_oif; - - extern execution_mode current_mode; - - // Total number of dependency relationships in the current action. - // Together with the target::dependents count it is incremented - // during the rule search & match phase and is decremented during - // execution with the expectation of it reaching 0. Used as a sanity - // check. - // - extern std::uint64_t dependency_count; - - // Reset the dependency state. In particular, this removes all the - // targets, scopes, and variable names. - // - void - reset (); - - // The dual interface wrapper for the {mk,rm}{file,dir}() functions - // below that allows you to use it as a true/false return or a more - // detailed enum from <butl/filesystem> - // - template <typename T> - struct fs_status - { - T v; - fs_status (T v): v (v) {}; - operator T () const {return v;} - explicit operator bool () const {return v == T::success;} - }; - - // Create the directory and print the standard diagnostics. Note that - // this implementation is not suitable if it is expected that the - // directory will exist in the majority of case and performance is - // important. See the fsdir{} rule for details. - // - fs_status<butl::mkdir_status> - mkdir (const dir_path&); - - fs_status<butl::mkdir_status> - mkdir_p (const dir_path&); - - // Remove the file and print the standard diagnostics. The second - // argument is only used in diagnostics, to print the target name. - // Passing the path for target will result in the relative path - // being printed. - // - template <typename T> - fs_status<butl::rmfile_status> - rmfile (const path&, const T& target); - - inline fs_status<butl::rmfile_status> - rmfile (const path& f) {return rmfile (f, f);} - - // Similar to rmfile() but for directories. - // - template <typename T> - fs_status<butl::rmdir_status> - rmdir (const dir_path&, const T& target); - - inline fs_status<butl::rmdir_status> - rmdir (const dir_path& d) {return rmdir (d, d);} - - // Note that this function returns not_empty if we try to remove - // a working directory. - // - fs_status<butl::rmdir_status> - rmdir_r (const dir_path&); - - // Return the src/out directory corresponding to the given out/src. The - // passed directory should be a sub-directory of out/src_root. - // - dir_path - src_out (const dir_path& out, scope&); - - dir_path - src_out (const dir_path& out, - const dir_path& out_root, const dir_path& src_root); - - dir_path - out_src (const dir_path& src, scope&); - - dir_path - out_src (const dir_path& src, - const dir_path& out_root, const dir_path& src_root); - - // If possible and beneficial, translate an absolute, normalized path - // into relative to the relative_base directory, which is normally - // work. Note that if the passed path is the same as relative_base, - // then this function returns empty path. - // - template <typename K> - basic_path<char, K> - relative (const basic_path<char, K>&); - - // By default this points to work. Setting this to something else - // should only be done in tightly controlled, non-parallel - // situations (see dump). If base is empty, then relative() - // returns the original path. - // - extern const dir_path* relative_base; - - // In addition to calling relative(), this function also uses shorter - // notations such as '~/'. - // - std::string - diag_relative (const path&); - - // As above but also adds trailing '/'. If the path is the same as - // base, returns "./" if current is true and empty string otherwise. - // - std::string - diag_relative (const dir_path&, bool current = true); - - // Action phrases, e.g., "configure update exe{foo}", "updating exe{foo}", - // and "updating exe{foo} is configured". - // - class target; - - std::string - diag_do (const action&, const target&); - - std::string - diag_doing (const action&, const target&); - - std::string - diag_done (const action&, const target&); -} - -#include <build/context.txx> - -#endif // BUILD_CONTEXT |