diff options
author | Mike Buland <eichlan@xagasoft.com> | 2006-08-06 19:42:22 +0000 |
---|---|---|
committer | Mike Buland <eichlan@xagasoft.com> | 2006-08-06 19:42:22 +0000 |
commit | 71c3c523aacb0f6986d50f4a7a2e5d604728a4c4 (patch) | |
tree | 9000ae982c9cb21d31ac3efa6ccf7100064f5bbb /src/builder.h | |
parent | 2c0c23b75f563d0a1e68f6079a8eea73c40a877a (diff) | |
download | build-71c3c523aacb0f6986d50f4a7a2e5d604728a4c4.tar.gz build-71c3c523aacb0f6986d50f4a7a2e5d604728a4c4.tar.bz2 build-71c3c523aacb0f6986d50f4a7a2e5d604728a4c4.tar.xz build-71c3c523aacb0f6986d50f4a7a2e5d604728a4c4.zip |
A load of updates, most of these made me realize that I probably could do this
whole thing a lot better. We'll see how that works out later, once I figure out
how to do it better.
Diffstat (limited to 'src/builder.h')
-rw-r--r-- | src/builder.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/builder.h b/src/builder.h index 56a7b07..195296a 100644 --- a/src/builder.h +++ b/src/builder.h | |||
@@ -51,9 +51,23 @@ public: | |||
51 | return rView; | 51 | return rView; |
52 | } | 52 | } |
53 | 53 | ||
54 | void startList( int tokType ); | ||
55 | void setFilter( const char *sRegExp ); | ||
56 | void augmentList( const char *sFrom ); | ||
57 | void addListItem( const char *sItem ); | ||
58 | void clearList(); | ||
59 | void endList(); | ||
60 | |||
61 | void addTarget( int tokType, const char *sName ); | ||
62 | void setTargetInputType( int tokType ); | ||
63 | void addTargetInput( const char *sInput ); | ||
64 | void setTargetRule( const char *sRule ); | ||
65 | void endTarget(); | ||
66 | |||
54 | void setCache( const std::string &sFile ); | 67 | void setCache( const std::string &sFile ); |
55 | void add( Action *pAct ); | 68 | void add( Action *pAct ); |
56 | void add( Command *pCmd ); | 69 | void add( Command *pCmd ); |
70 | void addRegexCommand( int nType, const char *sReg ); | ||
57 | void add( Rule *pRule ); | 71 | void add( Rule *pRule ); |
58 | void add( Target *pTarg ); | 72 | void add( Target *pTarg ); |
59 | void varSet( const char *sName, const char *sValue ); | 73 | void varSet( const char *sName, const char *sValue ); |
@@ -64,6 +78,7 @@ public: | |||
64 | void requires( const char *sBase, const char *sReq ); | 78 | void requires( const char *sBase, const char *sReq ); |
65 | void requiresFromCommand( const char *sBase, const char *sReq ); | 79 | void requiresFromCommand( const char *sBase, const char *sReq ); |
66 | void genRequiresFor( const char *sName, time_t tNewTime ); | 80 | void genRequiresFor( const char *sName, time_t tNewTime ); |
81 | std::list<std::string> findTargets( const char *sRegex ); | ||
67 | void requiresRegexp( bool on ) | 82 | void requiresRegexp( bool on ) |
68 | { | 83 | { |
69 | bReqRegexp = on; | 84 | bReqRegexp = on; |
@@ -119,6 +134,7 @@ public: | |||
119 | 134 | ||
120 | typedef std::map<std::string, std::string> varmap; | 135 | typedef std::map<std::string, std::string> varmap; |
121 | varmap *regexVars( RegExp *re ); | 136 | varmap *regexVars( RegExp *re ); |
137 | void regexVars( RegExp *re, varmap &map ); | ||
122 | std::string varRepl( const char *sSrc, const char *cont, varmap *mExtra ); | 138 | std::string varRepl( const char *sSrc, const char *cont, varmap *mExtra ); |
123 | 139 | ||
124 | private: | 140 | private: |
@@ -159,6 +175,18 @@ private: | |||
159 | 175 | ||
160 | StaticString sCacheFile; | 176 | StaticString sCacheFile; |
161 | class Cache cRequires; | 177 | class Cache cRequires; |
178 | |||
179 | std::list<std::pair<std::string,std::map<std::string,std::string> > > lTok; | ||
180 | bool bTokFiltered; | ||
181 | int nTokType; | ||
182 | RegExp rTok; | ||
183 | |||
184 | int nTargetType; | ||
185 | int nTargetInputType; | ||
186 | std::string sTargetName; | ||
187 | std::list<std::string> lsTargetInput; | ||
188 | std::string sTargetRule; | ||
189 | bool bUsingList; | ||
162 | }; | 190 | }; |
163 | 191 | ||
164 | void cleanList( std::list<std::string> &lst ); | 192 | void cleanList( std::list<std::string> &lst ); |