All of lore.kernel.org
 help / color / mirror / Atom feed
From: Elliott Mitchell <ehem+linux@m5p.com>
To: Nicolas Schier <nicolas@fjasle.eu>
Cc: masahiroy@kernel.org, nathan@kernel.org, linux-kbuild@vger.kernel.org
Subject: Re: [WIP PATCH 00/30] Adding trailing slash to $(*tree)
Date: Mon, 4 Mar 2024 11:36:27 -0800	[thread overview]
Message-ID: <ZeYiu3V+Q5xItFHD@mattapan.m5p.com> (raw)
In-Reply-To: <ZeWa_qAsfmxJ5KFy@buildd.core.avm.de>

On Mon, Mar 04, 2024 at 10:57:18AM +0100, Nicolas Schier wrote:
> 
> can you please describe a concrete problem you want to solve with your
> patch set?  Masahiro already asked in [1], and I still don't get your
> motivation while reading your cover letter.  It would be helpful to see
> your goal when looking at your patches.

I'm trying to develop an alternative kernel build system for one Linux
distribution.  Due to how other pieces of the distribution work it seems
using the out-of-tree build mechanism to build in-tree modules may be a
better approach.  This may be abusing the current build system, but if it
works without breaking anything else that should be acceptable.

The problem I've run into is due to the mechanisms of the build system,
the variable $(srctree) gets the value "." while $(src) got the value of
$(CURDIR).

At which point various places which use $(srctree)/$(src) ended up with
the value ./`pwd` and that doesn't work.  Almost all uses of $(srctree)
had it followed with a slash, so if $(srctree) includes the trailing
slash, $(srctree)$(src) ends up the correct value.

This may be outside the envelope of what is supportted, but if it works
without breaking anything it really should be okay.


> Also, I cannot see the problem with commit 16671c1e1cac2 that you
> mentioned.  If a subtree does not want to inherit some variables, but
> re-use the same names, it seems quite legitimate to me to reset those
> variables before use.

Take a quick glance at patch #27.  Basically every Makefile inside tools/
sets $(srctree) to the equivalent of $(abs_srctree).  This suggests
16671c1e1cac2 was working around an issue for tools/perf, but instead
the issue effects most of the Makefiles.  I'm left suspecting the issue
was later fixed for tools/perf and 16671c1e1cac2 was a mistake.

I suspect at this point removing the lines at the top of tools/Makefile
added by 16671c1e1cac2 and removing all those duplications would work
better.  All I'm certain of is the present situation it doesn't look
right.

Another option is dropping the last 4 looks viable.  Due to ending up
with absolute paths, their values of $({src|obj}tree) are likely
non-problematic for me.


