#ifndef GCC4COMPILER_H_ #define GCC4COMPILER_H_ #include "Configuration.h" #include "Feedback.h" #include "ProcessUtilities.h" #include "SharedRef.h" #include "ToolChain.h" #include "Variable.h" #include class Gcc4ToolChain : public ToolChain { public: Gcc4ToolChain(const std::string& Name, bool IsMingW, const std::string& Path); virtual std::string staticLibraryName(const std::string& Stem) const; virtual void initResultNames(CCSource& aSource) const; virtual ProcessController* createCompilation(CCSource& aSource); virtual void initResultNames(Executable& aExec) const; virtual ProcessController* createLinking(Executable& aExec); virtual std::string type() const; virtual void storeToCache() const; virtual bool isValid() const; private: bool IsMingW; std::string Path; public: static SharedPtr discoverMingW(const std::string& Name); static SharedPtr discoverRegular(const std::string& Name); static SharedPtr createFromCache(const VariablePtr& Item, const std::string& Name); }; #endif