X-Git-Url: https://git.ozlabs.org/?p=ppp.git;a=blobdiff_plain;f=configure;h=ecd1b0d8ebf3a5fc40f80229e51b648d939545cf;hp=8f5e36ee80dcf1628d225b967abdc3c884e7c20f;hb=b2c36e6c0e1655aea9b1b0a03a8160f42a26c884;hpb=a9d45595aa8f6c1e80f7babf793125eec0853694 diff --git a/configure b/configure index 8f5e36e..ecd1b0d 100755 --- a/configure +++ b/configure @@ -1,83 +1,128 @@ #!/bin/sh -# $Id: configure,v 1.22 1999/09/22 18:40:53 masputra Exp $ +# $Id: configure,v 1.38 2008/06/15 07:08:49 paulus Exp $ -if [ -d /NextApps ]; then - system="NeXTStep" -else +# Where to install stuff by default +DESTDIR=/usr/local +SYSCONF=/etc + +# if [ -d /NextApps ]; then +# system="NeXTStep" +# else system=`uname -s` release=`uname -r` - machine=`uname -p` arch=`uname -m` -fi +# fi state="unknown" case $system in - 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;; - SunOS) - case $release in - [0-3]*) state="ancient";; - 4*) state="known"; ksrc="sunos4"; makext="sunos4";; - 5.[1-6]*) state="known"; ksrc="svr4"; makext="sol2";; - 5.[789]*) state="known"; ksrc="svr4"; makext="sol2"; - case $arch in - sun4u) lp64='y';; - *) ;; - esac;; - 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;; Linux) makext="linux"; ksrc="linux"; state="known";; - 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`) + SunOS) + karch=`/usr/bin/isainfo -k` case $release in - 4.0) state=known; ksrc=svr4; makext=svr4;; - 4.2) state=late; ksrc=svr4; makext=svr4;; - esac;; +# [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 "$karch" in + amd64) archvariant='-64x';; + sparcv9) archvariant='-64';; + *) ;; + esac;; + 5.[1-6]*) state="known"; ksrc="solaris"; makext="sol2";; + esac + if [ "$1" = gcc ]; then + shift + usegcc=gcc + fi + if [ "$1" = 32 ]; then + shift + archvariant= + fi + if [ -x /opt/SUNWspro/bin/cc -a "$usegcc" != gcc ] && + /opt/SUNWspro/bin/cc -flags >/dev/null 2>&1; then + if [ "$archvariant" = "-64x" ]; then + ( cd /tmp; echo "int x;" > ppp$$.c + /opt/SUNWspro/bin/cc -c -errwarn -xchip=opteron -m64 ppp$$.c >/dev/null 2>&1 || ( + echo "WorkShop C is unable to make 64 bit modules, and your $karch system needs" + echo "them. Consider upgrading cc on this machine." + rm -f ppp$$.c + exit 1 + ) || exit 1 + rm -f ppp$$.c ppp$$.o + ) || exit 1 + fi + elif gcc --version >/dev/null 2>&1; then + archvariant=gcc$archvariant + compiletype=.gcc + if [ "$archvariant" = "gcc-64" -o"$archvariant" = "gcc-64x" ]; 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 $karch 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 @@ -88,7 +133,7 @@ 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 " 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)." @@ -103,37 +148,60 @@ case $state in 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 this system. Sorry.";; + echo "This software has not been ported to $system. Sorry.";; notincluded) - echo "Support for this system has not been included" + echo "Support for $system has not been included" echo "in this distribution. Sorry.";; + known) + echo "Configuring for $system";; esac -orig_makext=$makext +# 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 -if [ -d "$ksrc" ]; then - echo "Creating links to Makefiles." - rm -f Makefile - ln -s $ksrc/Makefile.top Makefile - echo " Makefile -> $ksrc/Makefile.top" - if [ "$ksrc" = svr4 ]; then - # Point to 64-bit Makefile extension - if [ "$lp64" = y ]; then - makext=$makext-64 - fi - rm -f $ksrc/Makefile - ln -s Makefile.$makext $ksrc/Makefile - echo " $ksrc/Makefile -> Makefile.$makext" - # Restore extension - if [ "$lp64" = y ]; then - makext=$orig_makext +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 - fi - for dir in pppd pppstats chat pppdump; do - rm -f $dir/Makefile - if [ -f $dir/Makefile.$makext ]; then - ln -s Makefile.$makext $dir/Makefile - echo " $dir/Makefile -> Makefile.$makext" +} + +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/pppoe \ + pppd/plugins/radius pppd/plugins/pppoatm \ + pppd/plugins/pppol2tp; do + mkmkf $dir/Makefile.$makext $dir/Makefile + done + if [ -f $ksrc/Makefile.$makext$archvariant ]; then + mkmkf $ksrc/Makefile.$makext$archvariant $ksrc/Makefile fi - done +else + echo "Unable to locate kernel source $ksrc" + exit 1 fi