aboutsummaryrefslogtreecommitdiff
path: root/tools/mhmake/src/mhmakefileparser.h
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2009-10-02 09:28:00 +0000
committermarha <marha@users.sourceforge.net>2009-10-02 09:28:00 +0000
commit516cdec4894096305f5002b922ba02d49cb3e816 (patch)
treee34bc97b00f6acf17b33877efb7f5ffa543d2881 /tools/mhmake/src/mhmakefileparser.h
parent945c71554aa1866a5286dd4b8f5b199dd7af9be9 (diff)
downloadvcxsrv-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.h9
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);