deps

Search:
Group by:
Source   Edit  

Generate a .build.nif file for nifmake from a Nim project. This enables incremental and parallel compilation using the m switch.

Procs

proc commandIc(conf: ConfigRef; frontendOnly = false) {....raises: [OSError,
    Exception, ValueError, KeyError, IOError, ERecoverableError], tags: [
    ReadIOEffect, ReadDirEffect, ReadEnvEffect, RootEffect, WriteIOEffect,
    WriteDirEffect, ExecIOEffect, TimeEffect], forbids: [].}
Main entry point for nim ic. With frontendOnly (used by nim track for IDE queries) it runs only Phase 1 — the incremental nifler + nim m frontend that writes every module's .s.bif — and skips the whole-program backend (nim nifc -> C -> link), which a goto-def / find-usages scan does not need. Source   Edit  
proc includerSbifs(conf: ConfigRef; targetFile: AbsoluteFile): seq[string] {.
    ...raises: [OSError, ValueError, Exception],
    tags: [ReadEnvEffect, ReadIOEffect, ReadDirEffect, RootEffect], forbids: [].}
For an include file targetFile, return the .s.bif paths of every module that includes it — directly OR transitively (following the include chain module -> incA -> incB -> targetFile). nim track uses this to avoid loading and scanning every module bif: an include file has no bif of its own, so its type-checked tokens live in the including module's bif. Only the small .deps.nif preludes are read here, never a .s.bif. Source   Edit