[llvm-dev] [RFC] One or many git repositories?

Daniel Sanders via llvm-dev llvm-dev at lists.llvm.org
Fri Jul 29 08:53:39 PDT 2016


> > Even then, are we seriously ignoring the fact that even if you did clone
> > the whole repository including everything, that you can still build just
> > the libc++ and sanitiser runtimes if you wanted to?
>
> Is it that easy to build a subset of a large checked-out tree?  I haven't
> tried it but my impression is: not so much.

It's possible to disable subsets of an LLVM build by setting the various 'LLVM_TOOL_*_BUILD' options to 'OFF' in cmake. For example, 'LLVM_TOOL_COMPILER_RT_BUILD=OFF' will prevent the build for projects/compiler-rt, and 'LLVM_TOOL_CLANG_TOOLS_EXTRA_BUILD=OFF' will disable the tools/projects/clang/tools/extra (I've just double checked the latter). IIRC, these are the variables that disable the build for projects that aren't checked out.

Also, I haven’t tried this myself but we should still be able to do standalone builds of particular projects by picking the initial CMakeLists.txt like so:
            cmake ../llvm/projects/compiler-rt

From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] On Behalf Of Bruce Hoult via llvm-dev
Sent: 29 July 2016 15:52
To: Robinson, Paul
Cc: llvm-dev at lists.llvm.org
Subject: Re: [llvm-dev] [RFC] One or many git repositories?



On Sat, Jul 30, 2016 at 2:26 AM, Robinson, Paul via llvm-dev <llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>> wrote:

> Even then, are we seriously ignoring the fact that even if you did clone
> the whole repository including everything, that you can still build just
> the libc++ and sanitiser runtimes if you wanted to?

Is it that easy to build a subset of a large checked-out tree?  I haven't
tried it but my impression is: not so much.  Certainly the advertised
tactics for configuring/building don't tell you how to do that.  Somebody
figuring out what it takes would be very constructive here, instead of
just asserting it can't possibly be that hard.

Right now, no. The build system assumes that if you checked someone out then you want to build it.

This needs to change.

 I believe David Chisnall up-thread cited a difference in checkout times
on the order of a handful of seconds versus a couple of minutes.  While
naively it might seem not a big deal, over time and depending on what you
are trying to do yes it can be a big burden

That's a one time cost, not every time you do an update.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160729/8dccf788/attachment.html>


More information about the llvm-dev mailing list