bf7113376a
programs there; make all Makefiles that use bsd.hostprog.mk include it. Namely turn off MKREPRO and don't make lint, man pages, info files etc. Remove the Makefile.inc files that contained these same settings, and remove the settings from Makefile.host |
||
---|---|---|
.. | ||
Makefile | ||
mknative-gdb | ||
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.