From 70317569c6dcd9809ed4a8c425777e653ec6ca08 Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Mon, 1 May 2017 18:24:31 +0300 Subject: Add hxx extension for headers --- build2/install/init | 31 ------------- build2/install/init.cxx | 20 ++++----- build2/install/init.hxx | 31 +++++++++++++ build2/install/operation | 22 ---------- build2/install/operation.cxx | 2 +- build2/install/operation.hxx | 22 ++++++++++ build2/install/rule | 101 ------------------------------------------- build2/install/rule.cxx | 14 +++--- build2/install/rule.hxx | 101 +++++++++++++++++++++++++++++++++++++++++++ build2/install/utility | 57 ------------------------ build2/install/utility.hxx | 57 ++++++++++++++++++++++++ 11 files changed, 229 insertions(+), 229 deletions(-) delete mode 100644 build2/install/init create mode 100644 build2/install/init.hxx delete mode 100644 build2/install/operation create mode 100644 build2/install/operation.hxx delete mode 100644 build2/install/rule create mode 100644 build2/install/rule.hxx delete mode 100644 build2/install/utility create mode 100644 build2/install/utility.hxx (limited to 'build2/install') diff --git a/build2/install/init b/build2/install/init deleted file mode 100644 index 9a16111..0000000 --- a/build2/install/init +++ /dev/null @@ -1,31 +0,0 @@ -// file : build2/install/init -*- C++ -*- -// copyright : Copyright (c) 2014-2017 Code Synthesis Ltd -// license : MIT; see accompanying LICENSE file - -#ifndef BUILD2_INSTALL_INIT -#define BUILD2_INSTALL_INIT - -#include -#include - -#include - -namespace build2 -{ - namespace install - { - void - boot (scope&, const location&, unique_ptr&); - - bool - init (scope&, - scope&, - const location&, - unique_ptr&, - bool, - bool, - const variable_map&); - } -} - -#endif // BUILD2_INSTALL_INIT diff --git a/build2/install/init.cxx b/build2/install/init.cxx index 0966d82..6a5114d 100644 --- a/build2/install/init.cxx +++ b/build2/install/init.cxx @@ -2,19 +2,19 @@ // copyright : Copyright (c) 2014-2017 Code Synthesis Ltd // license : MIT; see accompanying LICENSE file -#include +#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include -#include +#include -#include -#include -#include +#include +#include +#include using namespace std; using namespace butl; diff --git a/build2/install/init.hxx b/build2/install/init.hxx new file mode 100644 index 0000000..98b4205 --- /dev/null +++ b/build2/install/init.hxx @@ -0,0 +1,31 @@ +// file : build2/install/init.hxx -*- C++ -*- +// copyright : Copyright (c) 2014-2017 Code Synthesis Ltd +// license : MIT; see accompanying LICENSE file + +#ifndef BUILD2_INSTALL_INIT_HXX +#define BUILD2_INSTALL_INIT_HXX + +#include +#include + +#include + +namespace build2 +{ + namespace install + { + void + boot (scope&, const location&, unique_ptr&); + + bool + init (scope&, + scope&, + const location&, + unique_ptr&, + bool, + bool, + const variable_map&); + } +} + +#endif // BUILD2_INSTALL_INIT_HXX diff --git a/build2/install/operation b/build2/install/operation deleted file mode 100644 index 02d406e..0000000 --- a/build2/install/operation +++ /dev/null @@ -1,22 +0,0 @@ -// file : build2/install/operation -*- C++ -*- -// copyright : Copyright (c) 2014-2017 Code Synthesis Ltd -// license : MIT; see accompanying LICENSE file - -#ifndef BUILD2_INSTALL_OPERATION -#define BUILD2_INSTALL_OPERATION - -#include -#include - -#include - -namespace build2 -{ - namespace install - { - extern const operation_info install; - extern const operation_info uninstall; - } -} - -#endif // BUILD2_INSTALL_OPERATION diff --git a/build2/install/operation.cxx b/build2/install/operation.cxx index 44d257f..5405c63 100644 --- a/build2/install/operation.cxx +++ b/build2/install/operation.cxx @@ -2,7 +2,7 @@ // copyright : Copyright (c) 2014-2017 Code Synthesis Ltd // license : MIT; see accompanying LICENSE file -#include +#include using namespace std; using namespace butl; diff --git a/build2/install/operation.hxx b/build2/install/operation.hxx new file mode 100644 index 0000000..1529621 --- /dev/null +++ b/build2/install/operation.hxx @@ -0,0 +1,22 @@ +// file : build2/install/operation.hxx -*- C++ -*- +// copyright : Copyright (c) 2014-2017 Code Synthesis Ltd +// license : MIT; see accompanying LICENSE file + +#ifndef BUILD2_INSTALL_OPERATION_HXX +#define BUILD2_INSTALL_OPERATION_HXX + +#include +#include + +#include + +namespace build2 +{ + namespace install + { + extern const operation_info install; + extern const operation_info uninstall; + } +} + +#endif // BUILD2_INSTALL_OPERATION_HXX diff --git a/build2/install/rule b/build2/install/rule deleted file mode 100644 index c923db9..0000000 --- a/build2/install/rule +++ /dev/null @@ -1,101 +0,0 @@ -// file : build2/install/rule -*- C++ -*- -// copyright : Copyright (c) 2014-2017 Code Synthesis Ltd -// license : MIT; see accompanying LICENSE file - -#ifndef BUILD2_INSTALL_RULE -#define BUILD2_INSTALL_RULE - -#include -#include - -#include -#include -#include - -namespace build2 -{ - namespace install - { - class alias_rule: public rule - { - public: - alias_rule () {} - - virtual match_result - match (action, target&, const string&) const override; - - virtual recipe - apply (action, target&) const override; - }; - - struct install_dir; - - class file_rule: public rule - { - public: - file_rule () {} - - virtual match_result - match (action, target&, const string&) const override; - - virtual recipe - apply (action, target&) const override; - - // Return NULL if this prerequisite should be ignored and pointer to its - // target otherwise. The default implementation ignores prerequsites that - // are outside of this target's project. - // - virtual const target* - filter (action, const target&, prerequisite_member) const; - - // Extra installation hooks. - // - using install_dir = install::install_dir; - - virtual void - install_extra (const file&, const install_dir&) const; - - // Return true if anything was uninstalled. - // - virtual bool - uninstall_extra (const file&, const install_dir&) const; - - // Installation "commands". - // - // If verbose is false, then only print the command at verbosity level 2 - // or higher. - // - public: - // Install a symlink: base/link -> target. - // - static void - install_l (const install_dir& base, - const path& target, - const path& link, - bool verbose); - - // Uninstall a file or symlink: - // - // uninstall / rm /.leaf (); name empty - // uninstall rm /; target can be NULL - // - // Return false if nothing has been removed (i.e., the file does not - // exist). - // - static bool - uninstall_f (const install_dir& base, - const file* t, - const path& name, - bool verbose); - - private: - target_state - perform_install (action, const target&) const; - - target_state - perform_uninstall (action, const target&) const; - }; - } -} - -#endif // BUILD2_INSTALL_RULE diff --git a/build2/install/rule.cxx b/build2/install/rule.cxx index 9f668f9..3a56480 100644 --- a/build2/install/rule.cxx +++ b/build2/install/rule.cxx @@ -2,15 +2,15 @@ // copyright : Copyright (c) 2014-2017 Code Synthesis Ltd // license : MIT; see accompanying LICENSE file -#include +#include -#include // dir_exists(), file_exists() +#include // dir_exists(), file_exists() -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include using namespace std; using namespace butl; diff --git a/build2/install/rule.hxx b/build2/install/rule.hxx new file mode 100644 index 0000000..76259c9 --- /dev/null +++ b/build2/install/rule.hxx @@ -0,0 +1,101 @@ +// file : build2/install/rule.hxx -*- C++ -*- +// copyright : Copyright (c) 2014-2017 Code Synthesis Ltd +// license : MIT; see accompanying LICENSE file + +#ifndef BUILD2_INSTALL_RULE_HXX +#define BUILD2_INSTALL_RULE_HXX + +#include +#include + +#include +#include +#include + +namespace build2 +{ + namespace install + { + class alias_rule: public rule + { + public: + alias_rule () {} + + virtual match_result + match (action, target&, const string&) const override; + + virtual recipe + apply (action, target&) const override; + }; + + struct install_dir; + + class file_rule: public rule + { + public: + file_rule () {} + + virtual match_result + match (action, target&, const string&) const override; + + virtual recipe + apply (action, target&) const override; + + // Return NULL if this prerequisite should be ignored and pointer to its + // target otherwise. The default implementation ignores prerequsites that + // are outside of this target's project. + // + virtual const target* + filter (action, const target&, prerequisite_member) const; + + // Extra installation hooks. + // + using install_dir = install::install_dir; + + virtual void + install_extra (const file&, const install_dir&) const; + + // Return true if anything was uninstalled. + // + virtual bool + uninstall_extra (const file&, const install_dir&) const; + + // Installation "commands". + // + // If verbose is false, then only print the command at verbosity level 2 + // or higher. + // + public: + // Install a symlink: base/link -> target. + // + static void + install_l (const install_dir& base, + const path& target, + const path& link, + bool verbose); + + // Uninstall a file or symlink: + // + // uninstall / rm /.leaf (); name empty + // uninstall rm /; target can be NULL + // + // Return false if nothing has been removed (i.e., the file does not + // exist). + // + static bool + uninstall_f (const install_dir& base, + const file* t, + const path& name, + bool verbose); + + private: + target_state + perform_install (action, const target&) const; + + target_state + perform_uninstall (action, const target&) const; + }; + } +} + +#endif // BUILD2_INSTALL_RULE_HXX diff --git a/build2/install/utility b/build2/install/utility deleted file mode 100644 index 239447e..0000000 --- a/build2/install/utility +++ /dev/null @@ -1,57 +0,0 @@ -// file : build2/install/utility -*- C++ -*- -// copyright : Copyright (c) 2014-2017 Code Synthesis Ltd -// license : MIT; see accompanying LICENSE file - -#ifndef BUILD2_INSTALL_UTILITY -#define BUILD2_INSTALL_UTILITY - -#include -#include - -#include - -namespace build2 -{ - namespace install - { - // Set install path, mode for a target type. - // - inline void - install_path (scope& s, const target_type& tt, dir_path d) - { - auto r ( - s.target_vars[tt]["*"].insert ( - var_pool.rw (s).insert ("install"))); - - if (r.second) // Already set by the user? - r.first.get () = path_cast (move (d)); - } - - template - inline void - install_path (scope& s, dir_path d) - { - return install_path (s, T::static_type, move (d)); - } - - inline void - install_mode (scope& s, const target_type& tt, string m) - { - auto r ( - s.target_vars[tt]["*"].insert ( - var_pool.rw (s).insert ("install.mode"))); - - if (r.second) // Already set by the user? - r.first.get () = move (m); - } - - template - inline void - install_mode (scope& s, string m) - { - return install_mode (s, T::static_type, move (m)); - } - } -} - -#endif // BUILD2_INSTALL_UTILITY diff --git a/build2/install/utility.hxx b/build2/install/utility.hxx new file mode 100644 index 0000000..dfd1915 --- /dev/null +++ b/build2/install/utility.hxx @@ -0,0 +1,57 @@ +// file : build2/install/utility.hxx -*- C++ -*- +// copyright : Copyright (c) 2014-2017 Code Synthesis Ltd +// license : MIT; see accompanying LICENSE file + +#ifndef BUILD2_INSTALL_UTILITY_HXX +#define BUILD2_INSTALL_UTILITY_HXX + +#include +#include + +#include + +namespace build2 +{ + namespace install + { + // Set install path, mode for a target type. + // + inline void + install_path (scope& s, const target_type& tt, dir_path d) + { + auto r ( + s.target_vars[tt]["*"].insert ( + var_pool.rw (s).insert ("install"))); + + if (r.second) // Already set by the user? + r.first.get () = path_cast (move (d)); + } + + template + inline void + install_path (scope& s, dir_path d) + { + return install_path (s, T::static_type, move (d)); + } + + inline void + install_mode (scope& s, const target_type& tt, string m) + { + auto r ( + s.target_vars[tt]["*"].insert ( + var_pool.rw (s).insert ("install.mode"))); + + if (r.second) // Already set by the user? + r.first.get () = move (m); + } + + template + inline void + install_mode (scope& s, string m) + { + return install_mode (s, T::static_type, move (m)); + } + } +} + +#endif // BUILD2_INSTALL_UTILITY_HXX -- cgit v1.1