# hdw - linux CROSS-BUILD howto

with the toolchain concept introduced in version 0.3 of hdw-linux,
crosscompiling a minimal linux system - which will be used to continue with
native builds on the foreign architecture hardware - or even building complete
distributions for slow/embedded hardware should be possible.

here are some guidelines for people developing for aliens.

1) 'straight forward' crossbuilds

  - in Config file set:
   o hdw_arch		to the alien target architecture
   o hdw_arch_opt	and the supported cpu optimization
   o hdw_crossbuild	to "1", so the scripts know about it

  - hack ./scipts/Config file to fix/improve/support your alien architecture

  - add conditional actions to the toolchain and early base packages

  - for architecture specific patches:
   o use -u option of diff
   o create patches being applied in the package directory via p1
   o put these patches to config directory with ending .patch.${hdw_arch}

  - most important: submit your changes!

2) 'tricky' crossbuilds (WTF? - yes, i just dont know any better word ... )

   what are tricky crossbuilds? as i am not able to explain that, i will
   just give you 2 examples:

   1)
	host system: sparc64 running 64bit kernel with 32bit userland
	target system: sparc64 (including 64bit userland)

   2)
	host system: ia32 i686
	target system: ia32 i586

   to get around some troubles here diffrent things were implemented:

	o misc/crossbuild/fake_utsname/ - a kernel module to fake the
	  uname output
	o hdw_real_build - a config parameter that will cause the
	  --build configure flag to the real host system compilers

as you see, crossbuilds are still devel. feel free to hack the scripts, ask
questions or even kill me for that braindead implementations.

interesting files:
Config
scripts/Config
scripts/optimize
packages/toolchain/*
misc/crossbuild/fake_utsname/*

have fun, hackbard.

