[LWN Logo]
[LWN.net]
From: Keith Owens <kaos@ocs.com.au>
To: kbuild-devel@lists.sourceforge.net
Subject: [kbuild-devel] kbuild 2.5 against 2.4.3
Date: Sun, 01 Apr 2001 06:40:08 -0700

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Content-Type: text/plain; charset=us-ascii

I just uploaded my kbuild 2.5 code against kernel 2.4.3.

The patch defines 13,200 lines in 210 new files.  No existing 2.4.3
files are changed, this patch runs in parallel with kbuild 2.4.

Use the patch by defining your source and object tree, either in the
environment or on the make command line.  I test with a 2.4.3 kernel
with the kbuild-2.4.3 patch and a separate kdb shadow tree.  You can
test with just one source tree, source and object can be the same, if
no KBUILD_xxxTREEs are defined then source and default to current
directory.

# cat /usr/src/tree-2.4.3 
export KBUILD_SRCTREE_001=/usr/src/kdb-2.4.3
export KBUILD_SRCTREE_000=/usr/src/2.4.3-makefile-2.5
export KBUILD_OBJTREE=/usr/src/object-2.4.3-kdb
# . tree-2.4.3
# make -f $KBUILD_SRCTREE_000/Makefile-2.5 <whatever>

This is a work in progress.  My TODO list (feel free to work on these,
I will be off the net for the next few weeks)

* Add CML2 support.  The code already supports CML1 (it has to for
  parallel testing) using a symlink forest in .tmp_config/links.  ESR
  and I decided that CML2 support would be done the same way, i.e.
  find all the files that CML2 needs to read, create the symlink forest
  (see scripts/Makefile-2.5, "Start of config handling") and run CML2
  in the forest.  Either use different names for the targets (xconfig2)
  or use variable KBUILD_CML to select which configurator to use,
  default 1.

* Add installation locations for System.map, .config, vmlinux,
  [b]zImage to menu arch/$(ARCH)/boot/config.install-2.5.

* Support other architectures.  I have only converted the i386 boot
  code so far and even that is missing the root install targets.
  arch/i386/boot/Makefile.in has some install code but it is old style,
  wrapped in ifeq (1,0).  Russell King (ARM) is interested in
  converting to kbuild-2.5.

* Handle implicit dependencies.  This is the big one, the generated
  global makefile only contains explicit dependencies and commands to
  compile straight from source to object.  If you change an included
  file or a config option then nothing gets recompiled.  I started to
  write a spec for this but ran out of time, I will complete the spec
  and try to mail it from somewhere.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.3 (GNU/Linux)
Comment: Exmh version 2.1.1 10/15/1999

iD8DBQE6xy+4i4UHNye0ZOoRAqGLAJ9K2QMJAe3wXtsWB+NN1o2vnftR6ACfbCd/
yYJCTMcPaU5hoKkBp0bUMzo=
=VCgx
-----END PGP SIGNATURE-----


_______________________________________________
kbuild-devel mailing list
kbuild-devel@lists.sourceforge.net
http://lists.sourceforge.net/lists/listinfo/kbuild-devel