-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |         ehem+sigmsg@m5p.com  PGP 87145445         |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445



  reply	other threads:[~2024-03-04 19:36 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-03 23:24 [WIP PATCH 00/30] Adding trailing slash to $(*tree) Elliott Mitchell
2024-03-01 19:48 ` [WIP PATCH 07/30] build: modify uses of $(srctree) to assume trailing slash Elliott Mitchell
2024-03-01 19:48 ` [WIP PATCH 06/30] " Elliott Mitchell
2024-03-01 19:48 ` [WIP PATCH 29/30] tools/build: " Elliott Mitchell
2024-03-01 19:48 ` [WIP PATCH 11/30] scripts: " Elliott Mitchell
2024-03-01 20:03 ` [WIP PATCH 12/30] " Elliott Mitchell
2024-03-01 20:03 ` [WIP PATCH 08/30] build: " Elliott Mitchell
2024-03-01 20:51 ` [WIP PATCH 01/30] build: replace uses of $(abspath ) with existing variables Elliott Mitchell
2024-03-04  9:50   ` Nicolas Schier
2024-03-04 10:01     ` Nicolas Schier
2024-03-04 19:45       ` Elliott Mitchell
2024-03-05 10:51         ` Nicolas Schier
2024-03-01 23:26 ` [WIP PATCH 16/30] scripts/dtc: dtx_diff: include trailing slash in ${srctree} variable Elliott Mitchell
2024-03-01 23:50 ` [WIP PATCH 25/30] scripts/coccicheck: modify to handle ${srctree} with trailing slash Elliott Mitchell
2024-03-01 23:50 ` [WIP PATCH 02/30] " Elliott Mitchell
2024-03-02  0:29 ` [WIP PATCH 15/30] build/scripts: install.sh: modify use of ${srctree} for " Elliott Mitchell
2024-03-02  0:32 ` [WIP PATCH 17/30] build/scripts: generate_initcall_order.pl: " Elliott Mitchell
2024-03-02  0:33 ` [WIP PATCH 18/30] build/scripts: streamline_config.pl: " Elliott Mitchell
2024-03-02  1:08 ` [WIP PATCH 14/30] build/scripts: link-vmlinux.sh: modify use of ${objtree} " Elliott Mitchell
2024-03-02  1:43 ` [WIP PATCH 19/30] scripts/package: mkdebian: modify use of ${srctree} to assume " Elliott Mitchell
2024-03-02  1:43 ` [WIP PATCH 20/30] scripts/package: buildtar: " Elliott Mitchell
2024-03-02  1:46 ` [WIP PATCH 22/30] scripts/nsdeps: " Elliott Mitchell
2024-03-02  1:47 ` [WIP PATCH 23/30] build/scripts: makelst: modify suggested use of ${srctree} for " Elliott Mitchell
2024-03-02  2:01 ` [WIP PATCH 21/30] scripts/package: mkspec: modify use of ${srctree} to assume " Elliott Mitchell
2024-03-02  2:02 ` [WIP PATCH 24/30] scripts/generate_rust_analyzer.py: modify use of ${srctree} for " Elliott Mitchell
2024-03-03 22:11 ` [WIP PATCH 03/30] build: handle optional trailing slash in $(srctree) Elliott Mitchell
2024-03-03 23:24 ` [WIP PATCH 13/30] scripts: modify uses of $(objtree) to assume trailing slash Elliott Mitchell
2024-03-03 23:24 ` [WIP PATCH 10/30] scripts: modify uses of $(srctree) " Elliott Mitchell
2024-03-03 23:24 ` [WIP PATCH 09/30] build: modify uses of $(objtree) " Elliott Mitchell
2024-03-03 23:24 ` [WIP PATCH 27/30] tools/build: add trailing slash to $(*tree) Elliott Mitchell
2024-03-03 23:24 ` [WIP PATCH 28/30] tools/build: modify uses of $(srctree) to assume trailing slash Elliott Mitchell
2024-03-03 23:24 ` [WIP PATCH 05/30] build: " Elliott Mitchell
2024-03-03 23:24 ` [WIP PATCH 30/30] tools/build: modify uses of $(objtree) " Elliott Mitchell
2024-03-03 23:24 ` [WIP PATCH 26/30] build: change $(*tree) to empty for current directory Elliott Mitchell
2024-03-03 23:24 ` [WIP PATCH 04/30] build: add trailing slash to $(*tree) Elliott Mitchell
2024-03-04  9:57 ` [WIP PATCH 00/30] Adding " Nicolas Schier
2024-03-04 19:36   ` Elliott Mitchell [this message]
2024-03-05 10:43     ` Nicolas Schier
2024-03-07  0:02       ` Elliott Mitchell
2024-03-05 15:20     ` Masahiro Yamada
2024-03-07  0:09       ` Elliott Mitchell
2024-03-10 13:07         ` Masahiro Yamada
2024-03-12  0:15           ` Elliott Mitchell
2024-03-13  4:22             ` Masahiro Yamada

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=ZeYiu3V+Q5xItFHD@mattapan.m5p.com \
    --to=ehem+linux@m5p.com \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=masahiroy@kernel.org \
    --cc=nathan@kernel.org \
    --cc=nicolas@fjasle.eu \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.