build 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. #!/bin/sh
  2. #add in 'cont' support for NOT using make clean.
  3. #change this to 0 to not clean previously compiled files (faster/for dev)
  4. clean=0
  5. #### DO NOT EDIT BELOW THIS LINE #####
  6. # Awk out the version from source
  7. ver=`cat src/main.c 2>&1 | grep "char" | awk '/egg_version/ {print $4}' | sed -e 's/\"//g' | sed -e 's/\;//g'`
  8. numver=`cat src/main.c 2>&1 | grep "int" | awk '/egg_numver =/ {print $4}' | sed -e 's/\;//g'`
  9. if test -z "$ver"
  10. then
  11. ver="?.?.?"
  12. fi
  13. echo "*** wraith v${ver}/${numver} builder ***"
  14. echo ""
  15. debug=0
  16. all=0
  17. hub=0
  18. leaf=0
  19. #if test $# -lt 1; then
  20. if test -z "$1"; then
  21. echo "Usage: $0 -d all|leaf|hub"
  22. echo " -d: Builds a debug package."
  23. # echo " -c: Does not erase previously compiled files unless *necessary* (faster)"
  24. echo ""
  25. exit 1
  26. elif [ $1 = "all" ]; then
  27. all=1
  28. elif [ $1 = "leaf" ]; then
  29. leaf=1
  30. elif [ $1 = "hub" ]; then
  31. hub=1
  32. elif [ $1 = "-d" ]; then
  33. debug=1
  34. test=" "
  35. if ! test $# -lt 2; then
  36. if [ $2 = "all" ]; then
  37. all=1
  38. elif [ $2 = "leaf" ]; then
  39. leaf=1
  40. elif [ $2 = "hub" ]; then
  41. hub=1
  42. else
  43. all=1
  44. fi
  45. else
  46. all=1
  47. fi
  48. else
  49. all=1
  50. fi
  51. d=""
  52. if [ $debug = "1" ]; then
  53. d="d"
  54. fi
  55. if [ $all = "1" ]; then
  56. leaf=1
  57. hub=1
  58. fi
  59. packname=wraith
  60. ############# CHECK FOR pack/ FILES #################
  61. # Figure what bins we're making
  62. case `uname` in
  63. Linux) os=Linux;;
  64. FreeBSD) case `uname -r` in
  65. 5*) os=FreeBSD5;;
  66. 4*) os=FreeBSD4;;
  67. 3*) os=FreeBSD3;;
  68. esac;;
  69. OpenBSD) os=OpenBSD;;
  70. esac
  71. if test -z $os
  72. then
  73. echo "[!] Automated packaging disabled, `uname` isn't recognized"
  74. fi
  75. echo "[*] Building pack for $os"
  76. # Run ./configure, then verify it's ok
  77. echo "[*] Configuring..."
  78. umask 077 >/dev/null
  79. TCLDIR=`cat pack/conf.h 2>&1 | grep "//" | awk '/TCLDIR/ {print $2}' | sed -e 's/\"//g'`
  80. if test -z ${TCLDIR}
  81. then
  82. echo "[*] Searching for TCL in default dirs (edit $packname to change)"
  83. ./configure --disable-tcl-threads > /dev/null 2>configure.temp
  84. else
  85. echo "[*] Searching for TCL in: $TCLDIR"
  86. ./configure --disable-tcl-threads --with-tcllib=${TCLDIR}/lib/libtcl8.4.a --with-tclinc=${TCLDIR}/include/tcl.h > /dev/null 2>configure.temp
  87. fi
  88. #if test "`cat configure.temp`"
  89. #then
  90. # echo "Configure error'd"
  91. # cat configure.temp
  92. #
  93. # exit 1
  94. #fi
  95. #rm -f configure.temp
  96. # make clean, just in case
  97. if [ $clean = "1" ]; then
  98. echo "[*] Cleaning up old binaries/files..."
  99. make clean > /dev/null
  100. fi
  101. if [ $leaf = "1" ]; then
  102. # Build leaf and check
  103. echo "[*] Building ${d}leaf..."
  104. make ${d}leaf > /dev/null
  105. if ! test -f leaf
  106. then
  107. echo "[!] ${d}leaf build failed"
  108. exit 1
  109. fi
  110. fi
  111. if [ $hub = "1" ]; then
  112. # Build hub and check
  113. echo "[*] Building ${d}hub..."
  114. make ${d}hub > /dev/null
  115. if ! test -f hub
  116. then
  117. echo "[!] ${d}hub build failed"
  118. exit 1
  119. fi
  120. fi
  121. # Wrap it nicely up into an archive
  122. echo "[*] Packaging..."
  123. packname=`basename $packname .cfg`
  124. if [ $all = "1" ]; then
  125. fls="leaf hub"
  126. elif [ $leaf = "1" ]; then
  127. fls="leaf"
  128. elif [ $hub = "1" ]; then
  129. fls="hub"
  130. fi
  131. for bin in $fls
  132. do
  133. mv -f $bin $bin.$os.$numver
  134. done
  135. tar -zcf $packname.$os.$numver.tgz *.$os.$numver
  136. rm -f *.$os.$numver
  137. echo "Binaries are now in '$packname.$os.$numver.tgz'."
  138. exit 0