public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Michał Górny" <mgorny@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] Re: LLVM build strategy
Date: Mon, 09 Dec 2024 05:35:12 +0100	[thread overview]
Message-ID: <6bc52fd12d7683dfba2589ab1c3351fb80f7d748.camel@gentoo.org> (raw)
In-Reply-To: <3d7fa48e-2b92-4669-98d7-36b243c263e4@gentoo.org>

[-- Attachment #1: Type: text/plain, Size: 2183 bytes --]

On Sun, 2024-12-08 at 17:23 -0500, Eli Schwartz wrote:
> On 12/8/24 4:45 PM, Sam James wrote:
> > > I don't like the idea of spending hours building everything before I'm
> > > even able to start running tests, just to learn that LLVM is broken
> > > and there's no point in even starting to build the rest.
> > 
> > I don't follow this bit -- you need the new LLVM merged before you can
> > build Clang's tests, right? And if any of it fails to build, it's not
> > like we can commit the release or snapshot?
> > 
> > What am I missing on this bit?
> 
> 
> I think the point here is that currently, one can build sys-devel/llvm
> with tests enabled, and if it fails, there's no point in also building
> sys-devel/clang. But with a monorepo build, you'd have to build llvm,
> clang (and various others) first, and then launch tests for llvm and
> clang together, only to get a test failure in the llvm tests that
> indicates everything else is broken too. Depending on cmake test
> ordering, you may also run half the clang tests before hitting the llvm
> failures, even.

Exactly.  You have to compile everything first, before you start testing
anything.

And I don't think testing order is predictable either. I mean,
technically we could just issue check-llvm, check-clang, and so on
manually, but that's going to be messy and I'm not even sure if I can
figure out all the correct targets to avoid duplication.

And if you think we could hack this around by stubbing src_compile()
and having tests compile things component after component...
the dependencies are pretty much broken everywhere, and you do need to
compile everything before you run check-* targets.

> In theory this could be solved by building monorepo-llvm with
> FEATURES=test USE="-clang" to start running tests, and then if that
> passes, rebuild llvm again but this time with clang etc. enabled. Not
> sure this is actually solving the stated objection...

ccache will save most of the time on rebuilding the same things (except
for tablegen or sphinx, which are pretty slow too), but you'd still be
rerunning the same tests.

-- 
Best regards,
Michał Górny


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 512 bytes --]

  reply	other threads:[~2024-12-09  4:35 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-12-07 16:07 [gentoo-dev] [RFC] New categories for LLVM Michał Górny
2024-12-08  4:11 ` Sam James
2024-12-08 13:02   ` Michał Górny
2024-12-08  4:53 ` LLVM build strategy (was: Re: [gentoo-dev] [RFC] New categories for LLVM) Sam James
2024-12-08  5:05   ` [gentoo-dev] Re: LLVM build strategy Sam James
2024-12-08  5:06   ` LLVM build strategy (was: Re: [gentoo-dev] [RFC] New categories for LLVM) Violet Purcell
2024-12-08 13:20   ` Michał Górny
2024-12-08 21:45     ` [gentoo-dev] Re: LLVM build strategy Sam James
2024-12-08 22:23       ` Eli Schwartz
2024-12-09  4:35         ` Michał Górny [this message]
2024-12-08 15:44 ` [gentoo-dev] [PATCH] Introduce llvm-core and llvm-runtimes categories Michał Górny

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6bc52fd12d7683dfba2589ab1c3351fb80f7d748.camel@gentoo.org \
    --to=mgorny@gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox