7 Common base class for GNU compilers. Turns SourceFiles into ObjectFiles.
9 Since invocation is mostly the same for all language frontends, most of the
10 logic is here and the individual tools only handle creating source files of
13 class GnuCompiler: public Tool
19 GnuCompiler(Builder &, const Architecture &, const std::string &);
21 Target *create_source(const Component &, const Msp::FS::Path &) const override;
22 Target *create_source(const Msp::FS::Path &) const override;
23 Target *create_target(const std::vector<Target *> &, const std::string &) override;
24 std::string create_build_signature(const BuildInfo &) const override;
26 void do_prepare() override;
27 void prepare_syspath();
28 void prepare_version();
29 void prepare_version(const std::string &);
31 Task *run(const Target &) const override;