[BACK]Return to BUILDING CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src

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

Diff for /src/BUILDING between version 1.10 and 1.18

version 1.10, 2002/05/02 22:14:12 version 1.18, 2002/12/08 08:42:51
Line 13  STATUS
Line 13  STATUS
      plementation are noted specially, as with the note below:       plementation are noted specially, as with the note below:
   
      Note: This document applies only to platforms which use the new toolchain       Note: This document applies only to platforms which use the new toolchain
      as indicated by the default setting of USE_NEW_TOOLCHAIN in <bsd.own.mk>.       as indicated by the default setting of TOOLCHAIN_MISSING in <bsd.own.mk>.
      Platforms which have not yet been switched to the new toolchain should       Platforms which have not yet been switched to the new toolchain should
      continue building traditionally, using the notes specified in the file       continue building traditionally, using the notes specified in the file
      UPDATING.       UPDATING.
Line 38  REQUIREMENTS
Line 38  REQUIREMENTS
 FILES  FILES
    Source tree layout     Source tree layout
   
      BUILDING.mdoc  This document (in -mdoc troff format; the original copy).       doc/BUILDING.mdoc
                       This document (in -mdoc troff format; the original copy).
   
      BUILDING       This document (in plaintext).       BUILDING       This document (in plaintext).
   
Line 240  CONFIGURATION
Line 241  CONFIGURATION
      UNPRIVED    If set, then an unprivileged install will occur.  The user,       UNPRIVED    If set, then an unprivileged install will occur.  The user,
                  group, permissions, and file flags, will not be set on the                   group, permissions, and file flags, will not be set on the
                  installed item; instead the information will be appended to a                   installed item; instead the information will be appended to a
                  file called METALOG in the .OBJDIR of src.  The contents of                   file called METALOG in DESTDIR.  The contents of METALOG is
                  METALOG is used during the generation of the distribution tar                   used during the generation of the distribution tar files to
                  files to ensure that the appropriate file ownership is                   ensure that the appropriate file ownership is stored.
                  stored.  
   
                  Default: Unset.                   Default: Unset.
   
Line 383  BUILDING
Line 383  BUILDING
                 fore any system libraries or programs can be built.                  fore any system libraries or programs can be built.
   
      install    Install programs, libraries, and documentation into DESTDIR.       install    Install programs, libraries, and documentation into DESTDIR.
                   Few files will be installed to /dev, /etc, /root or /var in
                   order to prevent user supplied configuration data from being
                   overwritten.
   
      lint       Run lint(1) against the C source code, where appropriate, and       lint       Run lint(1) against the C source code, where appropriate, and
                 generate system-installed lint libraries.                  generate system-installed lint libraries.
