[Buildroot] per-project uclibc configuration does not really w ork

Ulf Samuelsson ulf at atmel.com
Thu Nov 1 17:16:00 UTC 2007


buildroot's project support (eg saveconfig target) appears to offer
per-project uClibc .config support and per-project uClibc version selection.

=> Once you have built 
  the toolchain for one
  project the rest of
  the projects should
  use that as an external
  toolchain and none of the
  gcc,binutils,uClibc 
  configuration items in
  Toolchain should be
  changed.



However, uclibc is built into the per-arch toolchain_build_$(ARCH) 
directory and installed into build_$(ARCH), rather than the per-project
build directory project_build_$(ARCH)/$(PROJECT). And so is the gcc
cross-compiler built against that uclibc.

Only a few packages build into the per-project build directly, name
busybox and uclibc. The problem is that if you change your uclibc
configuration you may well need to rebuild all your programs too,
because autoconf tests might return different results etc.

=> AII configurable packages
  should be built ln 
  project-build-arch if
  the reconfiguration results
  in the package binaries
  changing shape.
  If the package builds
  several binaries and
  the configuration only
  changes which binaries
  are copied to the 
  target dir, then the
  package can be built in
  build-dir.

Effectively you have to build everything per-project (including the
whole toolchain).

=> Dont change the toolchain
   and you get the benefit.

Is there much benefit in trying to share package builds between
projects, as buildroot does right now?

=> Yes, if you build several
   boards with a common
   toolchain you reduce
   the build time for each
   package to a fraction
   of a second.


Best Regards
Ulf Samuelsson




More information about the buildroot mailing list