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