cygwin-package.sh.in 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. TOP_DIR=`cd \`echo "$0" | sed -n '/\//{s/\/[^\/]*$//;p;}'\`;pwd`
  2. # create build directory
  3. mkdirs()
  4. {
  5. (
  6. mkdir -p "$TOP_DIR/@CPACK_PACKAGE_FILE_NAME@/.build"
  7. )
  8. }
  9. # cd into
  10. # untar source tree and apply patch
  11. prep()
  12. {
  13. (
  14. cd "$TOP_DIR" &&
  15. tar xvfj @[email protected]
  16. patch -p0 < "@CPACK_PACKAGE_FILE_NAME@-@[email protected]" &&
  17. mkdirs
  18. )
  19. }
  20. conf()
  21. {
  22. (
  23. cd "$TOP_DIR/@CPACK_PACKAGE_FILE_NAME@/.build" &&
  24. ../bootstrap --parallel=2
  25. )
  26. }
  27. build()
  28. {
  29. (
  30. cd "$TOP_DIR/@CPACK_PACKAGE_FILE_NAME@/.build" &&
  31. make -j2 &&
  32. make test
  33. )
  34. }
  35. clean()
  36. {
  37. (
  38. cd "$TOP_DIR/@CPACK_PACKAGE_FILE_NAME@/.build" &&
  39. make clean
  40. )
  41. }
  42. pkg()
  43. {
  44. (
  45. cd "$TOP_DIR/@CPACK_PACKAGE_FILE_NAME@/.build" &&
  46. ./bin/cpack &&
  47. mv @CPACK_PACKAGE_FILE_NAME@-@[email protected] "$TOP_DIR"
  48. )
  49. }
  50. spkg()
  51. {
  52. (
  53. cd "$TOP_DIR/@CPACK_PACKAGE_FILE_NAME@/.build" &&
  54. ./bin/cpack --config CPackSourceConfig.cmake &&
  55. mv @CPACK_PACKAGE_FILE_NAME@-@[email protected] "$TOP_DIR"
  56. )
  57. }
  58. finish()
  59. {
  60. (
  61. rm -rf "@CPACK_PACKAGE_FILE_NAME@"
  62. )
  63. }
  64. case $1 in
  65. prep) prep ; STATUS=$? ;;
  66. mkdirs) mkdirs ; STATUS=$? ;;
  67. conf) conf ; STATUS=$? ;;
  68. build) build ; STATUS=$? ;;
  69. clean) clean ; STATUS=$? ;;
  70. package) pkg ; STATUS=$? ;;
  71. pkg) pkg ; STATUS=$? ;;
  72. src-package) spkg ; STATUS=$? ;;
  73. spkg) spkg ; STATUS=$? ;;
  74. finish) finish ; STATUS=$? ;;
  75. all) (
  76. prep && conf && build && pkg && spkg && finish ;
  77. STATUS=$?
  78. ) ;;
  79. *) echo "Error: bad argument (all or one of these: prep mkdirs conf build clean package pkg src-package spkg finish)" ; exit 1 ;;
  80. esac
  81. exit ${STATUS}