diff options
Diffstat (limited to 'tools/minicargo/build.h')
-rw-r--r-- | tools/minicargo/build.h | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/tools/minicargo/build.h b/tools/minicargo/build.h new file mode 100644 index 00000000..10b3ac46 --- /dev/null +++ b/tools/minicargo/build.h @@ -0,0 +1,33 @@ +#pragma once + +#include "manifest.h" +#include "path.h" + +class StringList; +class Timestamp; + +class Builder +{ + static const char* const MRUSTC_PATH; + + ::helpers::path m_output_dir; + ::helpers::path m_build_script_overrides; + +public: + Builder(::helpers::path output_dir, ::helpers::path override_dir): + m_output_dir(output_dir), + m_build_script_overrides(override_dir) + { + } + + bool build_target(const PackageManifest& manifest, const PackageTarget& target) const; + bool build_library(const PackageManifest& manifest) const; + +private: + bool spawn_process(const StringList& args, const ::helpers::path& logfile) const; + + + Timestamp get_timestamp(const ::helpers::path& path) const; +}; + +extern void MiniCargo_Build(const PackageManifest& manifest, ::helpers::path override_path); |