From owner-svn-src-all@FreeBSD.ORG Sun Sep 15 00:05:17 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id 1F760E89; Sun, 15 Sep 2013 00:05:17 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 07D2E2356; Sun, 15 Sep 2013 00:05:17 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.7/8.14.7) with ESMTP id r8F05Grr071585; Sun, 15 Sep 2013 00:05:16 GMT (envelope-from des@svn.freebsd.org) Received: (from des@localhost) by svn.freebsd.org (8.14.7/8.14.5/Submit) id r8F05GoO071583; Sun, 15 Sep 2013 00:05:16 GMT (envelope-from des@svn.freebsd.org) Message-Id: <201309150005.r8F05GoO071583@svn.freebsd.org> From: Dag-Erling Smørgrav Date: Sun, 15 Sep 2013 00:05:16 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r255577 - head/contrib/unbound X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 15 Sep 2013 00:05:17 -0000 Author: des Date: Sun Sep 15 00:05:16 2013 New Revision: 255577 URL: http://svnweb.freebsd.org/changeset/base/255577 Log: 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) Added: head/contrib/unbound/freebsd-configure.sh (contents, props changed) head/contrib/unbound/freebsd-sources.pl (contents, props changed) Added: head/contrib/unbound/freebsd-configure.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/unbound/freebsd-configure.sh Sun Sep 15 00:05:16 2013 (r255577) @@ -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 <util/configlexer.c + +/usr/bin/yacc -o util/configparser.c util/configparser.y Added: head/contrib/unbound/freebsd-sources.pl ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/contrib/unbound/freebsd-sources.pl Sun Sep 15 00:05:16 2013 (r255577) @@ -0,0 +1,72 @@ +#!/usr/bin/perl -w +#- +# Copyright (c) 2013 Dag-Erling Smørgrav +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. +# +# $Id$ +# + +use strict; +use warnings; +use Text::Wrap; + +our @targets = qw(LIBUNBOUND DAEMON UBANCHOR CHECKCONF); + +our %target_names = ( + LIBUNBOUND => "libunbound", + DAEMON => "unbound", + UBANCHOR => "unbound-anchor", + CHECKCONF => "unbound-checkconf", +); + +sub get_sources($) { + my ($target) = @_; + local $/; + + open(MAKE, "-|", "make", "-V${target}_OBJ_LINK") + or die("failed to exec make: $!\n"); + my $objs = ; + close(MAKE); + chomp($objs); + $objs =~ s/\.l?o\b/.c/g; + return (split(/\s+/, $objs)); +} + +MAIN:{ + my %sources; + foreach my $target (@targets) { + $sources{$target} = { + map({ $_ => 1 } + grep({ !exists($sources{LIBUNBOUND}->{$_}) } + get_sources($target))) + }; + print("# $target_names{$target}\n"); + my $SRCS = fill("SRCS=\t", "\t", sort keys %{$sources{$target}}); + $SRCS =~ s/\n/ \\\n/gm; + print("$SRCS\n"); + } +} + +1; +