No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
 
 
 
 
 
 

160 líneas
3.3 KiB

  1. #!/bin/bash
  2. VERSION=0.1
  3. PACKAGE=pimp
  4. prefix=/usr/local
  5. config=RELEASE
  6. configurations=" RELEASE DEBUG"
  7. common_packages=" glade-sharp-2.0;2.12.1 glib-sharp-2.0;2.12.1 gtk-sharp-2.0;2.12.1"
  8. usage ()
  9. {
  10. echo "Usage : configure [OPTION]... [--config=CONFIG]"
  11. echo
  12. echo "Options:"
  13. echo " --prefix=PREFIX install architecture-independent files in PREFIX"
  14. echo " [/usr/local]"
  15. echo " --bindir=DIR user executables [PREFIX/bin]"
  16. echo " --datadir=DIR read-only architecture-independent data [PREFIX/share]"
  17. echo " --libdir=DIR object code libraries [PREFIX/lib]"
  18. echo
  19. echo "Configurations available :"
  20. for c in $configurations; do
  21. if [ "$c" = "$config" ]; then
  22. echo " $c (Default)"
  23. else
  24. echo " $c"
  25. fi
  26. done
  27. }
  28. validate_config ()
  29. {
  30. test -z "$1" && return 0
  31. for c in $configurations; do
  32. if [ "$c" = "$1" ]; then
  33. return 1
  34. fi
  35. done
  36. return 0
  37. }
  38. check_package ()
  39. {
  40. name=`echo $1 | cut -d\; -f1`
  41. version=`echo $1 | cut -d\; -f2`
  42. echo -n "Checking for package '$name'.." | tee -a config.log
  43. pkg-config --atleast-version=$version $name
  44. if [ $? -ne 0 ]; then
  45. echo " ERROR: Package named '$name' >= $version not found." | tee -a config.log
  46. echo "Try adjusting your PKG_CONFIG_PATH environment variable." | tee -a config.log
  47. return 1
  48. fi
  49. echo " found." | tee -a config.log
  50. }
  51. check_required_packages ()
  52. {
  53. echo "Looking for required packages" | tee config.log
  54. var=required_packages_$config
  55. for pkg in $common_packages ${!var}; do
  56. check_package $pkg
  57. retval=$?
  58. [ $retval -ne 0 ] && return $retval
  59. done
  60. return 0
  61. }
  62. while test x$1 != x; do
  63. case $1 in
  64. --prefix=*)
  65. prefix=`echo $1 | sed 's/--prefix=//'`
  66. ;;
  67. --prefix)
  68. shift
  69. prefix=$1
  70. ;;
  71. --libdir=*)
  72. libdir=`echo $1 | sed 's/--libdir=//'`
  73. ;;
  74. --libdir)
  75. shift
  76. libdir=$1
  77. ;;
  78. --bindir=*)
  79. bindir=`echo $1 | sed 's/--bindir=//'`
  80. ;;
  81. --bindir)
  82. shift
  83. bindir=$1
  84. ;;
  85. --datadir=*)
  86. datadir=`echo $1 | sed 's/--datadir=//'`
  87. ;;
  88. --datadir)
  89. shift
  90. datadir=$1
  91. ;;
  92. --config=*)
  93. conf=`echo $1 | sed 's/--config=//'`
  94. validate_config "$conf"
  95. if [ $? -eq 1 ]; then
  96. config=$conf
  97. else
  98. echo "Invalid config name - $conf"
  99. usage
  100. exit 1
  101. fi
  102. ;;
  103. --help)
  104. usage
  105. exit
  106. ;;
  107. *)
  108. echo Unknown argument $1 >&2
  109. usage
  110. exit 1
  111. ;;
  112. esac
  113. shift
  114. done
  115. check_required_packages
  116. [ $? -eq 1 ] && exit 1
  117. if [ -z "$libdir" ]; then
  118. libdir=$prefix/lib
  119. fi
  120. if [ -z "$bindir" ]; then
  121. bindir=$prefix/bin
  122. fi
  123. if [ -z "$datadir" ]; then
  124. datadir=$prefix/share
  125. fi
  126. echo "prefix=$prefix" > config.make
  127. echo "libdir=$libdir" >> config.make
  128. echo "bindir=$bindir" >> config.make
  129. echo "datadir=$datadir" >> config.make
  130. echo "RUNTIME=mono" >> config.make
  131. echo "ASSEMBLY_VERSION=$VERSION.0.0" >> config.make
  132. echo "VERSION=$VERSION" >> config.make
  133. echo "PACKAGE=$PACKAGE" >> config.make
  134. echo "CONFIG=$config" >> config.make
  135. echo
  136. echo "$PACKAGE has been configured with "
  137. echo " prefix = $prefix"
  138. if [ "$libdir" != "$prefix/lib" ]; then
  139. echo " libdir = $libdir"
  140. fi
  141. if [ "$bindir" != "$prefix/bin" ]; then
  142. echo " bindir = $bindir"
  143. fi
  144. if [ "$datadir" != "$prefix/share" ]; then
  145. echo " datadir = $datadir"
  146. fi
  147. echo " config = $config"
  148. echo