Line 441  BUILDING
Line 444  BUILDING
      -b        Bootstrap ``make'' and create a nbmake-MACHINE script (see be-       -b        Bootstrap ``make'' and create a nbmake-MACHINE script (see be-
                low).                 low).
   
      -d        Build a full distribution.  This differs from a normal build in       -D dest   Set the value of DESTDIR to dest.
                that etc files will also be installed.  Note this does not  
                build a ``release''; no release sets are placed in ${RE-       -d        Build a full distribution.  This differs from a default build
                LEASEDIR}.                 in that files will also be installed to /dev, /etc, /root and
                  /var.  Note this does not build a ``release''; no release sets
                  are placed in ${RELEASEDIR}.  -d is implied by -R.
   
      -j njob   Passed through to make(1).  Makefiles should use .WAIT or have       -j njob   Passed through to make(1).  Makefiles should use .WAIT or have
                explicit dependancies as necessary to enforce build ordering.                 explicit dependancies as necessary to enforce build ordering.
                If you see build failures with -j, please save complete build                 If you see build failures with -j, please save complete build
                logs so the failures can be analyzed.                 logs so the failures can be analyzed.
   
        -k kernel
                  Build a new kernel.  The kernel argument is the name of a con-
                  figuration file suitable for use by config(8).  If kernel does
                  not contain any `/' characters, the configuration file is ex-
                  pected to be found in the KERNCONFDIR directory, which is typi-
                  cally sys/arch/MACHINE/conf.  The new kernel will be built in a
                  subdirectory of KERNOBJDIR, which is typically
                  sys/arch/MACHINE/compile or an associated object directory.  In
                  order to ensure that the kernel is built using up-to-date
                  tools, it is strongly recommended that the tools be rebuilt
                  (using the -t option) in a separate invocation of build.sh pri-
                  or to using the -k option, or that the -t and -k options be
                  used together in a single invocation of build.sh.
   
        -M obj    Set MAKEOBJDIRPREFIX to obj.
   
      -m mach   Set the value of MACHINE to mach.  This will also override any       -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                 value of MACHINE_ARCH in the process environment with a value
                deduced from mach, unless -a is specified.  All cross builds                 deduced from mach, unless -a is specified.  All cross builds
Line 461  BUILDING
Line 482  BUILDING
                not make any changes.  This is similar in concept to ``make                 not make any changes.  This is similar in concept to ``make
                -n''.                 -n''.
   
        -O obj    Create an appropriate transform macro for MAKEOBJDIR that will
                  place the built object files under obj.  For instance, a set-
                  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''.
   
        -R rel    Set the value of RELEASEDIR to rel.  Setting this option will
                  cause build.sh to run ``make release'' instead of ``make
                  build''.
   
      -r        Remove the contents of DESTDIR and TOOLDIR before building       -r        Remove the contents of DESTDIR and TOOLDIR before building
                (provides a clean starting point).  This will skip deleting                 (provides a clean starting point).  This will skip deleting
                DESTDIR if building on a native system to the root directory.                 DESTDIR if building on a native system to the root directory.
   
        -T tools  Set the value of TOOLDIR to tools.  If set, the bootstrap
                  ``make'' will only be rebuilt as needed (when the source files
                  for make(1) change).
   
      -t        Build and install the host tools from src/tools only.  This op-       -t        Build and install the host tools from src/tools only.  This op-
                tion implies -b.                 tion implies -b.
   
        -U        Set the UNPRIVED variable.
   
      -u        Set the UPDATE variable.       -u        Set the UPDATE variable.
   
      -w wrapper       -w wrapper
Line 478  BUILDING
Line 514  BUILDING
                place the wrapper in PATH automatically.  Note that wrapper is                 place the wrapper in PATH automatically.  Note that wrapper is
                the full name of the file, not just a directory name.                 the full name of the file, not just a directory name.
   
      -D dest   Set the value of DESTDIR to dest.  
   
      -O obj    Create an appropriate transform macro for MAKEOBJDIR that will  
                place the built object files under obj.  For instance, a set-  
                ting of /usr/obj will place build-time files files under  
                /usr/obj/bin, /usr/obj/lib, and so forth.  
   
      -R rel    Set the value of RELEASEDIR to rel.  Setting this option will  
                cause build.sh to run ``make release'' instead of ``make  
                build''.  
   
      -T tools  Set the value of TOOLDIR to tools.  If set, the bootstrap  
                ``make'' will only be rebuilt as needed (when the source files  
                for make(1) change).  
   
      -U        Set the UNPRIVED variable.  
   
    The "nbmake-MACHINE" wrapper script     The "nbmake-MACHINE" wrapper script
      If using the build.sh script to build NetBSD, a nbmake-MACHINE script       If using the build.sh script to build NetBSD, a nbmake-MACHINE script
      will be created in TOOLDIR/bin upon the first build to assist in building       will be created in TOOLDIR/bin upon the first build to assist in building
Line 506  BUILDING
Line 525  BUILDING
      This script can be symlinked into a directory listed in PATH, or called       This script can be symlinked into a directory listed in PATH, or called
      with an absolute path.       with an absolute path.
   
   EXAMPLES
        ./build.sh -t
                  Build a new toolchain.
   
        cd ${KERNCONFDIR} ; ${TOOLDIR}/bin/nbconfig GENERIC
                  Use the new version of config(8) to prepare to build a new
                  GENERIC kernel.
   
        cd ${KERNOBJDIR}/GENERIC ; ${TOOLDIR}/bin/nbmake-${MACHINE} dependall
                  Use the new toolchain to build a new GENERIC kernel.
   
        ./build.sh -t -k GENERIC
                  Build a new toolchain, and use the new toolchain to configure
                  and build a new GENERIC kernel.
   
        ./build.sh -U -d
                  Using unprivileged mode, build a complete distribution in
                  DESTDIR.
   
        ./build.sh -U -R /some/dir/RELEASE
                  Using unprivileged mode, build a complete release in the speci-
                  fied release directory.
   
 OBSOLETE VARIABLES  OBSOLETE VARIABLES
      NBUILDJOBS  Now obsolete.  Use the make(1) option -j, instead.       NBUILDJOBS  Use the make(1) option -j, instead.
   
        USE_NEW_TOOLCHAIN
                    The new toolchain is now the default.  To disable, use
                    TOOLCHAIN_MISSING=yes.
   
 SEE ALSO  SEE ALSO
      make(1), hier(7), release(7)       make(1), hier(7), release(7)
   
 HISTORY  HISTORY
      The USE_NEW_TOOLCHAIN based build scheme was introduced in the ``NetBSD-       The build.sh based build scheme was introduced for NetBSD 1.6 as
      current'' development sources between NetBSD 1.5 and NetBSD 1.6.       USE_NEW_TOOLCHAIN, and re-worked to TOOLCHAIN_MISSING after that.
   
 BUGS  BUGS
      A few platforms are not yet using the USE_NEW_TOOLCHAIN system.       A few platforms are not yet using this build system.
   
 NetBSD                           March 5, 2002                               8  NetBSD                         December 8, 2002                              9

Legend:
Removed from v.1.10  
changed lines
  Added in v.1.18

CVSweb <webmaster@jp.NetBSD.org>