Subject: Re: Did I miss a thread on build.sh and the "-E" flag?
To: Bill Studenmund <wrstuden@netbsd.org>
From: Luke Mewburn <lukem@netbsd.org>
List: current-users
Date: 12/17/2002 08:50:45
On Mon, Dec 16, 2002 at 01:07:31PM -0800, Bill Studenmund wrote:
  | How about the attached patch to add an -I option?

At a first glance, that looks fairly similar to what I was intending to do.

I'll pore over it a bit closer later today, and consider committing a
cleaned up version soon.


  | 
  | Note: my sh coding skills are minimal. :-)
  | 
  | Take care,
  | 
  | Bill

  | --- build.sh.orig	Mon Dec 16 12:56:33 2002
  | +++ build.sh	Mon Dec 16 13:06:28 2002
  | @@ -104,14 +104,16 @@
  |  usage () {
  |  	cat <<_usage_
  |  Usage:
  | -`basename $0` [-bdnortUu] [-a arch] [-B buildid] [-D dest] [-j njob] [-k kernel]
  | -	   [-M obj] [-m mach] [-O obj] [-R release] [-T tools] [-w wrapper]
  | +`basename $0` [-bdnortUu] [-a arch] [-B buildid] [-D dest] [-j njob]
  | +	   [-k kernel] [-M obj] [-m mach] [-O obj] [-R release] [-T tools]
  | +	   [-w wrapper]
  |  
  |      -a arch	set MACHINE_ARCH to arch (otherwise deduced from MACHINE)
  |      -B buildid	set BUILDID to buildid
  |      -b		build nbmake and nbmake wrapper script, if needed
  |      -D dest	set DESTDIR to dest
  |      -d		build a full distribution into DESTDIR (including etc files)
  | +    -I inst	Install full build into inst
  |      -j njob	run up to njob jobs in parallel; see make(1)
  |      -k kernel	build a kernel using the named configuration file
  |      -M obj	set obj root directory to obj (sets MAKEOBJDIRPREFIX)
  | @@ -140,12 +142,13 @@
  |  do_buildsystem=true
  |  do_buildonlykernel=false
  |  do_buildonlytools=false
  | +do_installbuild=false
  |  do_rebuildmake=false
  |  do_removedirs=false
  |  makeenv=
  |  makewrapper=
  |  opt_a=no
  | -opts='a:B:bdhj:k:m:nortuw:D:M:O:R:T:U'
  | +opts='a:B:bdhI:j:k:m:nortuw:D:M:O:R:T:U'
  |  runcmd=
  |  
  |  if type getopts >/dev/null 2>&1; then
  | @@ -176,6 +179,11 @@
  |  
  |  	-d)	buildtarget=distribution;;
  |  
  | +	-I)	eval $optargcmd; resolvepath
  | +		INSTALLDIR="$OPTARG"; export INSTALLDIR
  | +		makeenv="$makeenv INSTALLDIR"
  | +		do_installbuild=true;;
  | +
  |  	-j)	eval $optargcmd
  |  		parallel="-j $OPTARG";;
  |  
  | @@ -422,6 +430,11 @@
  |  
  |  if $do_buildsystem; then
  |  	${runcmd-exec} "$makewrapper" $parallel $buildtarget
  | +	if $do_installbuild; then
  | +		cd distrib/sets
  | +		${runcmd-exec} "$makewrapper" installsets
  | +		cd ../..
  | +	fi
  |  else
  |  	# One or more of do_buildonlytools and do_buildonlykernel
  |  	# might be set.  Do them in the appropriate order.