Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/src/BUILDING,v rcsdiff: /ftp/cvs/cvsroot/src/BUILDING,v: warning: Unknown phrases like `commitid ...;' are present. retrieving revision 1.27 retrieving revision 1.35 diff -u -p -r1.27 -r1.35 --- src/BUILDING 2003/01/30 02:52:41 1.27 +++ src/BUILDING 2003/05/25 12:34:28 1.35 @@ -132,6 +132,9 @@ CONFIGURATION Default: Empty string if USETOOLS is ``yes''; unset other- wise. + Note: build.sh will provide a default of destdir.MACHINE (in + the top-level .OBJDIR) unless run in `expert' mode + MAKECONF The name of the make(1) configuration file. Only settable in the process environment. @@ -291,7 +294,7 @@ CONFIGURATION ject directories will be created automatically (via a ``make obj'' pass) at the start of a build. - Default: ``yes'' + Default: ``no'' NBUILDJOBS Now obsolete. Use the make(1) option -j, instead (see below) @@ -328,8 +331,12 @@ CONFIGURATION Default: Unset. + Note: build.sh will provide a default of releasedir (in + the top-level .OBJDIR) unless run in `expert' mode + UPDATE If set, then in addition to the effects described for - UPDATE above, this implies the effects of NOCLEANDIR. + UPDATE above, this implies the effects of NOCLEANDIR + (i.e., ``make cleandir'' is avoided). BUILDING "make" command line options @@ -429,6 +436,9 @@ BUILDING distribution'' (as ``make build'' does not install all of the required files). + sourcesets Create source sets of the source tree into + RELEASEDIR/source/sets. + release Do a ``make distribution'', build kernels, distribution me- dia, and install sets (this as per ``make sets''), and then package the system into a standard release layout as de- @@ -475,6 +485,9 @@ BUILDING tools Build and install the host tools from src/tools. + install=idir Install the contents of DESTDIR to idir, using ``make + installworld''. + kernel=kconf Build a new kernel. The kconf argument is the name of a configuration file suitable for use by config(8). If kconf does not contain any `/' characters, the configuration file @@ -486,11 +499,16 @@ BUILDING date tools, it is strongly recommended that the tools be rebuilt (using the tools operation). - install=idir Install the contents of DESTDIR to idir, using ``make - installworld''. + releasekernel=kconf + Install a gzip(1)ed copy of the kernel built by + kernel=kconf into RELEASEDIR/MACHINE/binary/kernel, usually + as netbsd-kconf.gz, although the ``netbsd'' prefix is de- + termined from the ``config'' directives in kconf. sets Perform ``make sets''. + sourcesets Perform ``make sourcesets''. + The following command line options alter the behaviour of the above oper- ations: The following command line options alter the behaviour of the build.sh operations described above: @@ -522,9 +540,25 @@ BUILDING -m mach Set the value of MACHINE to mach. This will also override any value of MACHINE_ARCH in the process environment with a value - deduced from mach, unless -a is specified. All cross builds - require -m, but if unset on a NetBSD host, the host's value of - MACHINE will be detected and used automatically. + deduced from mach, unless -a is specified, or mach is a special + case listed below. All cross builds require -m, but if unset + on a NetBSD host, the host's value of MACHINE will be detected + and used automatically. + + Some machines support multiple values for MACHINE_ARCH. For a + given value of mach, the following MACHINE and MACHINE_ARCH + values will result: + + mach MACHINE MACHINE_ARCH + evbmips evbmips (not set) + evbmips-eb evbmips mipseb + evbmips-el evbmips mipsel + evbsh3 evbsh3 (not set) + evbsh3-eb evbsh3 sh3eb + evbsh3-el evbsh3 sh3el + sbmips sbmips (not set) + sbmips-eb sbmips mipseb + sbmips-el sbmips mipsel -n Show the commands that would be executed by build.sh, but do not make any changes. This is similar in concept to ``make @@ -535,7 +569,9 @@ BUILDING ting of /usr/obj will place build-time files under /usr/obj/bin, /usr/obj/lib, and so forth. - -o Set the value of MKOBJDIRS to ``no''. + -o Set the value of MKOBJDIRS to ``no''. Otherwise, it will be + automatically set to ``yes'' (which is opposite to the default + behaviour). -R rel Set the value of RELEASEDIR to rel. @@ -572,24 +608,30 @@ BUILDING with an absolute path. EXAMPLES - ./build.sh tools kernel=GENERIC - Build a new toolchain, and use the new toolchain to configure - and build a new GENERIC kernel. - - ./build.sh -U -D /path/to/destdir distribution - Using unprivileged mode, build a complete distribution in - /path/to/destdir. - - # ./build.sh -U -D /path/to/destdir installworld=/ - As root, install the distribution that was built with unprivi- - leged mode from /path/to/destdir to /. (Even though this is - run as root, -U is required so that the permissions stored in - /path/to/destdir/METALOG are correctly applied to the files as - they're copied to /). - - ./build.sh -U -D /path/to/destdir -R /path/to/releasedir release - Using unprivileged mode, build a complete release in - /path/to/dir/releasedir. + 1. ./build.sh tools kernel=GENERIC + + Build a new toolchain, and use the new toolchain to configure and + build a new GENERIC kernel. + + 2. ./build.sh -U distribution + + Using unprivileged mode, build a complete distribution to a DESTDIR + directory that build.sh selects (and will display). + + 3. # ./build.sh -U install=/ + + As root, install to / the distribution that was built by example 2. + Even though this is run as root, -U is required so that the permis- + sions stored in DESTDIR/METALOG are correctly applied to the files + as they're copied to /. + + 4. ./build.sh -U -u release + + Using unprivileged mode, build a complete release to DESTDIR and + RELEASEDIR directories that build.sh selects (and will display). + UPDATE (-u) is set to prevent the ``make cleandir'', so that if this + is run after example 2, it doesn't need to redo that portion of the + release build. OBSOLETE VARIABLES NBUILDJOBS Use the make(1) option -j, instead. @@ -608,4 +650,4 @@ HISTORY BUGS A few platforms are not yet using this build system. -NetBSD January 30, 2003 10 +NetBSD May 25, 2003 10