From 977d07a3ae47ef204665d1eda2d642e5064724f3 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 24 Jun 2019 12:01:19 +0200 Subject: Split build system into library and driver --- libbuild2/file.ixx | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 libbuild2/file.ixx (limited to 'libbuild2/file.ixx') diff --git a/libbuild2/file.ixx b/libbuild2/file.ixx new file mode 100644 index 0000000..f8a79be --- /dev/null +++ b/libbuild2/file.ixx @@ -0,0 +1,31 @@ +// file : libbuild2/file.ixx -*- C++ -*- +// copyright : Copyright (c) 2014-2019 Code Synthesis Ltd +// license : MIT; see accompanying LICENSE file + +#include + +namespace build2 +{ + inline bool + source_once (scope& root, scope& base, const path& bf) + { + return source_once (root, base, bf, base); + } + + LIBBUILD2_SYMEXPORT const target* + import (const prerequisite_key&, bool existing); + + inline const target& + import (const prerequisite_key& pk) + { + assert (phase == run_phase::match); + return *import (pk, false); + } + + inline const target* + import_existing (const prerequisite_key& pk) + { + assert (phase == run_phase::match || phase == run_phase::execute); + return import (pk, true); + } +} -- cgit v1.1