From 4bdf53837e010073de802070d4e6087410662d3e Mon Sep 17 00:00:00 2001 From: Karen Arutyunov Date: Sat, 24 Aug 2019 17:41:30 +0300 Subject: Move cc build system module to separate library --- build2/cc/install-rule.hxx | 77 ---------------------------------------------- 1 file changed, 77 deletions(-) delete mode 100644 build2/cc/install-rule.hxx (limited to 'build2/cc/install-rule.hxx') diff --git a/build2/cc/install-rule.hxx b/build2/cc/install-rule.hxx deleted file mode 100644 index 55f6d2f..0000000 --- a/build2/cc/install-rule.hxx +++ /dev/null @@ -1,77 +0,0 @@ -// file : build2/cc/install-rule.hxx -*- C++ -*- -// copyright : Copyright (c) 2014-2019 Code Synthesis Ltd -// license : MIT; see accompanying LICENSE file - -#ifndef BUILD2_CC_INSTALL_RULE_HXX -#define BUILD2_CC_INSTALL_RULE_HXX - -#include -#include - -#include - -#include -#include - -namespace build2 -{ - namespace cc - { - class link_rule; - - // Installation rule for exe{} and lib*{}. Here we do: - // - // 1. Signal to the link rule that this is update for install. - // - // 2. Custom filtering of prerequisites (e.g., headers of an exe{}). - // - // 3. Extra un/installation (e.g., libs{} symlinks). - // - class install_rule: public install::file_rule, virtual common - { - public: - install_rule (data&&, const link_rule&); - - virtual const target* - filter (action, const target&, prerequisite_iterator&) const override; - - virtual bool - match (action, target&, const string&) const override; - - virtual recipe - apply (action, target&) const override; - - virtual bool - install_extra (const file&, const install_dir&) const override; - - virtual bool - uninstall_extra (const file&, const install_dir&) const override; - - private: - const link_rule& link_; - }; - - // Installation rule for libu*{}. - // - // While libu*{} members themselves are not installable, we need to see - // through them in case they depend on stuff that we need to install - // (e.g., headers). Note that we use the alias_rule as a base. - // - class libux_install_rule: public install::alias_rule, virtual common - { - public: - libux_install_rule (data&&, const link_rule&); - - virtual const target* - filter (action, const target&, prerequisite_iterator&) const override; - - virtual bool - match (action, target&, const string&) const override; - - private: - const link_rule& link_; - }; - } -} - -#endif // BUILD2_CC_INSTALL_RULE_HXX -- cgit v1.1