Home | History | Annotate | Line # | Download | only in gdb
README.mknative revision 1.4
      1  1.4      uwe $NetBSD: README.mknative,v 1.4 2006/11/23 23:33:56 uwe Exp $
      2  1.1  nathanw 
      3  1.1  nathanw This file describes how to use the cross-compiler to generate the
      4  1.1  nathanw native files for GDB on a target platform.
      5  1.1  nathanw 
      6  1.1  nathanw NOTE:  DO NOT RUN "mknative" BY HAND!  It requires the Makefile in this
      7  1.1  nathanw directory to set up certain environments first.
      8  1.1  nathanw 
      9  1.1  nathanw Since libc's features change over time, the config.h files can change as a
     10  1.1  nathanw result; thus the instructions below are the same no matter whether
     11  1.1  nathanw bootstrapping on a cross or native host.  This is important: even on a
     12  1.1  nathanw "native" host, you should bootstrap the toolchain by building from an
     13  1.1  nathanw up-to-date source tree to a $DESTDIR using the exact same instructions.
     14  1.1  nathanw 
     15  1.1  nathanw In these notes, MACHINE is the $MACHINE of the target.  These files can be
     16  1.1  nathanw cross-generated.  Though a $MACHINE_ARCH all uses the same config files, you
     17  1.1  nathanw must pick a specific $MACHINE so that building the requisite bits below will
     18  1.1  nathanw work.
     19  1.1  nathanw 
     20  1.1  nathanw 1. Set MKMAINTAINERTOOLS=yes in mk.conf.  (Needed so that src/tools/gettext
     21  1.1  nathanw    gets built, eliciting proper HAVE_*GETTEXT* defns in config.h files.)
     22  1.1  nathanw 
     23  1.1  nathanw 2. Build and install a cross toolchain (via "build.sh -m MACHINE tools").
     24  1.1  nathanw 
     25  1.1  nathanw 3. At top level, do "nbmake-MACHINE do-distrib-dirs obj includes".
     26  1.1  nathanw 
     27  1.2      mrg 4. In src/gnu/lib/crtstuff4 do "nbmake-MACHINE depend all install"
     28  1.1  nathanw 
     29  1.3      uwe 5. In src/lib/csu, src/gnu/lib/libgcc4, and src/lib, do
     30  1.3      uwe    "nbmake-MACHINE all install".
     31  1.1  nathanw 
     32  1.1  nathanw 6. In src/tools/gdb, do "nbmake-MACHINE obj native-gdb".
     33  1.1  nathanw 
     34  1.1  nathanw    This will do a full configury in ${.OBJDIR}/.native that is a "Canadian"
     35  1.1  nathanw    cross toolchain (--build reflects the host platform, but --host and
     36  1.1  nathanw    --target are the target).  The result is a tree that would build a
     37  1.1  nathanw    native-to-NetBSD GDB on a cross host, and mknative pulls glue data
     38  1.1  nathanw    from this.
     39  1.1  nathanw 
     40  1.4      uwe    NOTE: this step writes files under src/gnu/usr.bin/gdb6, so you
     41  1.4      uwe    need to do it in a writable src tree!
     42  1.4      uwe 
     43  1.1  nathanw 7. Try out a full build using "nbmake-MACHINE" in
     44  1.1  nathanw    src/gnu/usr.bin/gdb6; the result should include a native GDB.
     45  1.1  nathanw 
     46  1.1  nathanw 8. If all is well, commit the glue files and directories added to
     47  1.1  nathanw    src/gnu/usr.bin/gdb6.
     48