xref: /freebsd/contrib/openresolv/configure (revision 3f2a60a1371a69d7e9caac43bf457b6f89cdfd48)
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