| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 027cc07 commit c93a529
4 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -171,6 +171,7 @@ extern "C" void EmitPosition(PositionRef position); | |||
| 171 | 171 | extern "C" void OutputBeginManifest(void); | |
| 172 | 172 | ||
| 173 | 173 | extern "C" int IsBootstrapCompile(void); | |
| 174 | + extern "C" int IsNotBytecodeOutput(void); | ||
| 174 | 175 | ||
| 175 | 176 | extern "C" void DependStart(void); | |
| 176 | 177 | extern "C" void DependFinish(void); | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -28,13 +28,17 @@ | |||
| 28 | 28 | ||
| 29 | 29 | 'var' ModuleDependencyList : NAMELIST | |
| 30 | 30 | ||
| 31 | + -- Keep a list of all modules for which bytecode is being generated | ||
| 32 | + 'var' CompiledModuleList : NAMELIST | ||
| 33 | + | ||
| 31 | 34 | 'var' IgnoredModuleList : NAMELIST | |
| 32 | 35 | ||
| 33 | 36 | 'var' GeneratingModuleIndex : INT | |
| 34 | 37 | ||
| 35 | 38 | 'action' GenerateModules(MODULELIST) | |
| 36 | 39 | ||
| 37 | 40 | 'rule' GenerateModules(List): | |
| 41 | + CompiledModuleList <- nil | ||
| 38 | 42 | GeneratingModuleIndex <- 1 | |
| 39 | 43 | EmitStart() | |
| 40 | 44 | GenerateForEachModule(List) | |
@@ -54,6 +58,7 @@ | |||
| 54 | 58 | 'action' Generate(MODULE) | |
| 55 | 59 | ||
| 56 | 60 | 'rule' Generate(Module): | |
| 61 | + CompiledModuleList <- nil | ||
| 57 | 62 | GeneratingModuleIndex <- 1 | |
| 58 | 63 | EmitStart() | |
| 59 | 64 | GenerateSingleModule(Module) | |
@@ -80,6 +85,9 @@ | |||
| 80 | 85 | where(Kind -> library) | |
| 81 | 86 | EmitBeginLibraryModule(ModuleName -> ModuleIndex) | |
| 82 | 87 | |) | |
| 88 | + | ||
| 89 | + AddModuleToCompiledList(ModuleName) | ||
| 90 | + | ||
| 83 | 91 | Info'Index <- ModuleIndex | |
| 84 | 92 | GeneratingModuleIndex -> Generator | |
| 85 | 93 | Info'Generator <- Generator | |
@@ -185,13 +193,34 @@ | |||
| 185 | 193 | ||
| 186 | 194 | 'action' AddModuleToDependencyList(NAME) | |
| 187 | 195 | ||
| 196 | + 'rule' AddModuleToDependencyList(Name): | ||
| 197 | + -- If this is in the list of compiled modules, then don't | ||
| 198 | + -- include in list of required modules in manifest - in | ||
| 199 | + -- particular if we are creating a multi-module assembly, | ||
| 200 | + -- then this is not an external dependency. | ||
| 201 | + CompiledModuleList -> NoDependencyList | ||
| 202 | + IsNameInList(Name, NoDependencyList) | ||
| 203 | + | ||
| 188 | 204 | 'rule' AddModuleToDependencyList(Name): | |
| 189 | 205 | ModuleDependencyList -> List | |
| 190 | 206 | IsNameInList(Name, List) | |
| 191 | 207 | ||
| 192 | 208 | 'rule' AddModuleToDependencyList(Name): | |
| 193 | 209 | ModuleDependencyList -> List | |
| 194 | 210 | ModuleDependencyList <- namelist(Name, List) | |
| 211 | + | ||
| 212 | + 'action' AddModuleToCompiledList(NAME) | ||
| 213 | + | ||
| 214 | + 'rule' AddModuleToCompiledList(Name): | ||
| 215 | + IsNotBytecodeOutput() | ||
| 216 | + | ||
| 217 | + 'rule' AddModuleToCompiledList(Name): | ||
| 218 | + CompiledModuleList -> List | ||
| 219 | + IsNameInList(Name, List) | ||
| 220 | + | ||
| 221 | + 'rule' AddModuleToCompiledList(Name): | ||
| 222 | + CompiledModuleList -> List | ||
| 223 | + CompiledModuleList <- namelist(Name, List) | ||
| 195 | 224 | ||
| 196 | 225 | 'action' GenerateManifestRequires(NAMELIST) | |
| 197 | 226 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -39,6 +39,11 @@ int IsBootstrapCompile(void) | |||
| 39 | 39 | return s_is_bootstrap; | |
| 40 | 40 | } | |
| 41 | 41 | ||
| 42 | + int IsNotBytecodeOutput(void) | ||
| 43 | + { | ||
| 44 | + return OutputFileAsBytecode == 0; | ||
| 45 | + } | ||
| 46 | + | ||
| 42 | 47 | int IsDependencyCompile(void) | |
| 43 | 48 | { | |
| 44 | 49 | return DependencyMode != kDependencyModeNone; | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -21,6 +21,7 @@ | |||
| 21 | 21 | ||
| 22 | 22 | 'export' | |
| 23 | 23 | IsBootstrapCompile | |
| 24 | + IsNotBytecodeOutput | ||
| 24 | 25 | ||
| 25 | 26 | NegateReal | |
| 26 | 27 | ||
@@ -366,6 +367,7 @@ | |||
| 366 | 367 | -------------------------------------------------------------------------------- | |
| 367 | 368 | ||
| 368 | 369 | 'condition' IsBootstrapCompile() | |
| 370 | + 'condition' IsNotBytecodeOutput() | ||
| 369 | 371 | ||
| 370 | 372 | -------------------------------------------------------------------------------- | |
| 371 | 373 | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments