5 ms·
`mkdir build && cmake ../llvm -GNinja && ninja` better?
by meinersbur 5y ago
`mkdir build && cmake ../llvm -GNinja && ninja`
better?
- lazypenguin 5y agoMost people don’t have 64 cores available to them to compile LLVM in 5 minutes. Switching to ninja doesn’t really solve that problem.
- bregma 5y agoYou missed the part where you upgrade your RAM to at least 128 GB and up the swap to 512 GB and use gold as your linker because the OOM killer will still raise it's head for ld under those extreme restrictions.
- shipp02 5y agoSorry, what are you talking about. I have built ponylang, build llvm with a couple of patches from source on my 2018 Mac book air. Just don't put -j64. The first build will take a couple of hours but that is par for the course for a project of llvm's size and complexity. The subsequent buttons take a couple minutes.
- jcelerier 5y agoI don't understand why anyone would use ld or gold in 2022. Every distro has shipped lld for years and it links in less than seconds. It's a default to not break compatibility, not because it's good ; makes as much sense to use as ed(1). For reference on a 8C/16T CPU from 2016 an llvm initial build is ~10-12 minutes here.. not instant but not the end of the world either.
- xxpor 5y agoWhen LLVM doesn't support your platform :( Granted, that means no Rust support today so probably not relevent to most people reading this thread, but yeah I'm still salty :|
- jcelerier 5y ago... which platform is that ?
- bregma 5y agoI for one maintain the official toolchains for QNX. I've been trying to port LLVM, and it's not possible to bootstrap LLVM using LLVM because it hasn't been ported yet.
- jcelerier 5y ago> it's not possible to bootstrap LLVM using LLVM I don't understand, LLVM would be on the host machine under some Linux or Windows on x86 where the development happens, not on the QNX hardware anyways, no ? Unless for some reason one would want to port Mesa to have LLVMPIPE or something like this, but I have a hard time imagining the use case.
- bregma 5y agoWhat QNX hardware are you thinking of? The self-hosted x86_64 PC being used to develop on?
- jcelerier 5y agoMy experience with QNX is with it used for automotive stuff, so everything was cross-compiled from normal Linux systems. The little bit of work I did with it did really not make me think that this was an useable workstation OS (although the speed was extremely appreciable)
- JoshTriplett 5y agolld is not 100% compatible with ld; switching to it usually works, but occasionally breaks the build of some software. That's especially true for complex cases involving linker scripts and unusual binary layouts with various sections. (Those cases also tend to be hard to debug.)
- wyldfire 5y agoBut it's really well tested for building llvm and clang, so that suits the use case this thread is focused on.
- steveklabnik 5y agolld is good, but you answered why in your own comment: it's not always compatible, and so when you need ld, you need ld.
- Szpadel 5y agoI compile llvm on machine with 4gb ram