Module Name:    src
Committed By:   apb
Date:           Thu Aug  7 21:46:43 UTC 2014

Modified Files:
        src: BUILDING

Log Message:
regen BUILDING from doc/BUILDING.mdoc


To generate a diff of this commit:
cvs rdiff -u -r1.108 -r1.109 src/BUILDING

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/BUILDING
diff -u src/BUILDING:1.108 src/BUILDING:1.109
--- src/BUILDING:1.108	Sun Aug  3 09:28:43 2014
+++ src/BUILDING	Thu Aug  7 21:46:43 2014
@@ -846,10 +846,21 @@ BUILDING
 
      live-image    Perform ``make live-image''.
 
+     list-arch     Prints a list of valid MACHINE and MACHINE_ARCH settings,
+                   the default MACHINE_ARCH for each MACHINE, and aliases for
+                   MACHINE/MACHINE_ARCH pairs, and then exits.  The -m or -a
+                   options (or both) may be used to specify glob patterns that
+                   will be used to narrow the list of results; for example,
+                   ``build.sh -m 'evm*' -a '*arm*' list-arch'' will list all
+                   known MACHINE/MACHINE_ARCH values in which either MACHINE
+                   or ALIAS matches the pattern `evb*', and MACHINE_ARCH
+                   matches the pattern `*arm*'.
+
      The following command line options alter the behaviour of the build.sh
      operations described above:
 
-     -a arch   Set the value of MACHINE_ARCH to arch.
+     -a arch   Set the value of MACHINE_ARCH to arch.  See the -m option for
+               more information.
 
      -B buildid
                Set the value of BUILDID to buildid.  This will also append the
@@ -908,30 +919,19 @@ BUILDING
                relative path.  If the directory does not already exist,
                build.sh will create it.
 
-     -m mach   Set the value of MACHINE to mach, except in some special cases
-               listed below.  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.
-
-               Some machines support multiple values for MACHINE_ARCH.  The
-               following special cases for the mach argument are defined to
-               set the listed values of MACHINE and MACHINE_ARCH:
-
-                     mach          MACHINE    MACHINE_ARCH
-                     evbarm        evbarm     (not set)
-                     evbarm-eb     evbarm     armeb
-                     evbarm-el     evbarm     arm
-                     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
+     -m mach   Set the value of MACHINE to mach, unless the mach argument is
+               an alias that refers to a MACHINE/MACHINE_ARCH pair, in which
+               case both MACHINE and MACHINE_ARCH are set from the alias.
+               Such aliases are interpreted entirely by build.sh; they are not
+               used by any other part of the build system.  The MACHINE_ARCH
+               setting implied by mach will override any value of MACHINE_ARCH
+               in the process environment, but will not override a value set
+               by the -a option.  All cross builds require -m, but if unset on
+               a NetBSD host, the host's value of MACHINE will be detected and
+               used automatically.
+
+               See the list-arch operation for a way to get a list of valid
+               MACHINE and MACHINE_ARCH settings.
 
      -N noiselevel
                Set the ``noisyness'' level of the build, by setting
@@ -963,6 +963,16 @@ BUILDING
                by the values of several variables and by the location of the
                source directory.
 
+               Note that placing the obj directory location outside of the
+               default source tree hierarchy makes it easier to manually clear
+               out old files in the event the ``make cleandir'' operation is
+               unable to do so.  (See CAVEATS below.)
+
+               Note also that use of one of -M or -O is the only means of
+               building multiple machine architecture userlands from the same
+               source tree without cleaning between builds (in which case, one
+               would specify distinct obj locations for each).
+
      -o        Set the value of MKOBJDIRS to ``no''.  Otherwise, it will be
                automatically set to ``yes''.  This default is opposite to the
                behaviour when not using build.sh.
@@ -1064,4 +1074,10 @@ HISTORY
      The build.sh based build scheme was introduced for NetBSD 1.6 as
      USE_NEW_TOOLCHAIN, and re-worked to TOOLCHAIN_MISSING after that.
 
-NetBSD                          August 3, 2014                          NetBSD
+CAVEATS
+     After significant updates to third-party components in the source tree,
+     the ``make cleandir'' operation may be insufficient to clean out old
+     files in object directories.  Instead, one may have to manually remove
+     the files.  Consult the UPDATING file for notices concerning this.
+
+NetBSD                          August 7, 2014                          NetBSD

Reply via email to