Peter Samuelson wrote: > > [Sam Ravnborg] > > > Obviously the kernel build system should work for everyone irrespective > > > of the SCM system in use. This put at least the following demands: > > > 1) Separate OBJ and SRC tree > > > 2) That kbuild does not touch any files in the SRC tree > > Agreed. It looks like Kai is close to that point. Actually VPATH > does all the work for you if you let it,
Yes, VPATH is very useful. > [...] (Come to think of it, VPATH can almost do shadow trees - > though it would fail to comprehend different layers of Makefiles.) I think the problem of Makefile bits in shadow trees is really quite difficult. Keith's solution of pre-processing Makefiles and Makefile.appends from all the shadow trees into a combined Makefile doesn't handle all the cases but is the best attempt I've seen so far. > [Greg Banks] > > This is the same reason why we have the extraordinary complexity of > > autoconf and automake for usermode programs: it's regrettably > > necessary to deal with imperfect and unfixable platforms. > > Ah, but note that the Linux kernel build does *not* use autoconf or > automake. Why not? Because the platform *is* seen as fixable after > all. If your old, weird platform has <strings.h> instead of > <string.h> - tough, you'll have to fix your platform before you > compile mkdep.c or split-include.c. If you don't happen to have a > perror() - tough again. We assume not only a decent ANSI C compiler - > we assume a specific range of gcc versions. Etc. So now we assume BK? What's next, Python 2.1? > > [...] The beauty of having proper > > shadow trees is that the trees are kept completely separate at all > > times except in the compiler. [...] > > There is that. But if you regard "cobble together a build-only source > tree" as the first stage of your build process, this shouldn't be a > problem. This would be the case if the build process were simple and linear and consisted of just cobbling together a combined source tree and then building a kernel image. But in my experience it comprises a number of loops where I go back and fix simple compile errors (either my own or the latest IDE breakage from the mainline kernel) and do a partial rebuild. A solution where I have to cobble together 174 MB of kernel source every time I fix a one-line compile error is not useful. > > > > [...] In some (most?) SCM systems, the checkout process on a > > > > file resets the timestamp to when it was checked in. > > > CVS does this. Maybe there's a way to turn it off, I don't know. > > Huh? Not for me. It sets current time on anything *I* check out. > Maybe there's a way to turn that screwy feature *on*.... I guess Mandrake must have done that, because that's how it behaves for me. Here's part of a brand new checkout: gnb@ocelot 1006> ls -l total 584 -rw-r--r-- 1 gnb sh3 11651 Jun 1 1999 ABOUT-NLS -rw-r--r-- 1 gnb sh3 13911 Sep 28 2001 CHANGES -rw-r--r-- 1 gnb sh3 17992 May 29 1999 COPYING -rw-r--r-- 1 gnb sh3 94 Jul 25 2001 COPYRIGHT drwxr-xr-x 2 gnb sh3 4096 Jun 26 00:29 CVS/ -rw-r--r-- 1 gnb sh3 5285 Sep 22 2001 Makefile.in -rw-r--r-- 1 gnb sh3 18670 Sep 28 2001 TODO -rw-r--r-- 1 gnb sh3 747 Jun 10 1999 argstest.awk -rw-r--r-- 1 gnb sh3 4208 Jun 10 1999 argstest.dat -rw-r--r-- 1 gnb sh3 26916 Sep 22 2001 autoconf.c -rw-r--r-- 1 gnb sh3 2838 Sep 22 2001 autoconf_strs.c -rw-r--r-- 1 gnb sh3 4008 Sep 21 2001 client.c -rw-r--r-- 1 gnb sh3 2095 Oct 2 2001 common.h -rwxr-xr-x 1 gnb sh3 17285 May 30 1999 config.guess* -rw-r--r-- 1 gnb sh3 3597 Jul 27 2001 config.h.in -rwxr-xr-x 1 gnb sh3 18001 May 30 1999 config.sub* -rw-r--r-- 1 gnb sh3 4757 Sep 28 2001 configure.in drwxr-xr-x 4 gnb sh3 4096 Jun 26 00:29 doc/ -rwxr-xr-x 1 gnb sh3 1618 Oct 7 2001 extract_targets.in* -rw-r--r-- 1 gnb sh3 13057 Sep 2 2001 filter.c -rw-r--r-- 1 gnb sh3 1619 Jul 25 2001 filter.h -rw-r--r-- 1 gnb sh3 12961 Sep 22 2001 find.c -rw-r--r-- 1 gnb sh3 5370 Jul 27 2001 glib_extra.c -rw-r--r-- 1 gnb sh3 1177 Jul 25 2001 glib_extra.h -rw-r--r-- 1 gnb sh3 11012 Sep 22 2001 help.c Note the directories are set to current time but the files are set to the time of the last checkin. Greg. -- the price of civilisation today is a courageous willingness to prevail, with force, if necessary, against whatever vicious and uncomprehending enemies try to strike it down. - Roger Sandall, The Age, 28Sep2001. ------------------------------------------------------- Sponsored by: ThinkGeek at http://www.ThinkGeek.com/ _______________________________________________ kbuild-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/kbuild-devel