NetBSD/tools/gdb
christos b077f17d15 Disable mpfr to make MKCROSSGDB work again. The problem is that the default
(auto) finds the mpfr library in tools, but then when it tries to build using
the proper headers it does not find it anymore since we don't install it
(like the native build does not find it).
2019-06-01 17:02:59 +00:00
..
Makefile Disable mpfr to make MKCROSSGDB work again. The problem is that the default 2019-06-01 17:02:59 +00:00
mknative-gdb adjust for gdb-8.3 2019-05-29 01:56:06 +00:00
README.mknative

$NetBSD: README.mknative,v 1.5 2011/09/26 02:36:19 christos Exp $

This file describes how to use the cross-compiler to generate the
native files for GDB on a target platform.

NOTE:  DO NOT RUN "mknative" BY HAND!  It requires the Makefile in this
directory to set up certain environments first.

Since libc's features change over time, the config.h files can change as a
result; thus the instructions below are the same no matter whether
bootstrapping on a cross or native host.  This is important: even on a
"native" host, you should bootstrap the toolchain by building from an
up-to-date source tree to a $DESTDIR using the exact same instructions.

In these notes, MACHINE is the $MACHINE of the target.  These files can be
cross-generated.  Though a $MACHINE_ARCH all uses the same config files, you
must pick a specific $MACHINE so that building the requisite bits below will
work.

1. Set MKMAINTAINERTOOLS=yes in mk.conf.  (Needed so that src/tools/gettext
   gets built, eliciting proper HAVE_*GETTEXT* defns in config.h files.)

2. Build and install a cross toolchain (via "build.sh -m MACHINE tools").

3. At top level, do "nbmake-MACHINE do-distrib-dirs obj includes".

4. In src/gnu/lib/crtstuff4 do "nbmake-MACHINE depend all install"

5. In src/lib/csu, src/gnu/lib/libgcc4, and src/lib, do
   "nbmake-MACHINE all install".

6. In src/tools/gdb, do "nbmake-MACHINE obj native-gdb".

   This will do a full configury in ${.OBJDIR}/.native that is a "Canadian"
   cross toolchain (--build reflects the host platform, but --host and
   --target are the target).  The result is a tree that would build a
   native-to-NetBSD GDB on a cross host, and mknative pulls glue data
   from this.

   NOTE: this step writes files under src/external/gpl3/gdb/bin/gdb, so you
   need to do it in a writable src tree!

7. Try out a full build using "nbmake-MACHINE" in
   src/external/gpl3/bin/gdb; the result should include a native GDB.

8. If all is well, commit the glue files and directories added to
   src/external/gpl3/gdb/bin/gdb.