bugfix: fix linking when symbol files are used

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

View File

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

View File

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

View File

@@ -392,7 +392,7 @@ proc resetCompilationLists* =
initLinkedList(toLink)
proc addFileToLink*(filename: string) =
prependStr(toLink, filename)
prependStr(toLink, filename)
# BUGFIX: was ``appendStr``
proc execExternalProgram*(cmd: string) =

View File

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

View File

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