1587392a5SHajimu UMEMOTO#!/bin/sh 2587392a5SHajimu UMEMOTO# Try and be like autotools configure, but without autotools 3587392a5SHajimu UMEMOTO 4587392a5SHajimu UMEMOTO# Ensure that we do not inherit these from env 5587392a5SHajimu UMEMOTOOS= 6587392a5SHajimu UMEMOTOBUILD= 7587392a5SHajimu UMEMOTOHOST= 8587392a5SHajimu UMEMOTOTARGET= 9587392a5SHajimu UMEMOTORESTARTCMD= 10587392a5SHajimu UMEMOTORCDIR= 11*3f2a60a1SPedro F. GiffuniSTATUSARG= 12587392a5SHajimu UMEMOTO 13d7149f4eSGlen Barberfor x do 14587392a5SHajimu UMEMOTO opt=${x%%=*} 15587392a5SHajimu UMEMOTO var=${x#*=} 16587392a5SHajimu UMEMOTO case "$opt" in 17587392a5SHajimu UMEMOTO --os|OS) OS=$var;; 18587392a5SHajimu UMEMOTO --with-cc|CC) CC=$var;; 19587392a5SHajimu UMEMOTO --debug) DEBUG=$var;; 20587392a5SHajimu UMEMOTO --disable-debug) DEBUG=no;; 21587392a5SHajimu UMEMOTO --enable-debug) DEBUG=yes;; 22d7149f4eSGlen Barber --prefix) PREFIX=$var;; 23587392a5SHajimu UMEMOTO --sysconfdir) SYSCONFDIR=$var;; 24587392a5SHajimu UMEMOTO --bindir|--sbindir) SBINDIR=$var;; 25587392a5SHajimu UMEMOTO --libexecdir) LIBEXECDIR=$var;; 26587392a5SHajimu UMEMOTO --statedir|--localstatedir) STATEDIR=$var;; 27587392a5SHajimu UMEMOTO --dbdir) DBDIR=$var;; 28587392a5SHajimu UMEMOTO --rundir) RUNDIR=$var;; 29587392a5SHajimu UMEMOTO --mandir) MANDIR=$var;; 30587392a5SHajimu UMEMOTO --with-ccopts|CFLAGS) CFLAGS=$var;; 31587392a5SHajimu UMEMOTO CPPFLAGS) CPPFLAGS=$var;; 32587392a5SHajimu UMEMOTO --build) BUILD=$var;; 33587392a5SHajimu UMEMOTO --host) HOST=$var;; 34587392a5SHajimu UMEMOTO --target) TARGET=$var;; 35587392a5SHajimu UMEMOTO --libdir) LIBDIR=$var;; 36587392a5SHajimu UMEMOTO --restartcmd) RESTARTCMD=$var;; 37*3f2a60a1SPedro F. Giffuni --rcdir) RCDIR=$var;; 38*3f2a60a1SPedro F. Giffuni --statusarg) STATUSARG=$var;; 39587392a5SHajimu UMEMOTO --includedir) eval INCLUDEDIR="$INCLUDEDIR${INCLUDEDIR:+ }$var";; 40587392a5SHajimu UMEMOTO --datadir|--infodir) ;; # ignore autotools 41587392a5SHajimu UMEMOTO --disable-maintainer-mode|--disable-dependency-tracking) ;; 42587392a5SHajimu UMEMOTO --help) echo "See the README file for available options"; exit 0;; 43587392a5SHajimu UMEMOTO *) echo "$0: WARNING: unknown option $opt" >&2;; 44587392a5SHajimu UMEMOTO esac 45587392a5SHajimu UMEMOTOdone 46587392a5SHajimu UMEMOTO 47d7149f4eSGlen Barberif [ -z "$LIBEXECDIR" ]; then 48d7149f4eSGlen Barber printf "Checking for directory /libexec ... " 49d7149f4eSGlen Barber if [ -d /libexec ]; then 50d7149f4eSGlen Barber echo "yes" 51d7149f4eSGlen Barber LIBEXECDIR=$PREFIX/libexec/resolvconf 52d7149f4eSGlen Barber else 53d7149f4eSGlen Barber echo "no" 54d7149f4eSGlen Barber LIBEXECDIR=$PREFIX/lib/resolvconf 55d7149f4eSGlen Barber fi 56d7149f4eSGlen Barberfi 57d7149f4eSGlen Barberif [ -z "$RUNDIR" ]; then 58d7149f4eSGlen Barber printf "Checking for directory /run ... " 59d7149f4eSGlen Barber if [ -d /run ]; then 60d7149f4eSGlen Barber echo "yes" 61d7149f4eSGlen Barber RUNDIR=/run 62d7149f4eSGlen Barber else 63d7149f4eSGlen Barber echo "no" 64d7149f4eSGlen Barber RUNDIR=/var/run 65d7149f4eSGlen Barber fi 66d7149f4eSGlen Barberfi 67d7149f4eSGlen Barber 68587392a5SHajimu UMEMOTO: ${SED:=sed} 69587392a5SHajimu UMEMOTO 70587392a5SHajimu UMEMOTO: ${SYSCONFDIR:=$PREFIX/etc} 71587392a5SHajimu UMEMOTO: ${SBINDIR:=$PREFIX/sbin} 72d7149f4eSGlen Barber: ${LIBEXECDIR:=$PREFIX/libexec/resolvconf} 73587392a5SHajimu UMEMOTO: ${STATEDIR:=/var} 74587392a5SHajimu UMEMOTO: ${RUNDIR:=$STATEDIR/run} 75587392a5SHajimu UMEMOTO: ${MANDIR:=${PREFIX:-/usr}/share/man} 76587392a5SHajimu UMEMOTO 77587392a5SHajimu UMEMOTOeval SYSCONFDIR="$SYSCONFDIR" 78587392a5SHajimu UMEMOTOeval SBINDIR="$SBINDIR" 79d7149f4eSGlen Barbereval LIBEXECDIR="$LIBEXECDIR" 80587392a5SHajimu UMEMOTOeval VARDIR="$RUNDIR/resolvconf" 81587392a5SHajimu UMEMOTOeval MANDIR="$MANDIR" 82587392a5SHajimu UMEMOTO 83587392a5SHajimu UMEMOTOCONFIG_MK=config.mk 84587392a5SHajimu UMEMOTO 85587392a5SHajimu UMEMOTOif [ -z "$BUILD" ]; then 86d7149f4eSGlen Barber # autoconf target triplet: cpu-vendor-os 87d7149f4eSGlen Barber BUILD=$(uname -m)-unknown-$(uname -s | tr '[:upper:]' '[:lower:]') 88587392a5SHajimu UMEMOTOfi 89d7149f4eSGlen Barber: ${HOST:=$BUILD} 90587392a5SHajimu UMEMOTO 91587392a5SHajimu UMEMOTOif [ -z "$OS" ]; then 92d7149f4eSGlen Barber echo "Deriving operating system from ... $HOST" 93d7149f4eSGlen Barber # Derive OS from cpu-vendor-[kernel-]os 94d7149f4eSGlen Barber CPU=${HOST%%-*} 95d7149f4eSGlen Barber REST=${HOST#*-} 96587392a5SHajimu UMEMOTO if [ "$CPU" != "$REST" ]; then 97d7149f4eSGlen Barber VENDOR=${REST%%-*} 98587392a5SHajimu UMEMOTO REST=${REST#*-} 99d7149f4eSGlen Barber if [ "$VENDOR" != "$REST" ]; then 100d7149f4eSGlen Barber # Use kernel if given, otherwise os 101587392a5SHajimu UMEMOTO OS=${REST%%-*} 102587392a5SHajimu UMEMOTO else 103587392a5SHajimu UMEMOTO # 2 tupple 104d7149f4eSGlen Barber OS=$VENDOR 105d7149f4eSGlen Barber VENDOR= 106587392a5SHajimu UMEMOTO fi 107587392a5SHajimu UMEMOTO fi 108d7149f4eSGlen Barber 109d7149f4eSGlen Barber # Work with cpu-kernel-os, ie Debian 110d7149f4eSGlen Barber case "$VENDOR" in 111d7149f4eSGlen Barber linux*|kfreebsd*) OS=$VENDOR; VENDOR= ;; 112d7149f4eSGlen Barber esac 113d7149f4eSGlen Barber # Special case 114d7149f4eSGlen Barber case "$OS" in 115d7149f4eSGlen Barber gnu*) OS=hurd;; # No HURD support as yet 116d7149f4eSGlen Barber esac 117587392a5SHajimu UMEMOTOfi 118587392a5SHajimu UMEMOTO 119587392a5SHajimu UMEMOTOecho "Configuring openresolv for ... $OS" 120587392a5SHajimu UMEMOTOrm -rf $CONFIG_MK 121587392a5SHajimu UMEMOTOecho "# $OS" >$CONFIG_MK 122587392a5SHajimu UMEMOTO 123*3f2a60a1SPedro F. Giffuni# On FreeBSD, /etc/init.d/foo status returns 0 if foo is not enabled 124*3f2a60a1SPedro F. Giffuni# regardless of if it's not running. 125*3f2a60a1SPedro F. Giffuni# So we force onestatus to work around this silly bug. 126*3f2a60a1SPedro F. Giffuniif [ -z "$STATUSARG" ]; then 127*3f2a60a1SPedro F. Giffuni case "$OS" in 128*3f2a60a1SPedro F. Giffuni freebsd*) STATUSARG="onestatus";; 129*3f2a60a1SPedro F. Giffuni esac 130*3f2a60a1SPedro F. Giffunifi 131*3f2a60a1SPedro F. Giffuni 132*3f2a60a1SPedro F. Giffunifor x in SYSCONFDIR SBINDIR LIBEXECDIR VARDIR MANDIR RESTARTCMD RCDIR STATUSARG 133*3f2a60a1SPedro F. Giffunido 134587392a5SHajimu UMEMOTO eval v=\$$x 135587392a5SHajimu UMEMOTO # Make files look nice for import 136587392a5SHajimu UMEMOTO l=$((10 - ${#x})) 137587392a5SHajimu UMEMOTO unset t 138587392a5SHajimu UMEMOTO [ $l -gt 3 ] && t=" " 139587392a5SHajimu UMEMOTO echo "$x=$t $v" >>$CONFIG_MK 140587392a5SHajimu UMEMOTOdone 141587392a5SHajimu UMEMOTO 142587392a5SHajimu UMEMOTOecho 143587392a5SHajimu UMEMOTOecho " SYSCONFDIR = $SYSCONFDIR" 144587392a5SHajimu UMEMOTOecho " SBINDIR = $SBINDIR" 145587392a5SHajimu UMEMOTOecho " LIBEXECDIR = $LIBEXECDIR" 146587392a5SHajimu UMEMOTOecho " VARDIR = $RUNDIR" 147587392a5SHajimu UMEMOTOecho " MANDIR = $MANDIR" 148587392a5SHajimu UMEMOTOecho 149*3f2a60a1SPedro F. Giffuniecho " RESTARTCMD = $RESTARTCMD" 150*3f2a60a1SPedro F. Giffuniecho " RCDIR = $RCDIR" 151*3f2a60a1SPedro F. Giffuniecho " STATUSARG = $STATUSARG" 152*3f2a60a1SPedro F. Giffuniecho 153