| #!/bin/sh |
| |
| PLAN9=`pwd` export PLAN9 |
| PATH=$PLAN9/bin:$PATH export PATH |
| |
| echo "Resetting $PLAN9/config" |
| rm -f config |
| |
| ( |
| if [ `uname` = Linux ]; then |
| # On Linux, we use the kernel version to decide whether |
| # to use pthreads or not. On 2.6 versions that aren't |
| # linking with NPTL by default, pretend to be an older kernel. |
| echo "Running on Linux: checking for NPTL..." |
| gcc lib/linux-isnptl.c -lpthread |
| if ./a.out >/dev/null |
| then |
| echo " NPTL found." |
| echo "SYSVERSION=2.6.x" >$PLAN9/config |
| else |
| echo " NPTL not found." |
| echo "SYSVERSION=2.4.x" >$PLAN9/config |
| fi |
| rm -f ./a.out |
| fi |
| |
| if [ -f LOCAL.config ]; then |
| echo Using LOCAL.config options: |
| sed 's/^/ /' LOCAL.config |
| cat LOCAL.config >>config |
| fi |
| |
| echo "Building mk..." |
| cd src |
| make |
| echo "Building everything..." |
| mk clean |
| mk libs-nuke |
| mk all |
| echo "Installing everything..." |
| mk install |
| echo "Cleaning up..." |
| mk clean |
| echo "Renaming hard-coded /usr/local/plan9 paths..." |
| cd $PLAN9 |
| sh lib/moveplan9.sh |
| echo "Building web manual..." |
| cd $PLAN9/dist; mk man |
| if [ -x LOCAL.INSTALL ]; then |
| echo "Running local modifications..." |
| ./LOCAL.INSTALL |
| fi |
| |
| echo "Done. " |
| echo " " |
| echo "Add these to your profile environment." |
| echo " PLAN9=$PLAN9 export PLAN9" |
| echo ' PATH=$PATH:'"$PLAN9/bin export PATH" |
| |
| ) 2>&1 | tee install.log |