I did test with the following commands (and removing pragma passL from main.nim) and the issue is still there: nim c --nimcache:. --verbosity:3 --clearNimblePath --skipCfg --skipUserCfg --skipProjCfg --skipParentCfg --app:staticLib --noMain --header foo nim c --nimcache:. --verbosity:3 --clearNimblePath --skipCfg --skipUserCfg --skipProjCfg --skipParentCfg --skipUserCfg --passL:foo.lib main Run
I do have to say that I do not think my guess above is correct since if I substitute `--app:staticLib` with `--app:lib` in first command I do still see all the Main, PreMain, ... stuff in the c generated file.