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/3c463b3b5864
branches: trunk
changeset: 361519:3c463b3b5864
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 45d4c9c85ff6 -r 3c463b3b5864 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