Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src regen using 'make regen' in doc/
details: https://anonhg.NetBSD.org/src/rev/69db56502656
branches: trunk
changeset: 779388:69db56502656
user: wiz <wiz%NetBSD.org@localhost>
date: Fri May 25 13:47:30 2012 +0000
description:
regen using 'make regen' in doc/
diffstat:
BUILDING | 984 +++++++++++++++++++++++++++++++-------------------------------
1 files changed, 489 insertions(+), 495 deletions(-)
diffs (truncated from 1489 to 300 lines):
diff -r 7d5f422bdf10 -r 69db56502656 BUILDING
--- a/BUILDING Fri May 25 12:32:48 2012 +0000
+++ b/BUILDING Fri May 25 13:47:30 2012 +0000
@@ -1,193 +1,191 @@
-BUILDING(8) System Manager's Manual BUILDING(8)
+BUILDING(8) NetBSD System Manager's Manual BUILDING(8)
-NNAAMMEE
- BBUUIILLDDIINNGG -- Procedure for building NetBSD from source code.
+NAME
+ BUILDING -- Procedure for building NetBSD from source code.
-RREEQQUUIIRREEMMEENNTTSS
+REQUIREMENTS
NetBSD is designed to be buildable on most POSIX-compliant host systems.
- The basic build procedure is the same whether compiling _n_a_t_i_v_e_l_y (on the
- same NetBSD architecture) or _c_r_o_s_s _c_o_m_p_i_l_i_n_g (on another architecture or
+ The basic build procedure is the same whether compiling natively (on the
+ same NetBSD architecture) or cross compiling (on another architecture or
OS).
This source tree contains a special subtree, ``tools'', which uses the
host system to create a build toolchain for the target architecture. The
host system must have at least C and C++ compilers in order to create the
- toolchain (mmaakkee is not required); all other tools are created as part of
+ toolchain (make is not required); all other tools are created as part of
the NetBSD build process. (See the environment variables section below
if you need to override or manually select your compilers.)
-FFIILLEESS
- SSoouurrccee ttrreeee llaayyoouutt
- ddoocc//BBUUIILLDDIINNGG..mmddoocc
+FILES
+ Source tree layout
+ doc/BUILDING.mdoc
This document (in -mdoc troff format; the original copy).
- BBUUIILLDDIINNGG This document (in plaintext).
+ BUILDING This document (in plaintext).
- ttoooollss//ccoommppaatt//RREEAADDMMEE
+ tools/compat/README
Special notes for cross-hosting a NetBSD build on non-
NetBSD platforms.
- MMaakkeeffiillee The main Makefile for NetBSD; should only be run for
+ Makefile The main Makefile for NetBSD; should only be run for
native builds with an appropriately up-to-date version of
NetBSD make(1). (For building from out-of-date systems or
- on a non-native host, see the bbuuiilldd..sshh shell script.)
+ on a non-native host, see the build.sh shell script.)
- UUPPDDAATTIINNGG Special notes for updating from an earlier revision of
+ UPDATING Special notes for updating from an earlier revision of
NetBSD. It is important to read this file before every
build of an updated source tree.
- bbuuiilldd..sshh Bourne-compatible shell script used for building the host
+ build.sh Bourne-compatible shell script used for building the host
build tools and the NetBSD system from scratch. Can be
used for both native and cross builds, and should be used
instead of make(1) for any source tree that is updated and
recompiled regularly.
- ccrryyppttoo//ddiisstt//, ddiisstt//, ggnnuu//ddiisstt//
- Sources imported verbatim from third parties, without
- mangling the existing build structure. Other source trees
- in bbiinn through uussrr..ssbbiinn use the NetBSD make(1)
- ``reachover'' Makefile semantics when building these
- programs for a native host.
+ crypto/dist/, dist/, gnu/dist/
+ Sources imported verbatim from third parties, without man-
+ gling the existing build structure. Other source trees in
+ bin through usr.sbin use the NetBSD make(1) ``reachover''
+ Makefile semantics when building these programs for a
+ native host.
- ddiissttrriibb//, eettcc//
- Sources for items used when making a full release
- snapshot, such as files installed in DDEESSTTDDIIRR_/_e_t_c on the
- destination system, boot media, and release notes.
+ distrib/, etc/
+ Sources for items used when making a full release snap-
+ shot, such as files installed in DESTDIR/etc on the desti-
+ nation system, boot media, and release notes.
- tteessttss//, rreeggrreessss//
+ tests/, regress/
Regression test harness. Can be cross-compiled, but only
- run natively. _t_e_s_t_s_/ uses the atf(7) test framework;
- _r_e_g_r_e_s_s_/ contains older tests that have not yet been
+ run natively. tests/ uses the atf(7) test framework;
+ regress/ contains older tests that have not yet been
migrated to atf(7).
- ssyyss// NetBSD kernel sources.
+ sys/ NetBSD kernel sources.
- ttoooollss// ``Reachover'' build structure for the host build tools.
- This has a special method of determining out-of-date
- status.
+ tools/ ``Reachover'' build structure for the host build tools.
+ This has a special method of determining out-of-date sta-
+ tus.
- bbiinn// ...... uussrr..ssbbiinn//
+ bin/ ... usr.sbin/
Sources to the NetBSD userland (non-kernel) programs. If
any of these directories are missing, they will be skipped
during the build.
- xx1111// ``Reachover'' build structure for X11R6; the source is in
- XX1111SSRRCCDDIIRR.
+ x11/ ``Reachover'' build structure for X11R6; the source is in
+ X11SRCDIR.
- BBuuiilldd ttrreeee llaayyoouutt
+ Build tree layout
The NetBSD build tree is described in hier(7), and the release layout is
described in release(7).
-CCOONNFFIIGGUURRAATTIIOONN
- EEnnvviirroonnmmeenntt vvaarriiaabblleess
+CONFIGURATION
+ Environment variables
Several environment variables control the behaviour of NetBSD builds.
- HHOOSSTT__SSHH Path name to a shell available on the host system and
+ HOST_SH Path name to a shell available on the host system and
suitable for use during the build. The NetBSD build
system requires a modern Bourne-like shell with POSIX-
compliant features, and also requires support for the
``local'' keyword to declare local variables in shell
- functions (which is a widely-implemented but non-
- standardised feature).
+ functions (which is a widely-implemented but non-stan-
+ dardised feature).
Depending on the host system, a suitable shell may be
- _/_b_i_n_/_s_h, _/_u_s_r_/_x_p_g_4_/_b_i_n_/_s_h, _/_b_i_n_/_k_s_h (provided it is a
+ /bin/sh, /usr/xpg4/bin/sh, /bin/ksh (provided it is a
variant of ksh that supports the ``local'' keyword,
- such as ksh88, but not ksh93), or _/_u_s_r_/_l_o_c_a_l_/_b_i_n_/_b_a_s_h.
+ such as ksh88, but not ksh93), or /usr/local/bin/bash.
- Most parts of the build require HHOOSSTT__SSHH to be an
- absolute path; however, bbuuiilldd..sshh allows it to be a
- simple command name, which will be converted to an
- absolute path by searching the PPAATTHH.
+ Most parts of the build require HOST_SH to be an abso-
+ lute path; however, build.sh allows it to be a simple
+ command name, which will be converted to an absolute
+ path by searching the PATH.
- HHOOSSTT__CCCC Path name to C compiler used to create the toolchain.
+ HOST_CC Path name to C compiler used to create the toolchain.
- HHOOSSTT__CCXXXX Path name to C++ compiler used to create the toolchain.
+ HOST_CXX Path name to C++ compiler used to create the toolchain.
- MMAACCHHIINNEE Machine type, e.g., ``macppc''.
+ MACHINE Machine type, e.g., ``macppc''.
- MMAACCHHIINNEE__AARRCCHH Machine architecture, e.g., ``powerpc''.
+ MACHINE_ARCH Machine architecture, e.g., ``powerpc''.
- MMAAKKEE Path name to invoke make(1) as.
+ MAKE Path name to invoke make(1) as.
- MMAAKKEEFFLLAAGGSS Flags to invoke make(1) with. Note that bbuuiilldd..sshh
- ignores the value of MMAAKKEEFFLLAAGGSS passed in the
- environment, but allows MMAAKKEEFFLLAAGGSS to be set via the --VV
- option.
+ MAKEFLAGS Flags to invoke make(1) with. Note that build.sh
+ ignores the value of MAKEFLAGS passed in the environ-
+ ment, but allows MAKEFLAGS to be set via the -V option.
- MMAAKKEEOOBBJJDDIIRR Directory to use as the ..OOBBJJDDIIRR for the current
- directory. The value is subjected to variable
- expansion by make(1). Typical usage is to set this
- variable to a value involving the use of
- `${.CURDIR:S...}' or `${.CURDIR:C...}', to derive the
- value of ..OOBBJJDDIIRR from the value of ..CCUURRDDIIRR. Used only
- if MMAAKKEEOOBBJJDDIIRRPPRREEFFIIXX is not defined. MMAAKKEEOOBBJJDDIIRR can be
- provided only in the environment or via the --OO flag of
- bbuuiilldd..sshh; it cannot usefully be set inside a Makefile,
- including _m_k_._c_o_n_f or $${{MMAAKKEECCOONNFF}}.
+ MAKEOBJDIR Directory to use as the .OBJDIR for the current direc-
+ tory. The value is subjected to variable expansion by
+ make(1). Typical usage is to set this variable to a
+ value involving the use of `${.CURDIR:S...}' or
+ `${.CURDIR:C...}', to derive the value of .OBJDIR from
+ the value of .CURDIR. Used only if MAKEOBJDIRPREFIX is
+ not defined. MAKEOBJDIR can be provided only in the
+ environment or via the -O flag of build.sh; it cannot
+ usefully be set inside a Makefile, including mk.conf or
+ ${MAKECONF}.
- MMAAKKEEOOBBJJDDIIRRPPRREEFFIIXX Top level directory of the object directory tree. The
+ MAKEOBJDIRPREFIX Top level directory of the object directory tree. The
value is subjected to variable expansion by make(1).
- bbuuiilldd..sshh will create the ${MAKEOBJDIRPREFIX} directory
- if necessary, but if make(1) is used without bbuuiilldd..sshh,
+ build.sh will create the ${MAKEOBJDIRPREFIX} directory
+ if necessary, but if make(1) is used without build.sh,
then rules in <bsd.obj.mk> will abort the build if the
${MAKEOBJDIRPREFIX} directory does not exist. If the
- value is defined and valid, then
- ${MAKEOBJDIRPREFIX}/${.CURDIR} is used as the ..OOBBJJDDIIRR
- for the current directory. The current directory may
- be read only. MMAAKKEEOOBBJJDDIIRRPPRREEFFIIXX can be provided only in
- the environment or via the --MM flag of bbuuiilldd..sshh; it
- cannot usefully be set inside a Makefile, including
- _m_k_._c_o_n_f or $${{MMAAKKEECCOONNFF}}.
+ value is defined and valid, then ${MAKEOBJDIRPRE-
+ FIX}/${.CURDIR} is used as the .OBJDIR for the current
+ directory. The current directory may be read only.
+ MAKEOBJDIRPREFIX can be provided only in the environ-
+ ment or via the -M flag of build.sh; it cannot usefully
+ be set inside a Makefile, including mk.conf or
+ ${MAKECONF}.
- ""mmaakkee"" vvaarriiaabblleess
- Several variables control the behavior of NetBSD builds. Unless
- otherwise specified, these variables may be set in either the process
- environment or the make(1) configuration file specified by MMAAKKEECCOONNFF.
+ "make" variables
+ Several variables control the behavior of NetBSD builds. Unless other-
+ wise specified, these variables may be set in either the process environ-
+ ment or the make(1) configuration file specified by MAKECONF.
- BBUUIILLDDIIDD Identifier for the build. The identifier will be appended to
+ BUILDID Identifier for the build. The identifier will be appended to
object directory names, and can be consulted in the make(1)
- configuration file in order to set additional build
- parameters, such as compiler flags.
+ configuration file in order to set additional build parame-
+ ters, such as compiler flags.
- BBUUIILLDDSSEEEEDD GCC uses random numbers when compiling C++ code. This
- variable seeds the gcc random number generator using the
- -frandom-seed flag with this value. By default, it is set to
- NetBSD-(majorversion). Using a fixed value causes C++
- binaries to be the same when built from the same sources,
- resulting in identical (reproducible) builds. Additional
- information is available in the GCC documentation of
- -frandom-seed.
+ BUILDSEED GCC uses random numbers when compiling C++ code. This vari-
+ able seeds the gcc random number generator using the -fran-
+ dom-seed flag with this value. By default, it is set to
+ NetBSD-(majorversion). Using a fixed value causes C++ bina-
+ ries to be the same when built from the same sources, result-
+ ing in identical (reproducible) builds. Additional informa-
+ tion is available in the GCC documentation of -frandom-seed.
- DDEESSTTDDIIRR Directory to contain the built NetBSD system. If set,
- special options are passed to the compilation tools to
- prevent their default use of the host system's //uussrr//iinncclluuddee,
- //uussrr//lliibb, and so forth. This pathname must be an absolute
- path, and should _n_o_t end with a slash (/) character. (For
- installation into the system's root directory, set DDEESSTTDDIIRR to
+ DESTDIR Directory to contain the built NetBSD system. If set, spe-
+ cial options are passed to the compilation tools to prevent
+ their default use of the host system's /usr/include,
+ /usr/lib, and so forth. This pathname must be an absolute
+ path, and should not end with a slash (/) character. (For
+ installation into the system's root directory, set DESTDIR to
an empty string, not to ``/''). The directory must reside on
a file system which supports long file names and hard links.
- _D_e_f_a_u_l_t: Empty string if UUSSEETTOOOOLLSS is ``yes''; unset
- otherwise.
+ Default: Empty string if USETOOLS is ``yes''; unset other-
+ wise.
- _N_o_t_e: bbuuiilldd..sshh will provide a default of _d_e_s_t_d_i_r_.MMAACCHHIINNEE (in
- the top-level ..OOBBJJDDIIRR) unless run in `expert' mode.
+ Note: build.sh will provide a default of destdir.MACHINE (in
+ the top-level .OBJDIR) unless run in `expert' mode.
- MMAAKKEECCOONNFF The name of the make(1) configuration file. _O_n_l_y _s_e_t_t_a_b_l_e _i_n
- _t_h_e _p_r_o_c_e_s_s _e_n_v_i_r_o_n_m_e_n_t_.
+ MAKECONF The name of the make(1) configuration file. Only settable in
+ the process environment.
- _D_e_f_a_u_l_t: ``/etc/mk.conf''
+ Default: ``/etc/mk.conf''
- MMAAKKEEVVEERRBBOOSSEE
+ MAKEVERBOSE
Level of verbosity of status messages. Supported values:
0 No descriptive messages or commands executed by make(1)
are shown.
1 Brief messages are shown describing what is being done,
- but the actual commands executed by make(1) are not
- displayed.
+ but the actual commands executed by make(1) are not dis-
+ played.
Home |
Main Index |
Thread Index |
Old Index