X-Git-Url: http://git.ozlabs.org/?p=ppp.git;a=blobdiff_plain;f=configure;h=56816b8240f0458183501d3785dded9a12af5b6f;hp=60139fded49f5e9d75409efc9a418ae2aa850196;hb=d16a3985eade5280b8e171f5dd0670a91cba0d39;hpb=a75742c5e72fa5718e57d77586887d58755feebe diff --git a/configure b/configure index 60139fd..56816b8 100755 --- a/configure +++ b/configure @@ -1,12 +1,15 @@ #!/bin/sh -# $Id: configure,v 1.31 2004/01/17 05:47:55 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` - machine=`uname -p` arch=`uname -m` # fi state="unknown" @@ -17,27 +20,47 @@ case $system in ksrc="linux"; state="known";; 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 -xarch=amd64 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 @@ -133,27 +156,51 @@ case $state in 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 links to Makefiles." - rm -f Makefile - ln -s $ksrc/Makefile.top Makefile - echo " Makefile -> $ksrc/Makefile.top" - rm -f Makedefs.com - ln -s $ksrc/Makedefs$compiletype Makedefs.com - echo " $ksrc/Makedefs$compiletype -> Makedefs.com" - for dir in pppd pppstats chat pppdump pppd/plugins pppd/plugins/rp-pppoe pppd/plugins/radius; do - rm -f $dir/Makefile - if [ -f $dir/Makefile.$makext ]; then - ln -s Makefile.$makext $dir/Makefile - echo " $dir/Makefile -> Makefile.$makext" + 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 \ + 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 - if [ "$archvariant" ]; then - makext=$makext$archvariant - rm -f $ksrc/Makefile - ln -s Makefile.$makext $ksrc/Makefile - echo " $ksrc/Makefile -> Makefile.$makext" - fi else echo "Unable to locate kernel source $ksrc" exit 1