configure 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207
  1. #!/bin/sh
  2. # $Id: configure,v 1.38 2008/06/15 07:08:49 paulus Exp $
  3. # Where to install stuff by default
  4. DESTDIR=/usr/local
  5. SYSCONF=/etc
  6. # if [ -d /NextApps ]; then
  7. # system="NeXTStep"
  8. # else
  9. system=`uname -s`
  10. release=`uname -r`
  11. arch=`uname -m`
  12. # fi
  13. state="unknown"
  14. case $system in
  15. Linux)
  16. makext="linux";
  17. ksrc="linux";
  18. state="known";;
  19. SunOS)
  20. karch=`/usr/bin/isainfo -k`
  21. case $release in
  22. # [0-3]*) state="ancient";;
  23. # 4*) state="known"; ksrc="sunos4"; makext="sunos4";;
  24. 5.[7-9]*|5.[1-9][0-9]*) state="known"; ksrc="solaris"; makext="sol2";
  25. case "$karch" in
  26. amd64) archvariant='-64x';;
  27. sparcv9) archvariant='-64';;
  28. *) ;;
  29. esac;;
  30. 5.[1-6]*) state="known"; ksrc="solaris"; makext="sol2";;
  31. esac
  32. if [ "$1" = gcc ]; then
  33. shift
  34. usegcc=gcc
  35. fi
  36. if [ "$1" = 32 ]; then
  37. shift
  38. archvariant=
  39. fi
  40. if [ -x /opt/SUNWspro/bin/cc -a "$usegcc" != gcc ] &&
  41. /opt/SUNWspro/bin/cc -flags >/dev/null 2>&1; then
  42. if [ "$archvariant" = "-64x" ]; then
  43. ( cd /tmp; echo "int x;" > ppp$$.c
  44. /opt/SUNWspro/bin/cc -c -errwarn -xchip=opteron -m64 ppp$$.c >/dev/null 2>&1 || (
  45. echo "WorkShop C is unable to make 64 bit modules, and your $karch system needs"
  46. echo "them. Consider upgrading cc on this machine."
  47. rm -f ppp$$.c
  48. exit 1
  49. ) || exit 1
  50. rm -f ppp$$.c ppp$$.o
  51. ) || exit 1
  52. fi
  53. elif gcc --version >/dev/null 2>&1; then
  54. archvariant=gcc$archvariant
  55. compiletype=.gcc
  56. if [ "$archvariant" = "gcc-64" -o"$archvariant" = "gcc-64x" ]; then
  57. ( cd /tmp; touch ppp$$.c
  58. gcc -c -m64 ppp$$.c >/dev/null 2>&1 || (
  59. echo "gcc is unable to make 64 bit modules, and your $karch system needs them."
  60. echo "Consider upgrading gcc on this machine, or switching to Sun WorkShop."
  61. rm -f ppp$$.c
  62. exit 1
  63. ) || exit 1
  64. rm -f ppp$$.c ppp$$.o
  65. ) || exit 1
  66. fi
  67. else
  68. echo "C compiler not found; hoping for the best."
  69. fi;;
  70. NetBSD|FreeBSD|ULTRIX|OSF1|NeXTStep|SINIX-?|UNIX_SV|UNIX_System_V)
  71. state="notincluded";;
  72. # NetBSD)
  73. # makext="bsd";
  74. # case $release in
  75. # 0.*) state="ancient";;
  76. # 1.0*) state="ancient";;
  77. # 1.1*) state="known"; ksrc="netbsd-1.1";;
  78. # 1.2*) state="known"; ksrc="netbsd-1.2"; makext="netbsd-1.2";;
  79. # 1.[3-9]*|[2-9]*)
  80. # state="late"; ksrc="netbsd-1.2";;
  81. # esac;;
  82. # ULTRIX)
  83. # makext="ultrix";
  84. # case $release in
  85. # [0-3]*) state="ancient";;
  86. # 4.[01]*) state="early"; ksrc="ultrix";;
  87. # 4.[234]) state="known"; ksrc="ultrix";;
  88. # esac;;
  89. # OSF1)
  90. # makext="osf";
  91. # case $release in
  92. # V1.*) state="neolithic"; ksrc="osf1";;
  93. # V[23].*) state="neolithic"; ksrc="osf1";;
  94. # V4.*) state="known"; ksrc="osf1";;
  95. # V[5-9]*) state="late"; ksrc="osf1";;
  96. # esac;;
  97. # FreeBSD)
  98. # makext="bsd";
  99. # case $release in
  100. # 1.*) state="known"; ksrc="freebsd-old";;
  101. # 2.[01]*) state="known"; ksrc="freebsd-2.0";;
  102. # 2.2.[2-7]*) state="late"; ksrc="freebsd-2.0";;
  103. # 2.2.8*) state="known"; ksrc="freebsd-2.2.8";;
  104. # 3.[0-1]*) state="known"; ksrc="freebsd-3.0";;
  105. # esac;;
  106. # NeXTStep)
  107. # makext="NeXT";
  108. # ksrc="NeXT";
  109. # state="known";;
  110. # SINIX-?)
  111. # case $release in
  112. # 5.4[01]) state=known; ksrc=svr4; makext=svr4;;
  113. # 5.4[2-9]) state=late; ksrc=svr4; makext=svr4;;
  114. # esac;;
  115. # # Intel SVR4 systems come with a bug in the uname program. Unless
  116. # # your provider fixed the bug, or you get a fix for it, uname -S will
  117. # # overwrite the system name with the node name!
  118. # UNIX_SV|UNIX_System_V|`uname -n`)
  119. # case $release in
  120. # 4.0) state=known; ksrc=svr4; makext=svr4;;
  121. # 4.2) state=late; ksrc=svr4; makext=svr4;;
  122. # esac;;
  123. esac
  124. if [ -d "$ksrc" ]; then :; else
  125. state="notincluded"
  126. unset ksrc
  127. fi
  128. case $state in
  129. neolithic)
  130. echo "This is a newer release on an outdated OS ($system)."
  131. echo " This software may or may not work on this OS."
  132. echo " You may want to download an older version of PPP for this OS.";;
  133. ancient)
  134. echo "This is an old release of a supported OS ($system)."
  135. echo "This software cannot be used as-is on this system,"
  136. echo "but you may be able to port it. Good luck!"
  137. exit;;
  138. early)
  139. echo "This is an old release of a supported OS ($system)."
  140. echo "This software should install and run on this system,"
  141. echo "but it hasn't been tested.";;
  142. late)
  143. echo "This is a newer release of $system than is supported by"
  144. echo "this software. It may or may not work.";;
  145. unknown)
  146. echo "This software has not been ported to $system. Sorry.";;
  147. notincluded)
  148. echo "Support for $system has not been included"
  149. echo "in this distribution. Sorry.";;
  150. known)
  151. echo "Configuring for $system";;
  152. esac
  153. # Parse arguments
  154. while [ $# -gt 0 ]; do
  155. arg=$1
  156. val=
  157. shift
  158. case $arg in
  159. *=*)
  160. val=`expr "x$arg" : 'x[^=]*=\(.*\)'`
  161. arg=`expr "x$arg" : 'x\([^=]*\)=.*'`
  162. ;;
  163. --prefix|--sysconf)
  164. if [ $# -eq 0 ]; then
  165. echo "error: the $arg argument requires a value" 1>&2
  166. exit 1
  167. fi
  168. val=$1
  169. shift
  170. ;;
  171. esac
  172. case $arg in
  173. --prefix) DESTDIR=$val ;;
  174. --sysconfdir) SYSCONF=$val ;;
  175. esac
  176. done
  177. mkmkf() {
  178. rm -f $2
  179. if [ -f $1 ]; then
  180. echo " $2 <= $1"
  181. sed -e "s,@DESTDIR@,$DESTDIR,g" -e "s,@SYSCONF@,$SYSCONF,g" $1 >$2
  182. fi
  183. }
  184. if [ -d "$ksrc" ]; then
  185. echo "Creating Makefiles."
  186. mkmkf $ksrc/Makefile.top Makefile
  187. mkmkf $ksrc/Makedefs$compiletype Makedefs.com
  188. for dir in pppd pppstats chat pppdump pppd/plugins pppd/plugins/rp-pppoe \
  189. pppd/plugins/radius pppd/plugins/pppoatm \
  190. pppd/plugins/pppol2tp; do
  191. mkmkf $dir/Makefile.$makext $dir/Makefile
  192. done
  193. if [ -f $ksrc/Makefile.$makext$archvariant ]; then
  194. mkmkf $ksrc/Makefile.$makext$archvariant $ksrc/Makefile
  195. fi
  196. else
  197. echo "Unable to locate kernel source $ksrc"
  198. exit 1
  199. fi