On Sat, Jul 20, 2024 at 7:55 AM Josh Poimboeuf <jpoimboe@xxxxxxxxxx> wrote: > > On Thu, Jul 18, 2024 at 03:28:19AM +0900, Masahiro Yamada wrote: > > Kbuild provides scripts/Makefile.host to build host programs used for > > building the kernel. Unfortunately, there are two exceptions that opt > > out of Kbuild. The build system under tools/ is a cheesy replica, and > > cause issues. I was recently poked about a problem in the tools build > > system, which I do not maintain (and nobody maintains). [1] > > > > Without a comment, people might believe this is the right location > > because that is where objtool lives, even if a more robust Kbuild > > syntax satisfies their needs. [2] > > I think the original idea (from Ingo?) was to make objtool portable so > it could be easily copied and built separately without getting too > intertwined with the kernel source. > > I think that's still a useful goal. To my knowledge it's been used in > at least one other code base and could be used elsewhere going forward > as much of its functionality might be transferable to other code bases. > > Also being in tools helps it shares library code (libsubcmd) and > synced headers with perf (and others). > > If there's some other way to make it portable and allow it to share code > with other tools that then I wouldn't object to moving it to scripts. > > Or, if the main problem is that there are two custom build systems (one > of them being a cheap knockoff), could kbuild be made portable enough to > be used in tools? I checked Debian and Fedora, but I did not find such a package that provides objtool as a standalone tool. In reality, objtool is tightly bound to the kernel source. If people had thought it useful outside the kernel tree, such a disto package would have been widely available. I do not think there is a good reason to complicate Kbuild based on the hypothetical statement. -- Best Regards Masahiro Yamada