diff options
author | marha <marha@users.sourceforge.net> | 2009-10-02 09:28:00 +0000 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2009-10-02 09:28:00 +0000 |
commit | 516cdec4894096305f5002b922ba02d49cb3e816 (patch) | |
tree | e34bc97b00f6acf17b33877efb7f5ffa543d2881 /tools/mhmake/src/mhmakefileparser.h | |
parent | 945c71554aa1866a5286dd4b8f5b199dd7af9be9 (diff) | |
download | vcxsrv-516cdec4894096305f5002b922ba02d49cb3e816.tar.gz vcxsrv-516cdec4894096305f5002b922ba02d49cb3e816.tar.bz2 vcxsrv-516cdec4894096305f5002b922ba02d49cb3e816.zip |
Optimised auto dependency generation
Added control c handler in windows
Now throw string exceptions instead of integer exceptions.
Diffstat (limited to 'tools/mhmake/src/mhmakefileparser.h')
-rw-r--r-- | tools/mhmake/src/mhmakefileparser.h | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/tools/mhmake/src/mhmakefileparser.h b/tools/mhmake/src/mhmakefileparser.h index 84d69a878..e5c435cec 100644 --- a/tools/mhmake/src/mhmakefileparser.h +++ b/tools/mhmake/src/mhmakefileparser.h @@ -47,6 +47,10 @@ class fileinfoarray : public refbase,public vector<refptr<fileinfo> > {
};
+typedef set< refptr<fileinfo> > deps_t;
+typedef pair< bool, deps_t > autodeps_entry_t;
+typedef map< refptr<fileinfo>, autodeps_entry_t > autodeps_t;
+
class mhmakefileparser : public refbase
{
@@ -77,7 +81,7 @@ protected: fileinfoarray m_IncludedMakefiles;
refptr< fileinfoarray > m_pIncludeDirs;
string m_IncludeDirs;
- map< refptr<fileinfo>, set< refptr<fileinfo> > > m_AutoDeps;
+ autodeps_t m_AutoDeps;
set< const fileinfo* , less_fileinfo > m_Targets; // List of targets that are build by this makefile
bool m_DoubleColonRule;
bool m_AutoDepsDirty;
@@ -153,9 +157,10 @@ public: {
m_RuleThatIsBuild=NULL;
}
+ void GetAutoDepsIfNeeded(const refptr<fileinfo> &Target, const refptr<fileinfo>&FirstDep);
void UpdateAutomaticDependencies(const refptr<fileinfo> &Target);
const refptr<fileinfoarray> GetIncludeDirs() const;
- void GetAutoDeps(const refptr<fileinfo> &FirstDep,set< refptr<fileinfo> > &Autodeps);
+ void GetAutoDeps(const refptr<fileinfo> &FirstDep, deps_t &Autodeps);
void SaveAutoDepsFile();
void LoadAutoDepsFile(refptr<fileinfo> &DepFile);
bool SkipHeaderFile(const string &FileName);
|