X-Git-Url: https://git.ozlabs.org/?p=ppp.git;a=blobdiff_plain;f=configure;h=b0c3d2b491220a06542c2a8eedbd4346a8420880;hp=8be841c0347cd008bab253d8778089fb77c75deb;hb=f1a34da3b2f5336e4993a729e5ac2130d0e0595a;hpb=b7659bddc7e49a0d7c460e19983e7e493541b4e2 diff --git a/configure b/configure index 8be841c..b0c3d2b 100755 --- a/configure +++ b/configure @@ -1,46 +1,66 @@ #!/bin/sh -# $Id: configure,v 1.36 2005/06/26 19:34:41 carlsonj Exp $ +# $Id: configure,v 1.38 2008/06/15 07:08:49 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 +# Compile defaults +CROSS_COMPILE= +CC=cc +CFLAGS= + +system=`uname -s` +release=`uname -r` +arch=`uname -m` state="unknown" case $system in Linux) makext="linux"; ksrc="linux"; - state="known";; + state="known"; + CFLAGS="-O2 -g -pipe";; SunOS) + karch=`/usr/bin/isainfo -k` 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 + 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 [ -x /opt/SUNWspro/bin/cc -a "$1" != "gcc" ] && + 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 - : # use Sun WorkShop compiler + 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" ]; then + 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 $arch system needs them." - echo "consider upgrading gcc on this machine, or switching to Sun WorkShop." + 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 @@ -52,57 +72,6 @@ case $system in 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 @@ -111,22 +80,6 @@ if [ -d "$ksrc" ]; then :; else 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) @@ -156,8 +109,11 @@ while [ $# -gt 0 ]; do ;; esac case $arg in - --prefix) DESTDIR=$val ;; - --sysconfdir) SYSCONF=$val ;; + --prefix) DESTDIR=$val ;; + --sysconfdir) SYSCONF=$val ;; + --cross_compile) CROSS_COMPILE=$val ;; + --cc) CC=$val ;; + --cflags) CFLAGS=$val ;; esac done @@ -165,7 +121,9 @@ mkmkf() { rm -f $2 if [ -f $1 ]; then echo " $2 <= $1" - sed -e "s,@DESTDIR@,$DESTDIR,g" -e "s,@SYSCONF@,$SYSCONF,g" $1 >$2 + sed -e "s,@DESTDIR@,$DESTDIR,g" -e "s,@SYSCONF@,$SYSCONF,g" \ + -e "s,@CROSS_COMPILE@,$CROSS_COMPILE,g" -e "s,@CC@,$CC,g" \ + -e "s|@CFLAGS@|$CFLAGS|g" $1 >$2 fi } @@ -173,8 +131,9 @@ 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 + 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