[BACK]Return to build.sh 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/build.sh between version 1.58.2.9 and 1.59

version 1.58.2.9, 2005/12/12 11:20:33 version 1.59, 2002/05/24 14:43:31
Line 1 
Line 1 
 #! /usr/bin/env sh  #! /bin/sh
 #  $NetBSD$  #  $NetBSD$
 #  #
 # Top level build wrapper, for a system containing no tools.  # Top level build wrapper, for a system containing no tools.
Line 6 
Line 6 
 # This script should run on any POSIX-compliant shell.  For systems  # This script should run on any POSIX-compliant shell.  For systems
 # with a strange /bin/sh, "ksh" or "bash" may be an ample alternative.  # with a strange /bin/sh, "ksh" or "bash" may be an ample alternative.
 #  #
 # Note, however, that due to the way the interpreter is invoked above,  
 # if a POSIX-compliant shell is the first in the PATH, you won't have  
 # to take any further action.  
 #  
   
 bomb () {  bomb () {
         echo ""          echo ""
Line 20  bomb () {
Line 16  bomb () {
 [ -d usr.bin/make ] || bomb "build.sh must be run from the top source level"  [ -d usr.bin/make ] || bomb "build.sh must be run from the top source level"
 [ -f share/mk/bsd.own.mk ] || bomb "src/share/mk is missing; please re-fetch the source tree"  [ -f share/mk/bsd.own.mk ] || bomb "src/share/mk is missing; please re-fetch the source tree"
   
 # If $PWD is a valid name of the current directory, POSIX mandates that pwd  TOP=`pwd`
 # return it by default which causes problems in the presence of symlinks.  
 # Unsetting PWD is simpler than changing every occurrence of pwd to use -P.  
 #  
 # XXX Except that doesn't work on Solaris.  
 unset PWD  
 if [ "x`uname -s`" = "xSunOS" ]; then  
         TOP=`pwd -P`  
 else  
         TOP=`pwd`  
 fi  
   
 getarch () {  getarch () {
         # Translate a MACHINE into a default MACHINE_ARCH.          # Translate a MACHINE into a default MACHINE_ARCH.
Line 90  EOF
Line 76  EOF
 resolvepath () {  resolvepath () {
         case $OPTARG in          case $OPTARG in
         /*)     ;;          /*)     ;;
         *)      OPTARG="$TOP/$OPTARG";;          *)      OPTARG="$cwd/$OPTARG";;
         esac          esac
 }  }
   
Line 126  usage () {
Line 112  usage () {
 # Set defaults.  # Set defaults.
 MAKEFLAGS=  MAKEFLAGS=
 buildtarget=build  buildtarget=build
   cwd=`pwd`
 do_buildsystem=true  do_buildsystem=true
 do_buildonlytools=false  do_buildonlytools=false
 do_rebuildmake=false  do_rebuildmake=false
Line 198  while eval $getoptcmd; do case $opt in
Line 185  while eval $getoptcmd; do case $opt in
                 makeenv="$makeenv MAKEOBJDIRPREFIX";;                  makeenv="$makeenv MAKEOBJDIRPREFIX";;
   
         -O)     eval $optargcmd; resolvepath          -O)     eval $optargcmd; resolvepath
                 MAKEOBJDIR="\${.CURDIR:C,^$TOP,$OPTARG,}"; export MAKEOBJDIR                  MAKEOBJDIR="\${.CURDIR:C,^$cwd,$OPTARG,}"; export MAKEOBJDIR
                 makeobjdir=$OPTARG                  makeobjdir=$OPTARG
                 makeenv="$makeenv MAKEOBJDIR";;                  makeenv="$makeenv MAKEOBJDIR";;
   
Line 226  fi
Line 213  fi
 validatearch  validatearch
   
 # Set up default make(1) environment.  # Set up default make(1) environment.
 NETBSDSRCDIR=${TOP}  makeenv="$makeenv TOOLDIR MACHINE MACHINE_ARCH MAKEFLAGS"
 makeenv="$makeenv TOOLDIR MACHINE MACHINE_ARCH MAKEFLAGS NETBSDSRCDIR"  
 if [ ! -z "$BUILDID" ]; then  if [ ! -z "$BUILDID" ]; then
         makeenv="$makeenv BUILDID"          makeenv="$makeenv BUILDID"
 fi  fi
 MAKEFLAGS="-m $TOP/share/mk $MAKEFLAGS MKOBJDIRS=${MKOBJDIRS-yes}"  MAKEFLAGS="-m $cwd/share/mk $MAKEFLAGS MKOBJDIRS=${MKOBJDIRS-yes}"
 export MAKEFLAGS MACHINE MACHINE_ARCH  export MAKEFLAGS MACHINE MACHINE_ARCH
   
 # Test make source file timestamps against installed nbmake binary,  # Test make source file timestamps against installed nbmake binary,
Line 265  if $do_rebuildmake; then
Line 251  if $do_rebuildmake; then
         $runcmd cd "$tmpdir"          $runcmd cd "$tmpdir"
   
         $runcmd env CC="${HOST_CC-cc}" CPPFLAGS="${HOST_CPPFLAGS}" CFLAGS="${HOST_CFLAGS--O}" LDFLAGS="${HOST_LDFLAGS}" \          $runcmd env CC="${HOST_CC-cc}" CPPFLAGS="${HOST_CPPFLAGS}" CFLAGS="${HOST_CFLAGS--O}" LDFLAGS="${HOST_LDFLAGS}" \
                 sh "$TOP/tools/make/configure" || bomb "configure of nbmake failed"                  "$cwd/tools/make/configure" || bomb "configure of nbmake failed"
         $runcmd sh buildmake.sh || bomb "build of nbmake failed"          $runcmd sh buildmake.sh || bomb "build of nbmake failed"
   
         make="$tmpdir/nbmake"          make="$tmpdir/nbmake"
         $runcmd cd "$TOP"          $runcmd cd "$cwd"
         $runcmd rm -f usr.bin/make/*.o usr.bin/make/lst.lib/*.o          $runcmd rm -f usr.bin/make/*.o usr.bin/make/lst.lib/*.o
 fi  fi
   
Line 323  else
Line 309  else
         echo "===> DESTDIR path: $DESTDIR"          echo "===> DESTDIR path: $DESTDIR"
   
         TOOLDIR=`getmakevar TOOLDIR`;          TOOLDIR=`getmakevar TOOLDIR`;
         [ $? = 0 ] || bomb "getmakevar TOOLDIR failed";          [ $? = 0 ] || bomb "getmakevar DESTDIR failed";
         echo "===> TOOLDIR path: $TOOLDIR"          echo "===> TOOLDIR path: $TOOLDIR"
   
         export DESTDIR TOOLDIR          export DESTDIR TOOLDIR
Line 359  fi
Line 345  fi
   
 # Recreate $TOOLDIR.  # Recreate $TOOLDIR.
 $runcmd mkdir -p "$TOOLDIR/bin" || bomb "mkdir of '$TOOLDIR/bin' failed"  $runcmd mkdir -p "$TOOLDIR/bin" || bomb "mkdir of '$TOOLDIR/bin' failed"
 build_start=$(date)  
   
 # Install nbmake if it was built.  # Install nbmake if it was built.
 if $do_rebuildmake; then  if $do_rebuildmake; then
Line 390  eval cat <<EOF $makewrapout
Line 375  eval cat <<EOF $makewrapout
 # Set proper variables to allow easy "make" building of a NetBSD subtree.  # Set proper variables to allow easy "make" building of a NetBSD subtree.
 # Generated from:  \$NetBSD$  # Generated from:  \$NetBSD$
 #  #
 unset INFODIR  
 unset LESSCHARSET  
 LC_ALL='C' ; export LC_ALL  
 EOF  EOF
 for f in $makeenv; do  for f in $makeenv; do
         eval echo "$f=\'\$`echo $f`\'\;\ export\ $f" $makewrapout          eval echo "$f=\'\$`echo $f`\'\;\ export\ $f" $makewrapout
Line 419  elif $do_buildonlytools; then
Line 402  elif $do_buildonlytools; then
                 ${runcmd-exec} "$makewrapper" dependall install                  ${runcmd-exec} "$makewrapper" dependall install
         fi          fi
 fi  fi
 echo "===> Build started: ${build_start}"  
 echo "===> Build ended:   $(date)"  
 echo "===> DESTDIR path: $DESTDIR"  
 echo "===> TOOLDIR path: $TOOLDIR"  

Legend:
Removed from v.1.58.2.9  
changed lines
  Added in v.1.59

CVSweb <webmaster@jp.NetBSD.org>