Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src Re-add files that were accidentally deleted in my previous c...



details:   https://anonhg.NetBSD.org/src/rev/8a6d0138393b
branches:  trunk
changeset: 322407:8a6d0138393b
user:      pgoyette <pgoyette%NetBSD.org@localhost>
date:      Wed May 02 07:34:44 2018 +0000

description:
Re-add files that were accidentally deleted in my previous commit.

diffstat:

 BUILDING     |  1115 ++++++++++++++++++++++++++
 Makefile     |   531 ++++++++++++
 Makefile.inc |    16 +
 UPDATING     |   852 ++++++++++++++++++++
 build.sh     |  2399 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 4913 insertions(+), 0 deletions(-)

diffs (truncated from 4933 to 300 lines):

diff -r b1a391e53d57 -r 8a6d0138393b BUILDING
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/BUILDING  Wed May 02 07:34:44 2018 +0000
@@ -0,0 +1,1115 @@
+BUILDING(8)                 System Manager's Manual                BUILDING(8)
+
+NAME
+     BUILDING - Procedure for building NetBSD from source code.
+
+REQUIREMENTS
+     NetBSD is designed to be buildable on most POSIX-compliant host systems.
+     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 (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.)
+
+FILES
+   Source tree layout
+     doc/BUILDING.mdoc
+                    This document (in -mdoc troff format; the original copy).
+
+     BUILDING       This document (in plaintext).
+
+     tools/compat/README
+                    Special notes for cross-hosting a NetBSD build on non-
+                    NetBSD platforms.
+
+     Makefile       The main Makefile for NetBSD; should only be run for
+                    native builds with an appropriately up-to-date version of
+                    NetBSD make(1).  Intended for expert use with knowlege of
+                    its shortcomings, it has been superseded by the build.sh
+                    shell script as the recommended means for building NetBSD.
+
+     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.
+
+     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) as it performs additional checks to
+                    prevent common issues going undetected, such as building
+                    with an outdated version of make(1).
+
+     crypto/dist/, dist/, gnu/dist/
+                    Sources imported verbatim from third parties, without
+                    mangling 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.
+
+     external, sys/external
+                    Sources and build infrastructure for components imported
+                    (mostly) unchanged from upstream maintainers, sorted by
+                    applicable license.  This is (slowly) replacing the
+                    crypto/dist, dist, and gnu/dist directories.
+
+     distrib/, etc/
+                    Sources for items used when making a full release
+                    snapshot, such as files installed in DESTDIR/etc on the
+                    destination system, boot media, and release notes.
+
+     tests/, regress/
+                    Regression test harness.  Can be cross-compiled, but only
+                    run natively.  tests/ uses the atf(7) test framework;
+                    regress/ contains older tests that have not yet been
+                    migrated to atf(7).
+
+     sys/           NetBSD kernel sources.
+
+     tools/         "Reachover" build structure for the host build tools.
+                    This has a special method of determining out-of-date
+                    status.
+
+     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.
+
+     external/mit/xorg/
+                    "Reachover" build structure for modular Xorg; the source
+                    is in X11SRCDIR.
+
+     extsrc/        "Reachover" build structure for externally added programs
+                    and libraries; the source is in EXTSRCSRCDIR.
+
+   Build tree layout
+     The NetBSD build tree is described in hier(7), and the release layout is
+     described in release(7).
+
+CONFIGURATION
+   Environment variables
+     Several environment variables control the behaviour of NetBSD builds.
+
+     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).
+
+                       Depending on the host system, a suitable shell may be
+                       /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 /usr/local/bin/bash.
+
+                       Most parts of the build require HOST_SH to be an
+                       absolute path; however, build.sh allows it to be a
+                       simple command name, which will be converted to an
+                       absolute path by searching the PATH.
+
+     HOST_CC           Path name to C compiler used to create the toolchain.
+
+     HOST_CXX          Path name to C++ compiler used to create the toolchain.
+
+     MACHINE           Machine type, e.g., "macppc".
+
+     MACHINE_ARCH      Machine architecture, e.g., "powerpc".
+
+     MAKE              Path name to invoke make(1) as.
+
+     MAKEFLAGS         Flags to invoke make(1) with.  Note that build.sh
+                       ignores the value of MAKEFLAGS passed in the
+                       environment, but allows MAKEFLAGS to be set via the -V
+                       option.
+
+     MAKEOBJDIR        Directory to use as the .OBJDIR 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 .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}.
+
+     MAKEOBJDIRPREFIX  Top level directory of the object directory tree.  The
+                       value is subjected to variable expansion by make(1).
+                       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 .OBJDIR
+                       for the current directory.  The current directory may
+                       be read only.  MAKEOBJDIRPREFIX can be provided only in
+                       the environment or via the -M flag of build.sh; it
+                       cannot usefully be set inside a Makefile, including
+                       mk.conf or ${MAKECONF}.
+
+   "make" variables
+     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 MAKECONF.
+
+     BUILDID     Identifier for the build.  If set, this should be a short
+                 string that is suitable for use as part of a file or
+                 directory name.  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.  It will also be used as
+                 part of the kernel version string, which can be printed by
+                 "uname -v".
+
+                 Default: Unset.
+
+     BUILDINFO   This may be a multi-line string containing information about
+                 the build.  This will appear in DESTDIR/etc/release, and it
+                 will be stored in the buildinfo variable in any kernels that
+                 are built.  When such kernels are booted, the sysctl(7)
+                 kern.buildinfo variable will report this value.  The string
+                 may contain backslash escape sequences, such as "\\"
+                 (representing a backslash character) and "\n" (representing a
+                 newline).
+
+                 Default: Unset.
+
+     BUILDSEED   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.
+
+     DESTDIR     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 /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.
+
+                 Default: Empty string if USETOOLS is "yes"; unset otherwise.
+
+                 Note: build.sh will provide a default of destdir.MACHINE (in
+                 the top-level .OBJDIR) unless run in `expert' mode.
+
+     EXTSRCSRCDIR
+                 Directory containing sources of externally added programs and
+                 libraries.  If specified, must be an absolute path.
+
+                 Default: NETBSDRCDIR/../extsrc, if that exists; otherwise
+                 /usr/extsrc.
+
+     MAKECONF    The name of the make(1) configuration file.  Only settable in
+                 the process environment.
+
+                 Default: "/etc/mk.conf"
+
+     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.
+
+                 2    Descriptive messages are shown as above (prefixed with a
+                      `#'), and ordinary commands performed by make(1) are
+                      displayed.
+
+                 3    In addition to the above, all commands performed by
+                      make(1) are displayed, even if they would ordinarily
+                      have been hidden through use of the "@" prefix in the
+                      relevant makefile.
+
+                 4    In addition to the above, commands executed by make(1)
+                      are traced through use of the sh(1) "-x" flag.
+
+                 Default: 2
+
+     MKCATPAGES  Can be set to "yes" or "no".  Indicates whether preformatted
+                 plaintext manual pages will be created during a build.
+
+                 Default: "no"
+
+     MKCROSSGDB  Can be set to "yes" or "no".  Create a cross-gdb as a host
+                 tool.
+
+                 Default: "no"
+
+     MKDEBUG     Can be set to "yes" or "no".  Indicates whether debug
+                 information should be generated for all userland binaries
+                 compiled.  The result is collected as an additional debug.tgz
+                 and xdebug.tgz set and installed in /usr/libdata/debug.
+
+                 Default: "no"
+
+     MKDEBUGLIB  Can be set to "yes" or "no".  Indicates whether debug
+                 information (see MKDEBUG) should also be generated for all
+                 libraries build.
+
+                 Default: "no"
+
+     MKDOC       Can be set to "yes" or "no".  Indicates whether system
+                 documentation destined for DESTDIR/usr/share/doc will be
+                 installed during a build.
+
+                 Default: "yes"
+
+     MKEXTSRC    Can be set to "yes" or "no".  Indicates whether extsrc is
+                 built from EXTSRCSRCDIR.
+
+                 Default: "no"
+
+     MKHTML      Can be set to "yes" or "no".  Indicates whether preformatted
+                 HTML manual pages will be built and installed
+
+                 Default: "yes"
+
+     MKHOSTOBJ   Can be set to "yes" or "no".  If set to "yes", then for
+                 programs intended to be run on the compile host, the name,
+                 release, and architecture of the host operating system will
+                 be suffixed to the name of the object directory created by
+                 "make obj".  (This allows multiple host systems to compile
+                 NetBSD for a single target.)  If set to "no", then programs
+                 built to be run on the compile host will use the same object
+                 directory names as programs built to be run on the target.
+
+                 Default: "no"
+
+     MKINFO      Can be set to "yes" or "no".  Indicates whether GNU Info
+                 files, used for the documentation for most of the compilation
+                 tools, will be created and installed during a build.
+
+                 Default: "yes"
+



Home | Main Index | Thread Index | Old Index