From: Linus Torvalds <torvalds@linux-foundation.org>
To: Nick Desaulniers <ndesaulniers@google.com>
Cc: Masahiro Yamada <masahiroy@kernel.org>,
Miguel Ojeda <ojeda@kernel.org>,
Fangrui Song <maskray@google.com>,
Michal Marek <michal.lkml@markovi.net>,
Arnd Bergmann <arnd@kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Linux Kbuild mailing list <linux-kbuild@vger.kernel.org>,
clang-built-linux <clang-built-linux@googlegroups.com>,
Geert Uytterhoeven <geert@linux-m68k.org>,
Christoph Hellwig <hch@infradead.org>,
Nathan Chancellor <nathan@kernel.org>
Subject: Re: [PATCH v2 2/2] Makefile: infer CROSS_COMPILE from SRCARCH for LLVM=1 LLVM_IAS=1
Date: Tue, 20 Jul 2021 14:54:35 -0700 [thread overview]
Message-ID: <CAHk-=wiZe2FuiAOwhbKR_VMmFBKekz0NFREm4fvik25PEdcK_g@mail.gmail.com> (raw)
In-Reply-To: <CAKwvOdkvju7heeNpk87brsjkhXHbdKFsUgf63KWhXox9rDkQsA@mail.gmail.com>
On Tue, Jul 20, 2021 at 2:29 PM Nick Desaulniers
<ndesaulniers@google.com> wrote:
>
> There's still some that we can eliminate for BOTH configure and actual
> build, like CROSS_COMPILE. :^)
I have this (perhaps odd) model where I use separate trees for
different things, which is something git obviously is partly designed
for.
So when I create a source tree, I usually create it for one particular
use - whether it be for one particular configuration (ie "build with
clang" or "set up a tree for a 32-bit cross compile" or whatever), or
whether it be for some particular development issue ("long-term branch
for testing asm goto with inputs").
Yeah, sometimes I use multiple git branches in the same tree for
things - but I tend to do that mainly for short-term things where I
don't expect to keep working on it over time.
End result: I find 'make' command line flags to be really really
annoying, because then I have to match them to whatever tree I'm in.
I'd much rather have a local per-tree configuration that just sticks
around. It's why ".config" works fairly well for me.
But there are other things that stick around. In particular, I have
considered simply using git config variables for that.
Something like this in the main Makefile:
ARCH=$(shell git config build.arch)
CC=$(shell git config --default=gcc build.cc)
would actually be optimal for what _I_ do. Then for my clang build tree, I'd do
git config build.cc clang
and it would stick in that tree. If you don't set the option, it would use gcc.
Maybe that would be an acceptable model these days? We've used git
long enough that non-git worries aren't a big deal any more, and I
guess people could use the old-fashioned
make CC=clang
if they don't use git.
We could get rid of all the CROSS_COMPILE etc garbage that way,
because you'd just set it in the .git/config file. Those are really
convenient and easy to edit.
Would people hate that kind of model?
Linus
next prev parent reply other threads:[~2021-07-20 21:55 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-08 23:25 [PATCH v2 0/2] infer CROSS_COMPILE from SRCARCH for LLVM=1 LLVM_IAS=1 Nick Desaulniers
2021-07-08 23:25 ` [PATCH v2 1/2] Makefile: move initial clang flag handling into scripts/Makefile.clang Nick Desaulniers
2021-07-09 20:12 ` Nathan Chancellor
2021-07-08 23:25 ` [PATCH v2 2/2] Makefile: infer CROSS_COMPILE from SRCARCH for LLVM=1 LLVM_IAS=1 Nick Desaulniers
2021-07-09 20:44 ` Nathan Chancellor
2021-07-20 8:04 ` Masahiro Yamada
2021-07-20 17:30 ` Nathan Chancellor
2021-07-21 3:49 ` Masahiro Yamada
2021-07-28 18:59 ` Nick Desaulniers
2021-07-28 22:35 ` Masahiro Yamada
2021-07-20 17:42 ` Linus Torvalds
2021-07-20 19:58 ` Arnd Bergmann
2021-07-20 20:18 ` Nick Desaulniers
2021-07-21 4:04 ` Masahiro Yamada
2021-07-23 19:54 ` Geert Uytterhoeven
2021-07-24 13:46 ` Masahiro Yamada
2021-07-26 20:27 ` Eric W. Biederman
2021-07-27 7:07 ` Geert Uytterhoeven
2021-07-27 7:49 ` Arnd Bergmann
2021-07-27 7:55 ` Geert Uytterhoeven
2021-07-27 8:21 ` Arnd Bergmann
2021-07-27 10:10 ` Masahiro Yamada
2021-07-27 14:16 ` Eric W. Biederman
2021-07-27 15:45 ` Masahiro Yamada
2021-07-27 18:46 ` Eric W. Biederman
2021-07-28 22:31 ` Masahiro Yamada
2021-07-20 20:52 ` Nick Desaulniers
2021-07-20 21:11 ` Linus Torvalds
2021-07-20 21:27 ` Nick Desaulniers
2021-07-21 4:53 ` Masahiro Yamada
2021-07-20 21:29 ` Nick Desaulniers
2021-07-20 21:54 ` Linus Torvalds [this message]
2021-07-20 23:19 ` Linus Torvalds
2021-07-20 23:22 ` Linus Torvalds
2021-07-21 5:12 ` Masahiro Yamada
2021-07-21 4:52 ` Christoph Hellwig
2021-07-21 5:33 ` Masahiro Yamada
2021-07-21 4:31 ` Masahiro Yamada
2021-07-21 4:44 ` Christoph Hellwig
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='CAHk-=wiZe2FuiAOwhbKR_VMmFBKekz0NFREm4fvik25PEdcK_g@mail.gmail.com' \
--to=torvalds@linux-foundation.org \
--cc=arnd@kernel.org \
--cc=clang-built-linux@googlegroups.com \
--cc=geert@linux-m68k.org \
--cc=hch@infradead.org \
--cc=linux-kbuild@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=masahiroy@kernel.org \
--cc=maskray@google.com \
--cc=michal.lkml@markovi.net \
--cc=nathan@kernel.org \
--cc=ndesaulniers@google.com \
--cc=ojeda@kernel.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;
as well as URLs for NNTP newsgroup(s).