@@ -271,9 +271,7 @@ vcc.linkerexe = "vccexe.exe"
271
271
vcc.cpp.linkerexe = " vccexe.exe"
272
272
273
273
vcc.options.always = " /nologo"
274
- vcc.cpp.options.always = " /EHsc"
275
- vcc.options.linker = " /nologo /F33554432" # set the stack size to 32 MiB
276
- vcc.cpp.options.linker = " /nologo /F33554432"
274
+ vcc.cpp.options.always = " /nologo /EHsc"
277
275
vcc.options.debug = " /Zi /FS /Od"
278
276
vcc.cpp.options.debug = " /Zi /FS /Od"
279
277
vcc.options.speed = " /O2"
@@ -317,3 +315,35 @@ tcc.options.always = "-w"
317
315
-- define:nimOldCaseObjects
318
316
-- define:nimOldShiftRight
319
317
@ end
318
+
319
+ @ if lto or lto_incremental:
320
+ @ if lto_incremental:
321
+ vcc.options.always%= " ${vcc.options.always} /GL /Gw /Gy"
322
+ vcc.cpp.options.always%= " ${vcc.cpp.options.always} /GL /Gw /Gy"
323
+ vcc.options.linker %= " ${vcc.options.linker} /LTCG:incremental"
324
+ vcc.cpp.options.linker %= " ${vcc.cpp.options.linker} /LTCG:incremental"
325
+ @ else :
326
+ vcc.options.always%= " ${vcc.options.always} /GL"
327
+ vcc.cpp.options.always%= " ${vcc.cpp.options.always} /GL"
328
+ vcc.options.linker %= " ${vcc.options.linker} /LTCG"
329
+ vcc.cpp.options.linker %= " ${vcc.cpp.options.linker} /LTCG"
330
+ @ end
331
+ clang_cl.options.always%= " ${clang_cl.options.always} -flto"
332
+ clang_cl.cpp.options.always%= " ${clang.cpp.options.always} -flto"
333
+ clang.options.always%= " ${clang.options.always} -flto"
334
+ clang.cpp.options.always%= " ${clang.cpp.options.always} -flto"
335
+ icl.options.always %= " ${icl.options.always} /Qipo"
336
+ icl.cpp.options.always %= " ${icl.cpp.options.always} /Qipo"
337
+ gcc.options.always %= " ${gcc.options.always} -flto"
338
+ gcc.cpp.options.always %= " ${gcc.cpp.options.always} -flto"
339
+ clang.options.linker %= " ${clang.options.linker} -fuse-ld=lld -flto"
340
+ clang.cpp.options.linker %= " ${clang.cpp.options.linker} -fuse-ld=lld -flto"
341
+ gcc.options.linker %= " ${gcc.options.linker} -flto"
342
+ gcc.cpp.options.linker %= " ${gcc.cpp.options.linker} -flto"
343
+ @ end
344
+ @ if strip:
345
+ gcc.options.linker %= " ${gcc.options.linker} -s"
346
+ gcc.cpp.options.linker %= " ${gcc.cpp.options.linker} -s"
347
+ clang.options.linker %= " ${clang.options.linker} -s"
348
+ clang.cpp.options.linker %= " ${clang.cpp.options.linker} -s"
349
+ @ end
0 commit comments