-
Notifications
You must be signed in to change notification settings - Fork 11
Refactor followup: enable LTO #117
Comments
@springmeyer it looks from cursory Googling like |
@apendleton I'll get a working example going in node-cpp-skel next and then ping you when ready. Up to now I've used binutils-gold for linking and not lld and I'd like to give lld a shot. |
Here is a working example you can follow: mapbox/vtquery#63
Ideally need to do this mapbox/mason#561 for easy lld usage, so I think sticking with binutils linker (per the vtquery example PR above) is ideal. |
@springmeyer we gave this a go and it seems not to be working, I think because we're trying to link to previously-built static libraries from Mason that were compiled with a different LLVM version (rocksdb, etc.). We get this error:
see for reference the job: https://travis-ci.org/mapbox/carmen-cache/jobs/346996737 Thoughts on how to proceed? |
@apendleton yes, LTO requires a consistent major clang++ version to be used. That is my oversight: so due to the external dep we'll need to:
So, I recommend you continue the cleanup work without this LTO addition, to make sure you'r not blocked. We can hit it as a followup once the mason fix is available. |
Mason fix is looking good at #119 |
Done in #116 |
After #116 lands, because #166 splits into multiple
.cpp
files, we should enable LTO for the build.Learn more about LTO via https://github.com/mapbox/cpp/blob/lto-glossary-entry/glossary.md#link-time-optimization
/cc @aaaandrea @apendleton
refs mapbox/cpp#49
The text was updated successfully, but these errors were encountered: