summaryrefslogtreecommitdiffstats
path: root/contrib/unbound/freebsd-configure.sh
diff options
context:
space:
mode:
authordes <des@FreeBSD.org>2013-09-15 00:05:16 +0000
committerdes <des@FreeBSD.org>2013-09-15 00:05:16 +0000
commitf5cbd4e274ad51ad3805bcbafdff71eaa8d5699a (patch)
tree1e3e2f1e2ea49e5521a819f8e3d9db896cc2ae54 /contrib/unbound/freebsd-configure.sh
parent2f70e45a585f3e7be1b3af4b165ecef0fc5086ff (diff)
downloadFreeBSD-src-f5cbd4e274ad51ad3805bcbafdff71eaa8d5699a.zip
FreeBSD-src-f5cbd4e274ad51ad3805bcbafdff71eaa8d5699a.tar.gz
Two helper scripts for porting Unbound:
- freebsd-configure.sh runs ./configure with the correct parameters and regenerates the lex and yacc code. - freebsd-sources.pl untangles the upstream Makefile and generates source lists for our Makefiles. Approved by: re (blanket)
Diffstat (limited to 'contrib/unbound/freebsd-configure.sh')
-rwxr-xr-xcontrib/unbound/freebsd-configure.sh38
1 files changed, 38 insertions, 0 deletions
diff --git a/contrib/unbound/freebsd-configure.sh b/contrib/unbound/freebsd-configure.sh
new file mode 100755
index 0000000..0f4fbc91
--- /dev/null
+++ b/contrib/unbound/freebsd-configure.sh
@@ -0,0 +1,38 @@
+#!/bin/sh
+
+set -e
+
+error() {
+ echo "$@" >&2
+ exit 1
+}
+
+unbound=$(dirname $(realpath $0))
+cd $unbound
+
+ldnssrc=$(realpath $unbound/../ldns)
+[ -f $ldnssrc/ldns/ldns.h ] || error "can't find LDNS sources"
+export CFLAGS="-I$ldnssrc"
+
+ldnsbld=$(realpath $unbound/../../lib/libldns)
+[ -f $ldnsbld/Makefile ] || error "can't find LDNS build directory"
+
+ldnsobj=$(realpath $(make -C$ldnsbld -V.OBJDIR))
+[ -f $ldnsobj/libldns.a ] || error "can't find LDNS object directory"
+export LDFLAGS="-L$ldnsobj"
+
+./configure \
+ --with-conf-file=/etc/unbound/unbound.conf \
+ --with-run-dir=/var/unbound \
+ --with-username=unbound
+
+# Regenerate the configuration parser
+{
+cat <<EOF
+#include "config.h"
+#include "util/configyyrename.h"
+EOF
+/usr/bin/flex -L -t util/configlexer.lex
+} >util/configlexer.c
+
+/usr/bin/yacc -o util/configparser.c util/configparser.y
OpenPOWER on IntegriCloud