diff options
author | Mike Buland <eichlan@xagasoft.com> | 2006-08-05 00:04:34 +0000 |
---|---|---|
committer | Mike Buland <eichlan@xagasoft.com> | 2006-08-05 00:04:34 +0000 |
commit | 8dd79b7b5a0309f9bc1185019a4af16b3b52aece (patch) | |
tree | a703325cb9bc074179aeaf38f4851a4c38ebfd87 /src/builder.h | |
parent | 13bda5d4f77ca469bbbe0d9b1f268682a9f0ec71 (diff) | |
download | build-8dd79b7b5a0309f9bc1185019a4af16b3b52aece.tar.gz build-8dd79b7b5a0309f9bc1185019a4af16b3b52aece.tar.bz2 build-8dd79b7b5a0309f9bc1185019a4af16b3b52aece.tar.xz build-8dd79b7b5a0309f9bc1185019a4af16b3b52aece.zip |
Build now uses a cachefile for all of it's requires that are generated from
other means (running other programs). It's really fast, and seems to work
pretty well.
Diffstat (limited to 'src/builder.h')
-rw-r--r-- | src/builder.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/builder.h b/src/builder.h index 06e84f3..56a7b07 100644 --- a/src/builder.h +++ b/src/builder.h | |||
@@ -8,6 +8,7 @@ | |||
8 | #include "exceptionbase.h" | 8 | #include "exceptionbase.h" |
9 | #include "staticstring.h" | 9 | #include "staticstring.h" |
10 | #include "regexp.h" | 10 | #include "regexp.h" |
11 | #include "cache.h" | ||
11 | 12 | ||
12 | subExceptionDecl( BuildException ) | 13 | subExceptionDecl( BuildException ) |
13 | 14 | ||
@@ -17,6 +18,7 @@ class Command; | |||
17 | class Rule; | 18 | class Rule; |
18 | class Target; | 19 | class Target; |
19 | class Viewer; | 20 | class Viewer; |
21 | class Cache; | ||
20 | 22 | ||
21 | #define YY_DECL int yylex( YYSTYPE *yylval_param, YYLTYPE *yylloc_param, Builder &bld ) | 23 | #define YY_DECL int yylex( YYSTYPE *yylval_param, YYLTYPE *yylloc_param, Builder &bld ) |
22 | YY_DECL; | 24 | YY_DECL; |
@@ -48,6 +50,8 @@ public: | |||
48 | { | 50 | { |
49 | return rView; | 51 | return rView; |
50 | } | 52 | } |
53 | |||
54 | void setCache( const std::string &sFile ); | ||
51 | void add( Action *pAct ); | 55 | void add( Action *pAct ); |
52 | void add( Command *pCmd ); | 56 | void add( Command *pCmd ); |
53 | void add( Rule *pRule ); | 57 | void add( Rule *pRule ); |
@@ -59,7 +63,7 @@ public: | |||
59 | void processRequires( std::list<std::string> &lInput ); | 63 | void processRequires( std::list<std::string> &lInput ); |
60 | void requires( const char *sBase, const char *sReq ); | 64 | void requires( const char *sBase, const char *sReq ); |
61 | void requiresFromCommand( const char *sBase, const char *sReq ); | 65 | void requiresFromCommand( const char *sBase, const char *sReq ); |
62 | void genRequiresFor( const char *sName ); | 66 | void genRequiresFor( const char *sName, time_t tNewTime ); |
63 | void requiresRegexp( bool on ) | 67 | void requiresRegexp( bool on ) |
64 | { | 68 | { |
65 | bReqRegexp = on; | 69 | bReqRegexp = on; |
@@ -152,6 +156,9 @@ private: | |||
152 | bool bReqRegexp; | 156 | bool bReqRegexp; |
153 | 157 | ||
154 | Viewer &rView; | 158 | Viewer &rView; |
159 | |||
160 | StaticString sCacheFile; | ||
161 | class Cache cRequires; | ||
155 | }; | 162 | }; |
156 | 163 | ||
157 | void cleanList( std::list<std::string> &lst ); | 164 | void cleanList( std::list<std::string> &lst ); |