bugfix: fix linking when symbol files are used

This commit is contained in:
Zahary Karadjov 2013-04-08 23:23:12 +03:00
commit 95b28700cc
5 changed files with 12 additions and 13 deletions

View file

@ -45,11 +45,8 @@ const
] ]
NimMergeEndMark = "/*\tNIM_merge_END:*/" NimMergeEndMark = "/*\tNIM_merge_END:*/"
template mergeSectionsEnabled: expr =
{optCaasEnabled, optSymbolFiles} * gGlobalOptions != {}
proc genSectionStart*(fs: TCFileSection): PRope = proc genSectionStart*(fs: TCFileSection): PRope =
if mergeSectionsEnabled: if compilationCachePresent:
result = toRope(tnl) result = toRope(tnl)
app(result, "/*\t") app(result, "/*\t")
app(result, CFileSectionNames[fs]) app(result, CFileSectionNames[fs])
@ -57,11 +54,11 @@ proc genSectionStart*(fs: TCFileSection): PRope =
app(result, tnl) app(result, tnl)
proc genSectionEnd*(fs: TCFileSection): PRope = proc genSectionEnd*(fs: TCFileSection): PRope =
if mergeSectionsEnabled: if compilationCachePresent:
result = toRope(NimMergeEndMark & tnl) result = toRope(NimMergeEndMark & tnl)
proc genSectionStart*(ps: TCProcSection): PRope = proc genSectionStart*(ps: TCProcSection): PRope =
if mergeSectionsEnabled: if compilationCachePresent:
result = toRope(tnl) result = toRope(tnl)
app(result, "/*\t") app(result, "/*\t")
app(result, CProcSectionNames[ps]) app(result, CProcSectionNames[ps])
@ -69,7 +66,7 @@ proc genSectionStart*(ps: TCProcSection): PRope =
app(result, tnl) app(result, tnl)
proc genSectionEnd*(ps: TCProcSection): PRope = proc genSectionEnd*(ps: TCProcSection): PRope =
if mergeSectionsEnabled: if compilationCachePresent:
result = toRope(NimMergeEndMark & tnl) result = toRope(NimMergeEndMark & tnl)
proc writeTypeCache(a: TIdTable, s: var string) = proc writeTypeCache(a: TIdTable, s: var string) =

View file

@ -1254,7 +1254,7 @@ proc updateCachedModule(m: BModule) =
let cfile = getCFile(m) let cfile = getCFile(m)
let cfilenoext = changeFileExt(cfile, "") let cfilenoext = changeFileExt(cfile, "")
if mergeRequired(m): if mergeRequired(m) and sfMainModule notin m.module.flags:
mergeFiles(cfile, m) mergeFiles(cfile, m)
genInitCode(m) genInitCode(m)
finishTypeDescriptions(m) finishTypeDescriptions(m)
@ -1264,8 +1264,7 @@ proc updateCachedModule(m: BModule) =
addFileToLink(cfilenoext) addFileToLink(cfilenoext)
proc cgenCaasUpdate* = proc updateCachedModules* =
# XXX(zah): clean-up the fromCache mess
for m in cgenModules(): for m in cgenModules():
if m.fromCache: m.updateCachedModule if m.fromCache: m.updateCachedModule

View file

@ -252,8 +252,8 @@ proc CommandCompileToC =
compileProject() compileProject()
if optCaasEnabled in gGlobalOptions: if compilationCachePresent:
cgenCaasUpdate() updateCachedModules()
if gCmd != cmdRun: if gCmd != cmdRun:
extccomp.CallCCompiler(changeFileExt(gProjectFull, "")) extccomp.CallCCompiler(changeFileExt(gProjectFull, ""))

View file

@ -110,6 +110,9 @@ var
proc importantComments*(): bool {.inline.} = gCmd in {cmdDoc, cmdIdeTools} proc importantComments*(): bool {.inline.} = gCmd in {cmdDoc, cmdIdeTools}
proc usesNativeGC*(): bool {.inline.} = gSelectedGC >= gcRefc proc usesNativeGC*(): bool {.inline.} = gSelectedGC >= gcRefc
template compilationCachePresent*: expr =
{optCaasEnabled, optSymbolFiles} * gGlobalOptions != {}
const const
genSubDir* = "nimcache" genSubDir* = "nimcache"
NimExt* = "nim" NimExt* = "nim"