Subject: Re: problems w/current
To: None <Marc@Synergytics.Com>
From: Paul Kranenburg <pk@cs.few.eur.nl>
List: current-users
Date: 12/08/1993 01:29:05
> 
>Other OS environments I have worked with usually provide special make rules 
>which allow a non-native bootstrap build. I see that usr.bin/make has a 
>Makefile.dist which appears to be a good starting place. It would appear that I 
>need to modify the pathnames.h and the share/mk/*.mk files in order to generate 
>native tools from the netBSD sources which can then be used to essentially cross 
>compile.
> 
>Has anybody else been through this process yet? If so, I am missing something 
>important? If what I am seeing is accurate, should I consider trying to do this 
>in a clean manner, so that changes could be merged in the main pool to aid the 
> next person trying to do similiar things?
> 

I have succesfully bootstrapped NetBSD/i386 on a Sparc (and also NetBSD/sparc
which was somewhat easier). It would surely be nice to have a more or less
generally useable cross-development environment. There a number of tedious
things you run into, like having to weed through /usr/include looking for
header files that are needed by your "cross" tools on the host.

I found I needed the following set of programs to compile for the i386 on
a Sparc that allow me to do `make; make install' in the major source
directories with only a few hickups (like strip wanting to strip itself):

% ls -F /usr/local/x386
ar*	as*	cc@	config*	cpp*	dbsym*	diskless_setup*	gcc@
install*	ld*	lib/	libexec/	lorder*	make*	mkdep*
nm*	ranlib*	size*	strip*	symorder*


Some of these are just there because the native tools expect different
command-line options than the BSD ones do; some of these are just shell
script wrappers. Endianess is of cause a major spoil sport and accounts
for the majority of source changes (I keep a `/usr/xsrc' for the purpose,
which must be maintained manually as source changes for the "originals"
come in).

Oh yes, remember to define MACHINE and MACHINE_ARCH properly when building
make for your target machine.


-pk


------------------------------------------------------------------------------