compiler/backend/build_insts

  Source   Edit

Implements a cache for build instructions, plus the routines for interacting with the cache.

Types

BuildCache = object
  cacheVersion*: string
  outputFile*: string
  compile*: seq[(string, string)]
  link*: seq[string]
  linkcmd*: string
  extraCmds*: seq[string]
  configFiles: seq[string]
  inputMode: ProjectInputMode
  currentDir: string
  cmdline: string
  depfiles: seq[(string, string)]
  nimexe: string
  Source   Edit

Consts

cacheVersion = "D20230310T000000"
  Source   Edit

Procs

proc buildInstructionsStatus(conf: ConfigRef; jsonFile: AbsoluteFile): bool {.
    ...raises: [OSError, Exception, IOError, ValueError],
    tags: [ReadDirEffect, ReadIOEffect, WriteIOEffect].}
Returns true if the build instructions are out of date.   Source   Edit
proc getBuildInstructionsFile(conf: ConfigRef): AbsoluteFile {.
    ...raises: [OSError], tags: [ReadEnvEffect, ReadIOEffect].}
  Source   Edit
proc writeBuildInstructions(conf: ConfigRef; bcache: sink BuildCache) {.
    ...raises: [OSError, IOError],
    tags: [ReadDirEffect, ReadIOEffect, ReadEnvEffect, WriteIOEffect].}
Populates shared build data and writes it to outFile.   Source   Edit