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