#!/bin/sh #sysname=$1 while [ $# != 0 ]; do if [ x$1 = x--with-nsupdate ]; then echo "nsupdate is always built now." elif [ x$1 = x--print-sysname ]; then print_sysname=yes elif [ x$1 = x--work-dir ]; then workname=$2 shift elif [ x$1 = x--dirs ]; then dirs=$2 shift elif [ x$1 = x--no-links ]; then nolinks=YES elif [ x$1 = x--copts ]; then copts=$2 shift elif [ x$sysname = x ]; then sysname=$1 else echo "Unexpected argument: $1" fi shift done uname=`uname -s` machine=`uname -m` if [ "$sysname" = "" ]; then case $uname in SCO_SV) IFS=":" for foo in $PATH; do if [ x$gcc_path = x ] && [ -x $foo/gcc ]; then gcc_path=$foo/gcc fi done IFS=" " if [ x$gcc_path = x ]; then sysname=sco-cc sysname_print=sco else sysname=sco-gcc sysname_print=sco fi ;; AIX) sysname=aix;; Darwin) sysname=darwin;; Rhapsody) sysname=rhapsody;; ULTRIX) sysname=ultrix;; BSD/OS) release=`uname -r` minor=`echo $release |sed -e 's/[0-9]*\.\([0-9][0-9]*\)\(\..*\)*$/\1/'` major=`echo $release |sed -e 's/\([0-9][0-9]*\)\..*$/\1/'` case $major in [123]) sysname=bsdos ;; *) case $minor in 0) sysname=bsdos ;; *) sysname=bsdos-4.1 ;; esac;; esac;; OSF1) if [ $machine = 'alpha' ]; then sysname=alphaosf # OSF1 has libc snprintf/vsnprintf support as of 4.0F. There is # no v4 & v5 portable compile-time way of knowing the system's # version (we can #include a version-identing file, but it is only # present in v5). # # So we rely on a system command, 'sizer', and default to # no-snprintf if we can't find it. if [ -x /usr/sbin/sizer ] ; then release=`/usr/sbin/sizer -v | cut -d ' ' -f 4 | cut -c 2-` major=`echo $release | cut -d . -f 1` minor=`echo $release | cut -d . -f 2` incr=`echo $minor | sed 's/[0-9]//g' | tr '[A-Z]' '[0-9]'` minor=`echo $minor | sed 's/[A-Z]//g'` if [ $major -gt 4 -o \ $major -eq 4 -a $minor -gt 0 -o \ $major -eq 4 -a $minor -eq 0 -a $incr -gt 5 ]; then copts="$copts -DHAVE_SNPRINTF" fi fi fi;; Linux) release=`uname -r` minor=`echo $release |sed -e 's/[0-9]*\.\([0-9][0-9]*\)\(\..*\)*$/\1/'` major=`echo $release |sed -e 's/\([0-9][0-9]*\)\..*$/\1/'` case $major in 1) sysname=linux-1 ;; 2) case $minor in 0) sysname=linux-2.0 ;; 1) sysname=linux-2.1 ;; 2) sysname=linux-2.2 ;; *) sysname=linux-2.2 ;; esac;; esac;; SunOS) release=`uname -r` minor=`echo $release |sed -e 's/.*[0-9]*\.\([0-9][0-9]*\).*$/\1/'` major=`echo $release |sed -e 's/\([0-9][0-9]*\)\..*$/\1/'` IFS=":" for foo in $PATH; do if [ x$gcc_path = x ] && [ -x $foo/gcc ]; then gcc_path=$foo/gcc fi done IFS=" " case $major in 4) if [ x$gcc_path = x ]; then echo SunOS 4 build will not work without the GNU C Compiler. exit 1 fi sysname=sunos4;; 5) if [ x$gcc_path = x ]; then sysname=sunos5-cc sysname_print=sunos5 else sysname=sunos5-gcc sysname_print=sunos5 fi;; esac;; NetBSD) sysname=netbsd;; OpenBSD) sysname=openbsd;; FreeBSD) sysname=freebsd;; hpux) IFS=":" for foo in $PATH; do if [ x$gcc_path = x ] && [ -x $foo/gcc ]; then gcc_path=$foo/gcc fi done IFS=" " if [ x$gcc_path = x ]; then sysname=hpux-cc sysname_print=hpux else sysname=hpux-gcc sysname_print=hpux fi;; HP-UX) IFS=":" for foo in $PATH; do if [ x$gcc_path = x ] && [ -x $foo/gcc ]; then gcc_path=$foo/gcc fi done IFS=" " if [ x$gcc_path = x ]; then sysname=hpux-cc sysname_print=hpux else sysname=hpux-gcc sysname_print=hpux fi;; QNX) release=`uname -r` major=`echo $release |sed -e 's/\([0-9][0-9]*\)\..*$/\1/'` case $major in 6) sysname=qnxnto;; *) sysname=qnx;; esac;; NEXTSTEP) sysname=nextstep;; UnixWare) sysname=uw7;; esac fi if [ "$sysname" = "" ]; then if [ x$print_sysname = xyes ]; then echo "unknown" else echo "UNIX name: $uname machine: $machine" echo echo "Unknown system. If this is an SCO system running ODT 3.0 or" echo "higher, type \`\`./configure sco''. Otherwise, this is a" echo "configuration that isn't supported or hasn't been tested." echo echo "Supported configurations are:" echo " aix AIX 4.1.5.0" echo " ultrix ULTRIX 4.2A or higher" echo " bsdos BSDI BSD/OS 2.1" echo " alphaosf DEC Alpha OSF/1" echo " linux Linux" echo " sunos4 Sunos 4.1.4 (earlier releases may work)" echo " sunos5-cc Solaris 2.4 or higher with Sun cc" echo " sunos5-gcc Solaris 2.4 or higher with gcc" echo " netbsd NetBSD 1.1 or higher" echo " freebsd FreeBSD" echo " openbsd OpenBSD (i386/alpha)" echo " hpux HP-UX" echo " qnx QNX 4.2 or higher" echo " NEXTSTEP NeXTSTEP" echo " sco SCO Open Server" exit 1; fi fi if [ x$print_sysname = xyes ]; then if [ x$sysname_print != x ]; then echo $sysname_print else echo $sysname fi exit 0 fi if [ x$workname = x ]; then if [ x$sysname_print != x ]; then workname=work.${sysname_print} else workname=work.${sysname} fi fi echo "System Type: $sysname" if [ x$major != x ] && [ x$minor != x ]; then majversubst="-e /^##--majver--/,/^##--majver--/s/MajorVersion/$major/" minversubst="-e /^##--minver--/,/^##--minver--/s/MinorVersion/$minor/" fi if [ ! -d $workname ]; then mkdir $workname fi if [ x"$dirs" = x ]; then dirs=". client server relay common omapip dhcpctl minires dst" fi for foo in $dirs; do bar=`basename $foo` if [ ! -d ${workname}/$bar ]; then mkdir ${workname}/$bar fi (sed $majversubst $minversubst \ -e "/^##--${sysname}--/,/^##--${sysname}--/s/^#//" \ ${workname}/$bar/Makefile done # Make the link tree in which to actually build. if [ x$nolinks = x ]; then make links fi exit 0