1219732Sume#!/bin/sh 2219732Sume# Try and be like autotools configure, but without autotools 3219732Sume 4219732Sume# Ensure that we do not inherit these from env 5219732SumeOS= 6219732SumeBUILD= 7219732SumeHOST= 8219732SumeTARGET= 9219732SumeRESTARTCMD= 10219732SumeRCDIR= 11304515SpfgSTATUSARG= 12219732Sume 13282434Sgjbfor x do 14219732Sume opt=${x%%=*} 15219732Sume var=${x#*=} 16219732Sume case "$opt" in 17219732Sume --os|OS) OS=$var;; 18219732Sume --with-cc|CC) CC=$var;; 19219732Sume --debug) DEBUG=$var;; 20219732Sume --disable-debug) DEBUG=no;; 21219732Sume --enable-debug) DEBUG=yes;; 22282434Sgjb --prefix) PREFIX=$var;; 23219732Sume --sysconfdir) SYSCONFDIR=$var;; 24219732Sume --bindir|--sbindir) SBINDIR=$var;; 25219732Sume --libexecdir) LIBEXECDIR=$var;; 26219732Sume --statedir|--localstatedir) STATEDIR=$var;; 27219732Sume --dbdir) DBDIR=$var;; 28219732Sume --rundir) RUNDIR=$var;; 29219732Sume --mandir) MANDIR=$var;; 30219732Sume --with-ccopts|CFLAGS) CFLAGS=$var;; 31219732Sume CPPFLAGS) CPPFLAGS=$var;; 32219732Sume --build) BUILD=$var;; 33219732Sume --host) HOST=$var;; 34219732Sume --target) TARGET=$var;; 35219732Sume --libdir) LIBDIR=$var;; 36219732Sume --restartcmd) RESTARTCMD=$var;; 37304515Spfg --rcdir) RCDIR=$var;; 38304515Spfg --statusarg) STATUSARG=$var;; 39219732Sume --includedir) eval INCLUDEDIR="$INCLUDEDIR${INCLUDEDIR:+ }$var";; 40219732Sume --datadir|--infodir) ;; # ignore autotools 41219732Sume --disable-maintainer-mode|--disable-dependency-tracking) ;; 42219732Sume --help) echo "See the README file for available options"; exit 0;; 43219732Sume *) echo "$0: WARNING: unknown option $opt" >&2;; 44219732Sume esac 45219732Sumedone 46219732Sume 47282434Sgjbif [ -z "$LIBEXECDIR" ]; then 48282434Sgjb printf "Checking for directory /libexec ... " 49282434Sgjb if [ -d /libexec ]; then 50282434Sgjb echo "yes" 51282434Sgjb LIBEXECDIR=$PREFIX/libexec/resolvconf 52282434Sgjb else 53282434Sgjb echo "no" 54282434Sgjb LIBEXECDIR=$PREFIX/lib/resolvconf 55282434Sgjb fi 56282434Sgjbfi 57282434Sgjbif [ -z "$RUNDIR" ]; then 58282434Sgjb printf "Checking for directory /run ... " 59282434Sgjb if [ -d /run ]; then 60282434Sgjb echo "yes" 61282434Sgjb RUNDIR=/run 62282434Sgjb else 63282434Sgjb echo "no" 64282434Sgjb RUNDIR=/var/run 65282434Sgjb fi 66282434Sgjbfi 67282434Sgjb 68219732Sume: ${SED:=sed} 69219732Sume 70219732Sume: ${SYSCONFDIR:=$PREFIX/etc} 71219732Sume: ${SBINDIR:=$PREFIX/sbin} 72282434Sgjb: ${LIBEXECDIR:=$PREFIX/libexec/resolvconf} 73219732Sume: ${STATEDIR:=/var} 74219732Sume: ${RUNDIR:=$STATEDIR/run} 75219732Sume: ${MANDIR:=${PREFIX:-/usr}/share/man} 76219732Sume 77219732Sumeeval SYSCONFDIR="$SYSCONFDIR" 78219732Sumeeval SBINDIR="$SBINDIR" 79282434Sgjbeval LIBEXECDIR="$LIBEXECDIR" 80219732Sumeeval VARDIR="$RUNDIR/resolvconf" 81219732Sumeeval MANDIR="$MANDIR" 82219732Sume 83219732SumeCONFIG_MK=config.mk 84219732Sume 85219732Sumeif [ -z "$BUILD" ]; then 86282434Sgjb # autoconf target triplet: cpu-vendor-os 87282434Sgjb BUILD=$(uname -m)-unknown-$(uname -s | tr '[:upper:]' '[:lower:]') 88219732Sumefi 89282434Sgjb: ${HOST:=$BUILD} 90219732Sume 91219732Sumeif [ -z "$OS" ]; then 92282434Sgjb echo "Deriving operating system from ... $HOST" 93282434Sgjb # Derive OS from cpu-vendor-[kernel-]os 94282434Sgjb CPU=${HOST%%-*} 95282434Sgjb REST=${HOST#*-} 96219732Sume if [ "$CPU" != "$REST" ]; then 97282434Sgjb VENDOR=${REST%%-*} 98219732Sume REST=${REST#*-} 99282434Sgjb if [ "$VENDOR" != "$REST" ]; then 100282434Sgjb # Use kernel if given, otherwise os 101219732Sume OS=${REST%%-*} 102219732Sume else 103219732Sume # 2 tupple 104282434Sgjb OS=$VENDOR 105282434Sgjb VENDOR= 106219732Sume fi 107219732Sume fi 108282434Sgjb 109282434Sgjb # Work with cpu-kernel-os, ie Debian 110282434Sgjb case "$VENDOR" in 111282434Sgjb linux*|kfreebsd*) OS=$VENDOR; VENDOR= ;; 112282434Sgjb esac 113282434Sgjb # Special case 114282434Sgjb case "$OS" in 115282434Sgjb gnu*) OS=hurd;; # No HURD support as yet 116282434Sgjb esac 117219732Sumefi 118219732Sume 119219732Sumeecho "Configuring openresolv for ... $OS" 120219732Sumerm -rf $CONFIG_MK 121219732Sumeecho "# $OS" >$CONFIG_MK 122219732Sume 123313980Spfgcase "$OS" in 124313980Spfgfreebsd*) 125313980Spfg # On FreeBSD, /etc/init.d/foo status returns 0 if foo is not enabled 126313980Spfg # regardless of if it's not running. 127313980Spfg # So we force onestatus to work around this silly bug. 128313980Spfg if [ -z "$STATUSARG" ]; then 129313980Spfg STATUSARG="onestatus" 130313980Spfg fi 131313980Spfg ;; 132313980Spfglinux*) 133313980Spfg # cksum does't support -a and netpgp is rare 134313980Spfg echo "CKSUM= sha256sum --tag" >>$CONFIG_MK 135313980Spfg echo "PGP= gpg2" >>$CONFIG_MK 136313980Spfg ;; 137313980Spfgesac 138304515Spfg 139304515Spfgfor x in SYSCONFDIR SBINDIR LIBEXECDIR VARDIR MANDIR RESTARTCMD RCDIR STATUSARG 140304515Spfgdo 141219732Sume eval v=\$$x 142219732Sume # Make files look nice for import 143219732Sume l=$((10 - ${#x})) 144219732Sume unset t 145219732Sume [ $l -gt 3 ] && t=" " 146219732Sume echo "$x=$t $v" >>$CONFIG_MK 147219732Sumedone 148219732Sume 149219732Sumeecho 150219732Sumeecho " SYSCONFDIR = $SYSCONFDIR" 151219732Sumeecho " SBINDIR = $SBINDIR" 152219732Sumeecho " LIBEXECDIR = $LIBEXECDIR" 153219732Sumeecho " VARDIR = $RUNDIR" 154219732Sumeecho " MANDIR = $MANDIR" 155219732Sumeecho 156304515Spfgecho " RESTARTCMD = $RESTARTCMD" 157304515Spfgecho " RCDIR = $RCDIR" 158304515Spfgecho " STATUSARG = $STATUSARG" 159304515Spfgecho 160