| #!/bin/sh |
| # $Id: configure,v 1.35 2004/11/06 11:36:54 paulus Exp $ |
| |
| # Where to install stuff by default |
| DESTDIR=/usr/local |
| SYSCONF=/etc |
| |
| # if [ -d /NextApps ]; then |
| # system="NeXTStep" |
| # else |
| system=`uname -s` |
| release=`uname -r` |
| arch=`uname -m` |
| # fi |
| state="unknown" |
| |
| case $system in |
| Linux) |
| makext="linux"; |
| ksrc="linux"; |
| state="known";; |
| SunOS) |
| case $release in |
| # [0-3]*) state="ancient";; |
| # 4*) state="known"; ksrc="sunos4"; makext="sunos4";; |
| 5.[7-9]*|5.[1-9][0-9]) state="known"; ksrc="solaris"; makext="sol2"; |
| case "`/usr/bin/isainfo -k`" in |
| sparcv9) archvariant='-64';; |
| *) ;; |
| esac;; |
| 5.[1-6]*) state="known"; ksrc="solaris"; makext="sol2";; |
| esac |
| if [ -x /opt/SUNWspro/bin/cc -a "$1" != "gcc" ] && |
| /opt/SUNWspro/bin/cc -flags >/dev/null 2>&1; then |
| : # use Sun WorkShop compiler |
| elif gcc --version >/dev/null 2>&1; then |
| archvariant=gcc$archvariant |
| compiletype=.gcc |
| if [ "$archvariant" = "gcc-64" ]; then |
| ( cd /tmp; touch ppp$$.c |
| gcc -c -m64 ppp$$.c >/dev/null 2>&1 || ( |
| echo "gcc is unable to make 64 bit modules, and your $arch system needs them." |
| echo "consider upgrading gcc on this machine, or switching to Sun WorkShop." |
| rm -f ppp$$.c |
| exit 1 |
| ) || exit 1 |
| rm -f ppp$$.c ppp$$.o |
| ) || exit 1 |
| fi |
| else |
| echo "C compiler not found; hoping for the best." |
| fi;; |
| NetBSD|FreeBSD|ULTRIX|OSF1|NeXTStep|SINIX-?|UNIX_SV|UNIX_System_V) |
| state="notincluded";; |
| # NetBSD) |
| # makext="bsd"; |
| # case $release in |
| # 0.*) state="ancient";; |
| # 1.0*) state="ancient";; |
| # 1.1*) state="known"; ksrc="netbsd-1.1";; |
| # 1.2*) state="known"; ksrc="netbsd-1.2"; makext="netbsd-1.2";; |
| # 1.[3-9]*|[2-9]*) |
| # state="late"; ksrc="netbsd-1.2";; |
| # esac;; |
| # ULTRIX) |
| # makext="ultrix"; |
| # case $release in |
| # [0-3]*) state="ancient";; |
| # 4.[01]*) state="early"; ksrc="ultrix";; |
| # 4.[234]) state="known"; ksrc="ultrix";; |
| # esac;; |
| # OSF1) |
| # makext="osf"; |
| # case $release in |
| # V1.*) state="neolithic"; ksrc="osf1";; |
| # V[23].*) state="neolithic"; ksrc="osf1";; |
| # V4.*) state="known"; ksrc="osf1";; |
| # V[5-9]*) state="late"; ksrc="osf1";; |
| # esac;; |
| # FreeBSD) |
| # makext="bsd"; |
| # case $release in |
| # 1.*) state="known"; ksrc="freebsd-old";; |
| # 2.[01]*) state="known"; ksrc="freebsd-2.0";; |
| # 2.2.[2-7]*) state="late"; ksrc="freebsd-2.0";; |
| # 2.2.8*) state="known"; ksrc="freebsd-2.2.8";; |
| # 3.[0-1]*) state="known"; ksrc="freebsd-3.0";; |
| # esac;; |
| # NeXTStep) |
| # makext="NeXT"; |
| # ksrc="NeXT"; |
| # state="known";; |
| # SINIX-?) |
| # case $release in |
| # 5.4[01]) state=known; ksrc=svr4; makext=svr4;; |
| # 5.4[2-9]) state=late; ksrc=svr4; makext=svr4;; |
| # esac;; |
| # # Intel SVR4 systems come with a bug in the uname program. Unless |
| # # your provider fixed the bug, or you get a fix for it, uname -S will |
| # # overwrite the system name with the node name! |
| # UNIX_SV|UNIX_System_V|`uname -n`) |
| # case $release in |
| # 4.0) state=known; ksrc=svr4; makext=svr4;; |
| # 4.2) state=late; ksrc=svr4; makext=svr4;; |
| # esac;; |
| esac |
| |
| if [ -d "$ksrc" ]; then :; else |
| state="notincluded" |
| unset ksrc |
| fi |
| |
| case $state in |
| neolithic) |
| echo "This is a newer release on an outdated OS ($system)." |
| echo " This software may or may not work on this OS." |
| echo " You may want to download an older version of PPP for this OS.";; |
| ancient) |
| echo "This is an old release of a supported OS ($system)." |
| echo "This software cannot be used as-is on this system," |
| echo "but you may be able to port it. Good luck!" |
| exit;; |
| early) |
| echo "This is an old release of a supported OS ($system)." |
| echo "This software should install and run on this system," |
| echo "but it hasn't been tested.";; |
| late) |
| echo "This is a newer release of $system than is supported by" |
| echo "this software. It may or may not work.";; |
| unknown) |
| echo "This software has not been ported to $system. Sorry.";; |
| notincluded) |
| echo "Support for $system has not been included" |
| echo "in this distribution. Sorry.";; |
| known) |
| echo "Configuring for $system";; |
| esac |
| |
| # Parse arguments |
| while [ $# -gt 0 ]; do |
| arg=$1 |
| val= |
| shift |
| case $arg in |
| *=*) |
| val=`expr "x$arg" : 'x[^=]*=\(.*\)'` |
| arg=`expr "x$arg" : 'x\([^=]*\)=.*'` |
| ;; |
| --prefix|--sysconf) |
| if [ $# -eq 0 ]; then |
| echo "error: the $arg argument requires a value" 1>&2 |
| exit 1 |
| fi |
| val=$1 |
| shift |
| ;; |
| esac |
| case $arg in |
| --prefix) DESTDIR=$val ;; |
| --sysconfdir) SYSCONF=$val ;; |
| esac |
| done |
| |
| mkmkf() { |
| rm -f $2 |
| if [ -f $1 ]; then |
| echo " $2 <= $1" |
| sed -e "s,@DESTDIR@,$DESTDIR,g" -e "s,@SYSCONF@,$SYSCONF,g" $1 >$2 |
| fi |
| } |
| |
| if [ -d "$ksrc" ]; then |
| echo "Creating Makefiles." |
| mkmkf $ksrc/Makefile.top Makefile |
| mkmkf $ksrc/Makedefs$compiletype Makedefs.com |
| for dir in pppd pppstats chat pppdump pppd/plugins pppd/plugins/rp-pppoe \ |
| pppd/plugins/radius pppd/plugins/pppoatm; do |
| mkmkf $dir/Makefile.$makext $dir/Makefile |
| done |
| if [ "$archvariant" ]; then |
| mkmkf $ksrc/Makefile.$makext$archvariant $ksrc/Makefile |
| fi |
| else |
| echo "Unable to locate kernel source $ksrc" |
| exit 1 |
| fi |