Home | History | Annotate | Line # | Download | only in compat
README revision 1.1
      1 $NetBSD: README,v 1.1 2008/10/26 07:38:28 mrg Exp $
      2 
      3 This directory contains Makefile fragments that will build all of the
      4 NetBSD libraries in 32-bit mode and install them into /usr/lib/<arch>
      5 and also install a /usr/libexec/ld.elf_so-<arch>.
      6 
      7 This is current only supported for the amd64 and sparc64 platforms,
      8 where <arch> is "i386" or "sparc" respectively.  (It could be used to
      9 build MIPS o32 libraries on n32 system, but not both n32 and o32 on
     10 a n64 system.  It only supports one extra target.)
     11 
     12 
     13 Most of the makefiles here were built with the "build-makefiles" script.
     14 The expections are lib/csu/Makefile and ld.elf_so/Makefile.
     15 
     16 
     17 The method used is the:
     18 	- evaluate some local variables
     19 	- switch .CURDIR
     20 	- include original Makefile,
     21 	- evaluate some variables
     22 	- switch .CURDIR back
     23 that is used by crunchgen to build eg, installer media or /rescue.
     24 
     25 
     26 
     27 TODO:
     28 	- currently, LIBDPLIBS evaluation gets the src/lib directories
     29 	  not the src/compat/lib ones, and this causes build-time link
     30 	  failures.  it's work-around-able by running "nbmake-foo
     31 	  install" manually in each library not found.
     32 	- some yacc issue -- libc, libipsec and libpcap need "make" run
     33 	  to generate headers properly, otherwise it complains about
     34 	  no way to get to foo.h.
     35 	- there's an ugly hack to make libpam build correctly again the
     36 	  right libc.  ld.elf_so has a similar (but less ugly hack.)
     37 
     38 
     39 Future work
     40 
     41 Ideally this should be able to handle any number of compat targets.
     42 Perhaps using a "force MAKEOBJDIR, and run-run make" solution will
     43 work, but my initial attempts got me no where.  If not, perhaps
     44 build-makefiles could be expanded to be used at run-time in such
     45 a per-compat target obj-dir.
     46