[BACK]Return to README CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / compat

File: [cvs.NetBSD.org] / src / compat / README (download)

Revision 1.2, Mon Oct 27 07:22:22 2008 UTC (15 years, 5 months ago) by mrg
Branch: MAIN
CVS Tags: netbsd-5-base, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, matt-nb5-pq3-base, matt-nb5-pq3, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20091211, matt-nb4-mips64-k7-u2a-k9b
Branch point for: netbsd-5, matt-nb5-mips64
Changes since 1.1: +6 -8 lines

update this to match reality.

$NetBSD: README,v 1.2 2008/10/27 07:22:22 mrg Exp $

This directory contains Makefile fragments that will build all of the
NetBSD libraries in 32-bit mode and install them into /usr/lib/<arch>
and also install a /usr/libexec/ld.elf_so-<arch>.

This is current only supported for the amd64 and sparc64 platforms,
where <arch> is "i386" or "sparc" respectively.  (It could be used to
build MIPS o32 libraries on n32 system, but not both n32 and o32 on
a n64 system.  It only supports one extra target.)


Most of the makefiles here were built with the "build-makefiles" script.
The expections are lib/csu/Makefile and ld.elf_so/Makefile.


The method used is the:
	- evaluate some local variables
	- switch .CURDIR
	- include original Makefile,
	- evaluate some variables
	- switch .CURDIR back
that is used by crunchgen to build eg, installer media or /rescue.



TODO:
	- some yacc issue -- libc, libipsec and libpcap need "make" run
	  to generate headers properly, otherwise it complains about
	  no way to get to foo.h.  this is currently hacked by putting
	  a rule "foo.h: foo.c" in the (generated) makefiles
	- there's an ugly hack to make libpam build correctly again the
	  right libc.  ld.elf_so has a similar (but less ugly hack)
	- not sure that /usr/lib/{i386,sparc}{,/i18n} are created 
	  properly yet

Future work

Ideally this should be able to handle any number of compat targets.
Perhaps using a "force MAKEOBJDIR, and run-run make" solution will
work, but my initial attempts got me no where.  If not, perhaps
build-makefiles could be expanded to be used at run-time in such
a per-compat target obj-dir.