Subject: HEADS UP: build.sh semantics changed
To: None <current-users@netbsd.org>
From: Luke Mewburn <lukem@netbsd.org>
List: current-users
Date: 01/24/2003 03:31:17
--QTprm0S8XgL7H0Dt
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
A heads up.
The build.sh semantics have changed. This commit message should explain
it all. If not, UPDATING will. If not, ask on current-users.
One minor issue I forgot to mention in the commit: "make build" is NOT
the default operation any more; you now have to specify that with
"./build.sh build"
Luke.
--QTprm0S8XgL7H0Dt
Content-Type: message/rfc822
Content-Disposition: inline
by home.mewburn.net (Postfix) with SMTP id 2BB8110645
for <lukem@mewburn.net>; Fri, 24 Jan 2003 03:24:30 +1100 (EST)
by mail.netbsd.org with SMTP; 23 Jan 2003 16:24:10 -0000
id 417BAB004; Thu, 23 Jan 2003 18:24:09 +0200 (EET)
From: Luke Mewburn <lukem@netbsd.org>
Subject: CVS commit: src
To: source-changes@netbsd.org
Reply-To: lukem@netbsd.org
Message-Id: <20030123162409.417BAB004@cvs.netbsd.org>
Date: Thu, 23 Jan 2003 18:24:09 +0200 (EET)
Sender: source-changes-owner@netbsd.org
tests=RCVD_IN_BONDEDSENDER,SPAM_PHRASE_00_01
version=2.43
Module Name: src
Committed By: lukem
Date: Thu Jan 23 16:24:09 UTC 2003
Modified Files:
src: BUILDING build.sh
src/doc: BUILDING.mdoc
Log Message:
Rework how build.sh functions, so that command line options set various
parameters, and a list of "operations" defines what to do.
The full usage is show below. Notes:
`-b' has been deprecated (it always occurs now)
`-d' is replaced by "distribution"
`-R rel' onlys sets RELEASEDIR; use "release" to build a release
`-k kern' has been replaced by "kernel=kern"
`-i idir' has been replaced by "install=idir"
-r now occurs before nbmake is rebuilt
Add a copyright (long due!). Rework the code to (a KNF inspired) ShellNF.
Use functions appropriately. Allow `nb' prefix to be easily changed to
something else. Solve world peace (just kidding)
This is part of the (never achievable) goal of attempting to make
NetBSD easier to build...
--8<-- new usage follows --8<--
Usage: build.sh [-EnorUu] [-a arch] [-B buildid] [-D dest] [-j njob] [-M obj]
[-m mach] [-O obj] [-R release] [-T tools] [-V var=[value]]
[-w wrapper] [operation [...] ]
System build operations (all imply "obj" and "tools"):
build Run "make build"
distribution Run "make distribution" (includes etc/ files)
release Run "make release" (includes kernels & distrib media)
Other operations:
obj Run "make obj" (default unless -o)
tools Build and install tools
kernel=conf Build kernel with config file `conf'
install=idir Run "make installworld" to `idir'
(useful after 'distribution' or 'release')
Options:
-a arch Set MACHINE_ARCH to arch (otherwise deduced from MACHINE)
-B buildId Set BUILDID to buildId
-D dest Set DESTDIR to dest
-E Set "expert" mode; disables some DESTDIR checks
-j njob Run up to njob jobs in parallel; see make(1)
-M obj Set obj root directory to obj (sets MAKEOBJDIRPREFIX)
-m mach Set MACHINE to mach (not required if NetBSD native)
-n Show commands that would be executed, but do not execute them
-O obj Set obj root directory to obj (sets a MAKEOBJDIR pattern)
-o Set MKOBJDIRS=no (do not create objdirs at start of build)
-R release Set RELEASEDIR to release
-r Remove contents of TOOLDIR and DESTDIR before building
-T tools Set TOOLDIR to tools. If unset, and TOOLDIR is not set in
the environment, nbmake will be (re)built unconditionally.
-U Set UNPRIVED
-u Set UPDATE
-V v=[val] Set variable `v' to `val'
-w wrapper Create nbmake script as wrapper
(default: ${TOOLDIR}/bin/nbmake-${MACHINE})
To generate a diff of this commit:
cvs rdiff -r1.21 -r1.22 src/BUILDING
cvs rdiff -r1.83 -r1.84 src/build.sh
cvs rdiff -r1.8 -r1.9 src/doc/BUILDING.mdoc
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
--QTprm0S8XgL7H0Dt--