| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255 |
- #!/bin/sh
- # Awk out the version from source
- ver="?.?.?"
- ver=`grep "char" src/main.c | awk '/egg_version/ {print $4}' | sed -e 's/\"//g' | sed -e 's/\;//g'`
- numver=`grep "int" src/main.c | awk '/egg_numver =/ {print $4}' | sed -e 's/\;//g'`
- PACKNAME=`grep "PACKNAME " pack/pack.cfg | awk '/PACKNAME/ {print $2}'`
- clear
- case $[(`date '+%s'` % 5)] in
- 0) echo " *"
- echo " * * **"
- echo "** *** ** **"
- echo "** * ** **"
- echo " ** *** **** *** **** ******** **"
- echo " ** *** *** * **** **** * **** *** ******** ** ***"
- echo " ** *** **** ** **** * *** * *** ** ** * ***"
- echo " ** ** ** ** * **** ** ** *** ***"
- echo " ** ** ** ** ** ** ** ** ** **"
- echo " ** ** ** ** ** ** ** ** ** **"
- echo " ** ** ** ** ** ** ** ** ** **"
- echo " ** ** * ** ** ** ** ** ** **"
- echo " ******* ******* *** ** ** ** ** ** **"
- echo " ***** ***** *** ***** ** *** * ** ** **"
- echo " *** ** *** bryan ** **"
- echo " version ${ver}*"
- echo " *"
- echo " *"
- echo " *" ;;
- 1) echo " ::: === === :::==== :::==== ::: :::==== ::: ==="
- echo " ::: === === ::: === ::: === ::: :::==== ::: ==="
- echo " === === === ======= ======== === === ========"
- echo " =========== === === === === === === === ==="
- echo " ==== ==== === === === === === === === ==="
- echo " \`version ${ver}'"
- echo " \`-bryan-'" ;;
- 2) echo " .__ __ .__"
- echo ' __ _ ______________ |__|/ |_| |__'
- echo ' \ \/ \/ /\_ __ \__ \ | \ __\ | \'
- echo ' \ / | | \// __ \| || | | Y \'
- echo ' \/\_/ |__| (____ /__||__| |___| /'
- echo " - bryan - \/version ${ver}\/" ;;
- 3) echo " dBPdBPdBP dBBBBBb dBBBBBb dBP dBBBBBBP dBP dBP"
- echo " dBP BB"
- echo " dBPdBPdBP dBBBBK dBP BB dBP dBP dBBBBBP"
- echo " dBPdBPdBP dBP BB dBP BB dBP dBP dBP dBP"
- echo " dBBBBBBBP dBP dB' dBBBBBBB dBP dBP dBP dBP"
- echo " version ${ver} by bryan" ;;
- 4) echo " /"
- echo " # #/"
- echo " ### # ##"
- echo "## # ## ##"
- echo "## ## ##"
- echo " ## ### #### ### /### /### ### ########## /##"
- echo " ## ### ###/ ###/ #### / ###/ ########### ## / ###"
- echo " ## ### ### ## ###/ ### ## ## ##/ ###"
- echo " ## ## ## ## ## ## ## ## ## ##"
- echo " ## ## ## ## ## ## ## ## ## ##"
- echo " ## ## ## ## ## ## ## ## ## ##"
- echo " ## ## ## ## ## ## ## ## ## ##"
- echo " ## /# / ## ## /# ## ## ## ##"
- echo " ######/ ######/ ### ####/ ## ### /## ## ##"
- echo " ##### ##### ### ### ##/##/ ## ## ##"
- echo " \_version ${ver}/"
- echo " \_by bryan/"
- echo " /"
- echo " /" ;;
- esac
- echo
- usage()
- {
- echo "Usage: $0 [-c] [-d] [-t dir] [-T] [all|hub|leaf]"
- echo
- echo " The options are as follows:"
- echo " -c Cleans up old binaries/files before compile."
- echo " -d Builds a debug package."
- echo " -t dir Where to search for TCL libraries."
- echo " -T Builds TCL if it is not on the system."
- }
- debug=0
- all=0
- hub=0
- leaf=0
- clean=0
- type=
- tcldir=
- buildtcl=0
- while getopts t:Tcdh opt ; do
- case "$opt" in
- c) clean=1 ;;
- d) debug=1 ;;
- t) tcldir="$OPTARG" ;;
- h) usage; exit 0 ;;
- T) buildtcl=1 ;;
- *) usage; exit 1 ;;
- esac
- done
- shift $(($OPTIND - 1))
- if [ $buildtcl = "1" ]; then
- echo "Hold tight"
- misc/maketcl
- rm -rf tcl8.4.4*
- echo "Done. (You must run ./build again with normal parameters)"
- exit 0
- fi
- if test -z "$1"; then
- usage
- exit 1
- else
- if [ $1 = "all" ]; then
- all=1
- elif [ $1 = "leaf" ]; then
- leaf=1
- type="leaf"
- elif [ $1 = "hub" ]; then
- hub=1
- type="hub"
- else
- all=1
- # usage
- # exit 1
- fi
- fi
- if [ $debug = "1" ]; then
- d="d"
- else
- d=""
- fi
- if [ $all = "1" ]; then
- type="all"
- leaf=1
- hub=1
- fi
- ############# CHECK FOR pack/ FILES #################
- # Figure what bins we're making
- case `uname` in
- Linux) os=Linux;;
- FreeBSD) case `uname -r` in
- 5*) os=FreeBSD5;;
- 4*) os=FreeBSD4;;
- 3*) os=FreeBSD3;;
- esac;;
- OpenBSD) os=OpenBSD;;
- esac
- if test -z $os
- then
- echo "[!] Automated packaging disabled, `uname` isn't recognized"
- fi
- echo "[*] Building ${PACKNAME}::${type} for $os"
- # Run ./configure, then verify it's ok
- echo "[*] Configuring..."
- umask 077 >/dev/null
- if test -z "$tcldir"; then
- echo "[*] Searching for TCL in default paths (use '-t dir' to change)"
- ./configure --silent --disable-tcl-threads
- else
- echo "[*] Searching for TCL in: $tcldir"
- ./configure --silent --disable-tcl-threads --with-tcllib=${tcldir}/lib/libtcl8.4.a --with-tclinc=${tcldir}/include/tcl.h
- fi
- MAKE="`which gmake`"
- if test -z "${MAKE}"; then
- MAKE="`which make`"
- fi
- echo "[*] Using '${MAKE}'"
- # make clean, just in case
- if [ $clean = "1" ]; then
- echo "[*] Cleaning up old binaries/files..."
- ${MAKE} clean > /dev/null
- fi
- _leaf()
- {
- if [ $leaf = "1" ]; then
- # Build leaf and check
- echo "[*] Building ${d}leaf..."
- ${MAKE} ${d}leaf -s
- if ! test -f leaf
- then
- echo "[!] ${d}leaf build failed"
- exit 1
- fi
- fi
- }
- _hub()
- {
- if [ $hub = "1" ]; then
- # Build hub and check
- echo "[*] Building ${d}hub..."
- ${MAKE} ${d}hub -s
- if ! test -f hub
- then
- echo "[!] ${d}hub build failed"
- exit 1
- fi
- fi
- }
- if [ -f stamp.hub ]; then
- _hub
- _leaf
- else
- _leaf
- _hub
- fi
- # Wrap it nicely up into an archive
- echo "[*] Packaging..."
- if [ $all = "1" ]; then
- fls="leaf hub"
- elif [ $leaf = "1" ]; then
- fls="leaf"
- elif [ $hub = "1" ]; then
- fls="hub"
- fi
- if test -n "$d"; then
- d="-debug"
- fi
- for bin in $fls
- do
- mv -f $bin $bin.$os.$numver${d}
- done
- tar -zcf ${PACKNAME}.$os.$numver${d}.tgz *.$os.$numver${d}
- rm -f *$os.$numver${d}
- echo "Binaries are now in '${PACKNAME}.$os.$numver${d}.tgz'."
- exit 0
|