From 9ec2bdd87659438b4aa021a10c4a4977ef77118e Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Fri, 5 Jun 2020 06:36:30 +0200 Subject: Add ability to specify ad hoc recipe actions We are reusing the buildspec syntax for that. --- libbuild2/spec.cxx | 109 ----------------------------------------------------- 1 file changed, 109 deletions(-) delete mode 100644 libbuild2/spec.cxx (limited to 'libbuild2/spec.cxx') diff --git a/libbuild2/spec.cxx b/libbuild2/spec.cxx deleted file mode 100644 index d1a39ab..0000000 --- a/libbuild2/spec.cxx +++ /dev/null @@ -1,109 +0,0 @@ -// file : libbuild2/spec.cxx -*- C++ -*- -// license : MIT; see accompanying LICENSE file - -#include - -#include - -using namespace std; - -namespace build2 -{ - ostream& - operator<< (ostream& os, const targetspec& s) - { - if (!s.src_base.empty ()) - { - // Avoid printing './' in './@...', similar to what we do for the - // {target,prerequisite}_key. - // - if (stream_verb (os).path < 1) - { - const string& r (diag_relative (s.src_base, false)); - - if (!r.empty ()) - os << r << '@'; - } - else - os << s.src_base << '@'; - } - - os << s.name; - return os; - } - - ostream& - operator<< (ostream& os, const opspec& s) - { - bool hn (!s.name.empty ()); - bool ht (!s.empty ()); - - os << (hn ? "\"" : "") << s.name << (hn ? "\"" : ""); - - if (hn && ht) - os << '('; - - for (auto b (s.begin ()), i (b); i != s.end (); ++i) - os << (i != b ? " " : "") << *i; - - for (const value& v: s.params) - { - os << ", "; - - if (v) - { - names storage; - os << reverse (v, storage); - } - else - os << "[null]"; - } - - if (hn && ht) - os << ')'; - - return os; - } - - ostream& - operator<< (ostream& os, const metaopspec& s) - { - bool hn (!s.name.empty ()); - bool ho (!s.empty ()); - - os << (hn ? "\'" : "") << s.name << (hn ? "\'" : ""); - - if (hn && ho) - os << '('; - - for (auto b (s.begin ()), i (b); i != s.end (); ++i) - os << (i != b ? " " : "") << *i; - - for (const value& v: s.params) - { - os << ", "; - - if (v) - { - names storage; - os << reverse (v, storage); - } - else - os << "[null]"; - } - - if (hn && ho) - os << ')'; - - return os; - } - - ostream& - operator<< (ostream& os, const buildspec& s) - { - for (auto b (s.begin ()), i (b); i != s.end (); ++i) - os << (i != b ? " " : "") << *i; - - return os; - } -} -- cgit v1.1