Re: [PATCH v2] kbuild: resolve symlinks for O= properly

From: Masahiro Yamada
Date: Fri Jan 26 2024 - 08:58:54 EST


On Mon, Jan 22, 2024 at 11:12 PM Sebastian Andrzej Siewior
<bigeasy@xxxxxxxxxxxxx> wrote:
>
> On 2023-12-16 01:06:37 [+0900], Masahiro Yamada wrote:
>
> > Using the physical directory structure for the O= option seems more
> > reasonable.
> >
> > The comment says "expand a shell special character '~'", but it has
> > already been expanded to the home directory in the command line.
>
> It might have been expanded, it might have not been expanded. Having a
> shell script:
> | #!/bin/sh
> |
> | exec make O=~/scratch/mk-check defconfig
>
> with bin/sh = dash results in:
>
> | make[1]: Entering directory '/home/bigeasy/linux/~/scratch/mk-check'
>
> while bin/sh = bash expands the ~ properly before for O=. Would it be
> too much to ask, to expand the ~?



Not only O=.


If the shell does not expand the '~' character,
there are more variables that do not work as expected.

For example,


$ make CROSS_COMPILE=~/path/to/compiler/dir

$ make M=~/path/to/external/module/dir'



It is strange to require only O= to expand the '~' character.


So, Kbuild should be agnostic about '~'. This is consistent.




>
> Sebastian
>


--
Best Regards
Masahiro Yamada