diff --git a/config.nims b/config.nims index 4b64f48cf..8cc851e04 100644 --- a/config.nims +++ b/config.nims @@ -1,25 +1,21 @@ -# Emergency fixes -# --------------------------------------------------- - -# --------------------------------------------------- - -if defined(release): - switch("nimcache", "nimcache/release/$projectName") +when defined(release): + let nimCachePath = "nimcache/release/" & projectName() else: - switch("nimcache", "nimcache/debug/$projectName") + let nimCachePath = "nimcache/debug/" & projectName() +switch("nimcache", nimCachePath) # `-flto` gives a significant improvement in processing speed, specially hash tree and state transition (basically any CPU-bound code implemented in nim) # With LTO enabled, optimization flags should be passed to both compiler and linker! if defined(release) and not defined(disableLTO): if defined(macosx): # Clang switch("passC", "-flto=thin") - switch("passL", "-flto=thin") + switch("passL", "-flto=thin -Wl,-object_path_lto," & nimCachePath & "/lto") elif defined(linux): switch("passC", "-flto=auto") switch("passL", "-flto=auto") else: - # On windows, LTO needs more love and attention so the right linkers - # are used + # On windows, LTO needs more love and attention so "gcc-ar" and "gcc-ranlib" are + # used for static libraries. discard if defined(windows): diff --git a/vendor/nim-libbacktrace b/vendor/nim-libbacktrace index dc2c199d4..8121c08e0 160000 --- a/vendor/nim-libbacktrace +++ b/vendor/nim-libbacktrace @@ -1 +1 @@ -Subproject commit dc2c199d41dc90de75043d1ee4efe5e0323932bf +Subproject commit 8121c08e0e7bdf92f86012b4af2330434fa7ed5d