Commit 7a6146d8 authored by Francis Dupont's avatar Francis Dupont
Browse files

Tentative (works with distcheck, with-libbind to be checked

parent e675b663
...@@ -22,7 +22,7 @@ EXTRA_DIST = RELNOTES LICENSE \ ...@@ -22,7 +22,7 @@ EXTRA_DIST = RELNOTES LICENSE \
doc/examples/dhclient-dhcpv6.conf doc/examples/dhcpd-dhcpv6.conf \ doc/examples/dhclient-dhcpv6.conf doc/examples/dhcpd-dhcpv6.conf \
doc/devel/arch.dox doc/devel/atf.dox doc/devel/contrib.dox \ doc/devel/arch.dox doc/devel/atf.dox doc/devel/contrib.dox \
doc/devel/debug.dox doc/devel/isc-logo.jpg doc/devel/mainpage.dox \ doc/devel/debug.dox doc/devel/isc-logo.jpg doc/devel/mainpage.dox \
doc/devel/omapi.dox doc/devel/qa.dox util/bindvar.sh \ doc/devel/omapi.dox doc/devel/qa.dox \
bind/Makefile.in bind/bind.tar.gz bind/version.tmp \ bind/Makefile.in bind/bind.tar.gz bind/version.tmp \
common/tests/Atffile server/tests/Atffile common/tests/Atffile server/tests/Atffile
......
...@@ -362,7 +362,7 @@ EXTRA_DIST = RELNOTES LICENSE \ ...@@ -362,7 +362,7 @@ EXTRA_DIST = RELNOTES LICENSE \
doc/examples/dhclient-dhcpv6.conf doc/examples/dhcpd-dhcpv6.conf \ doc/examples/dhclient-dhcpv6.conf doc/examples/dhcpd-dhcpv6.conf \
doc/devel/arch.dox doc/devel/atf.dox doc/devel/contrib.dox \ doc/devel/arch.dox doc/devel/atf.dox doc/devel/contrib.dox \
doc/devel/debug.dox doc/devel/isc-logo.jpg doc/devel/mainpage.dox \ doc/devel/debug.dox doc/devel/isc-logo.jpg doc/devel/mainpage.dox \
doc/devel/omapi.dox doc/devel/qa.dox util/bindvar.sh \ doc/devel/omapi.dox doc/devel/qa.dox \
bind/Makefile.in bind/bind.tar.gz bind/version.tmp \ bind/Makefile.in bind/bind.tar.gz bind/version.tmp \
common/tests/Atffile server/tests/Atffile common/tests/Atffile server/tests/Atffile
......
...@@ -627,6 +627,8 @@ LTLIBOBJS ...@@ -627,6 +627,8 @@ LTLIBOBJS
LIBOBJS LIBOBJS
LDAP_CFLAGS LDAP_CFLAGS
LDAP_LIBS LDAP_LIBS
BINDVERSION
BINDBIND
BINDSRCDIR BINDSRCDIR
BINDDIR BINDDIR
ac_prefix_program ac_prefix_program
...@@ -1473,8 +1475,7 @@ Optional Packages: ...@@ -1473,8 +1475,7 @@ Optional Packages:
File for dhcrelay6 process information (default is File for dhcrelay6 process information (default is
LOCALSTATEDIR/run/dhcrelay6.pid) LOCALSTATEDIR/run/dhcrelay6.pid)
--with-randomdev=PATH Path for random device (default is /dev/random) --with-randomdev=PATH Path for random device (default is /dev/random)
--with-libbind=PATH bind includes and libraries are in PATH (default is --with-libbind=PATH bind includes and libraries are in PATH
./bind)
--with-ldap enable OpenLDAP support in dhcpd (default is no) --with-ldap enable OpenLDAP support in dhcpd (default is no)
--with-ldapcrypto enable OpenLDAP crypto support in dhcpd (default is --with-ldapcrypto enable OpenLDAP crypto support in dhcpd (default is
no) no)
...@@ -6822,8 +6823,11 @@ $as_echo "#define VLAN_TCI_PRESENT 1" >>confdefs.h ...@@ -6822,8 +6823,11 @@ $as_echo "#define VLAN_TCI_PRESENT 1" >>confdefs.h
fi fi
# bind/Makefile.in is not from automake so we need 2 sets of variables
BINDDIR= BINDDIR=
BINDSRCDIR= BINDSRCDIR=
BINDBIND=
BINDVERSION=
# Check whether --with-libbind was given. # Check whether --with-libbind was given.
if test "${with_libbind+set}" = set; then : if test "${with_libbind+set}" = set; then :
...@@ -6834,31 +6838,33 @@ fi ...@@ -6834,31 +6838,33 @@ fi
case "$use_libbind" in case "$use_libbind" in
yes) yes)
BINDDIR="\${top_srcdir}/bind" as_fn_error $? "PATH is required in --with-libbind=PATH" "$LINENO" 5
BINDSRCDIR="\${top_srcdir}/bind"
;; ;;
no) no)
BINDDIR="\${top_srcdir}/bind" BINDDIR="\${top_srcdir}/bind"
BINDSRCDIR="\${top_srcdir}/bind" BINDSRCDIR="\${top_srcdir}/bind"
if test ! -d "$srcdir/bind"; then
as_fn_error $? "Where to find or build bind includes and libraries must be specified" "$LINENO" 5
fi
if test ! -f "$srcdir/bind/version.tmp"; then
as_fn_error $? "Cannot find $srcdir/bind/version.tmp" "$LINENO" 5
fi
my_abs_srcdir=`cd $srcdir && pwd`
BINDBIND="${my_abs_srcdir}/bind"
. "$srcdir/bind/version.tmp"
BINDVERSION=${MAJORVER}.${MINORVER}.${PATCHVER}${RELEASETYPE}${RELEASEVER}
ac_config_files="$ac_config_files $srcdir/bind/Makefile"
;; ;;
*) *)
BINDDIR="$use_libbind" BINDDIR="$use_libbind"
if test ! -d "$srcdir/bind"; then
# no bind directory, create it with a fake Makefile.in
# (AC_CONFIG_FILES and top Makefile refer to it so
# it must exits)
mkdir $srcdir/bind
cat > $srcdir/bind/Makefile.in << EOF
# placeholder
all check clean distclean distdir install uninstall:
EOF
fi
;; ;;
esac esac
# OpenLDAP support. # OpenLDAP support.
# Check whether --with-ldap was given. # Check whether --with-ldap was given.
...@@ -7240,7 +7246,7 @@ $as_echo "#define FLEXIBLE_ARRAY_MEMBER /**/" >>confdefs.h ...@@ -7240,7 +7246,7 @@ $as_echo "#define FLEXIBLE_ARRAY_MEMBER /**/" >>confdefs.h
fi fi
ac_config_files="$ac_config_files Makefile $srcdir/bind/Makefile client/Makefile client/tests/Makefile common/Makefile common/tests/Makefile dhcpctl/Makefile includes/Makefile omapip/Makefile relay/Makefile server/Makefile tests/Makefile tests/unittest.sh server/tests/Makefile doc/devel/doxyfile" ac_config_files="$ac_config_files Makefile client/Makefile client/tests/Makefile common/Makefile common/tests/Makefile dhcpctl/Makefile includes/Makefile omapip/Makefile relay/Makefile server/Makefile tests/Makefile tests/unittest.sh server/tests/Makefile doc/devel/doxyfile"
cat >confcache <<\_ACEOF cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure # This file is a shell script that caches the results of configure
...@@ -7986,8 +7992,8 @@ do ...@@ -7986,8 +7992,8 @@ do
case $ac_config_target in case $ac_config_target in
"depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
"includes/config.h") CONFIG_HEADERS="$CONFIG_HEADERS includes/config.h" ;; "includes/config.h") CONFIG_HEADERS="$CONFIG_HEADERS includes/config.h" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"$srcdir/bind/Makefile") CONFIG_FILES="$CONFIG_FILES $srcdir/bind/Makefile" ;; "$srcdir/bind/Makefile") CONFIG_FILES="$CONFIG_FILES $srcdir/bind/Makefile" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"client/Makefile") CONFIG_FILES="$CONFIG_FILES client/Makefile" ;; "client/Makefile") CONFIG_FILES="$CONFIG_FILES client/Makefile" ;;
"client/tests/Makefile") CONFIG_FILES="$CONFIG_FILES client/tests/Makefile" ;; "client/tests/Makefile") CONFIG_FILES="$CONFIG_FILES client/tests/Makefile" ;;
"common/Makefile") CONFIG_FILES="$CONFIG_FILES common/Makefile" ;; "common/Makefile") CONFIG_FILES="$CONFIG_FILES common/Makefile" ;;
...@@ -8697,16 +8703,6 @@ else ...@@ -8697,16 +8703,6 @@ else
DHCP_VERSIONS="DHCPv4" DHCP_VERSIONS="DHCPv4"
fi fi
(cd $srcdir
sh util/bindvar.sh
if test $? -ne 0; then
as_fn_error $? "*** util/bindvar.sh failed" "$LINENO" 5
fi
)
if test $? -ne 0; then
exit $?
fi
cat > config.report << END cat > config.report << END
ISC DHCP source configure results: ISC DHCP source configure results:
......
...@@ -679,38 +679,41 @@ AC_CHECK_MEMBER(struct tpacket_auxdata.tp_vlan_tci, ...@@ -679,38 +679,41 @@ AC_CHECK_MEMBER(struct tpacket_auxdata.tp_vlan_tci,
[AC_DEFINE([VLAN_TCI_PRESENT], [1], [tpacket_auxdata.tp_vlan_tci present])] [AC_DEFINE([VLAN_TCI_PRESENT], [1], [tpacket_auxdata.tp_vlan_tci present])]
,, [#include <linux/if_packet.h>]) ,, [#include <linux/if_packet.h>])
# bind/Makefile.in is not from automake so we need 2 sets of variables
BINDDIR= BINDDIR=
BINDSRCDIR= BINDSRCDIR=
BINDBIND=
BINDVERSION=
AC_ARG_WITH(libbind, AC_ARG_WITH(libbind,
AS_HELP_STRING([--with-libbind=PATH],[bind includes and libraries are in PATH AS_HELP_STRING([--with-libbind=PATH],[bind includes and libraries are in PATH]),
(default is ./bind)]),
use_libbind="$withval", use_libbind="no") use_libbind="$withval", use_libbind="no")
case "$use_libbind" in case "$use_libbind" in
yes) yes)
BINDDIR="\${top_srcdir}/bind" AC_MSG_ERROR([PATH is required in --with-libbind=PATH])
BINDSRCDIR="\${top_srcdir}/bind"
;; ;;
no) no)
BINDDIR="\${top_srcdir}/bind" BINDDIR="\${top_srcdir}/bind"
BINDSRCDIR="\${top_srcdir}/bind" BINDSRCDIR="\${top_srcdir}/bind"
if test ! -d "$srcdir/bind"; then
AC_MSG_ERROR([Where to find or build bind includes and libraries must be specified])
fi
if test ! -f "$srcdir/bind/version.tmp"; then
AC_MSG_ERROR([Cannot find $srcdir/bind/version.tmp])
fi
my_abs_srcdir=`cd $srcdir && pwd`
BINDBIND="${my_abs_srcdir}/bind"
. "$srcdir/bind/version.tmp"
BINDVERSION=${MAJORVER}.${MINORVER}.${PATCHVER}${RELEASETYPE}${RELEASEVER}
AC_CONFIG_FILES([$srcdir/bind/Makefile])
;; ;;
*) *)
BINDDIR="$use_libbind" BINDDIR="$use_libbind"
if test ! -d "$srcdir/bind"; then
# no bind directory, create it with a fake Makefile.in
# (AC_CONFIG_FILES and top Makefile refer to it so
# it must exits)
mkdir $srcdir/bind
cat > $srcdir/bind/Makefile.in << EOF
# placeholder
all check clean distclean distdir install uninstall:
EOF
fi
;; ;;
esac esac
AC_SUBST(BINDDIR) AC_SUBST(BINDDIR)
AC_SUBST(BINDSRCDIR) AC_SUBST(BINDSRCDIR)
AC_SUBST(BINDBIND)
AC_SUBST(BINDVERSION)
# OpenLDAP support. # OpenLDAP support.
AC_ARG_WITH(ldap, AC_ARG_WITH(ldap,
...@@ -805,7 +808,6 @@ AC_C_FLEXIBLE_ARRAY_MEMBER ...@@ -805,7 +808,6 @@ AC_C_FLEXIBLE_ARRAY_MEMBER
AC_CONFIG_FILES([ AC_CONFIG_FILES([
Makefile Makefile
$srcdir/bind/Makefile
client/Makefile client/Makefile
client/tests/Makefile client/tests/Makefile
common/Makefile common/Makefile
...@@ -830,16 +832,6 @@ else ...@@ -830,16 +832,6 @@ else
DHCP_VERSIONS="DHCPv4" DHCP_VERSIONS="DHCPv4"
fi fi
(cd $srcdir
sh util/bindvar.sh
if test $? -ne 0; then
AC_MSG_ERROR([*** util/bindvar.sh failed])
fi
)
if test $? -ne 0; then
exit $?
fi
cat > config.report << END cat > config.report << END
ISC DHCP source configure results: ISC DHCP source configure results:
......
...@@ -15,15 +15,8 @@ ...@@ -15,15 +15,8 @@
# Configure and build the bind libraries for use by DHCP # Configure and build the bind libraries for use by DHCP
include ./version.tmp binddir=@BINDBIND@
version=${MAJORVER}.${MINORVER}.${PATCHVER}${RELEASETYPE}${RELEASEVER} version=@BINDVERSION@
# bindvar.tmp is constructed by configure, it has the paths for bind
# if GMAKE is blank the shell script couldn't find a gmake to use.
# binddir=
# GMAKE=
include ./bindvar.tmp
bindsrcdir=bind-${version} bindsrcdir=bind-${version}
bindconfig = --disable-kqueue --disable-epoll --disable-devpoll \ bindconfig = --disable-kqueue --disable-epoll --disable-devpoll \
...@@ -47,11 +40,6 @@ bind1: ...@@ -47,11 +40,6 @@ bind1:
gunzip -c bind.tar.gz | tar xf - ; \ gunzip -c bind.tar.gz | tar xf - ; \
fi fi
@if test -z "${GMAKE}"; then \
echo "unable to find gmake" 1>&2 ; \
exit 1; \
fi
# Configure the export libraries # Configure the export libraries
# Currently disable the epoll, devpoll and kqueue options as they # Currently disable the epoll, devpoll and kqueue options as they
# don't interact well with the DHCP code. # don't interact well with the DHCP code.
...@@ -74,7 +62,7 @@ atf: ...@@ -74,7 +62,7 @@ atf:
else \ else \
echo Building ATF support ; \ echo Building ATF support ; \
(cd ${bindsrcdir}/unit; \ (cd ${bindsrcdir}/unit; \
MAKE=${GMAKE} ${GMAKE} atf > ${binddir}/build.log ; \ $(MAKE) atf > ${binddir}/build.log ; \
cp -rp atf ${binddir}) ; \ cp -rp atf ${binddir}) ; \
fi fi
...@@ -90,11 +78,11 @@ bind2-noguest: ...@@ -90,11 +78,11 @@ bind2-noguest:
echo Building BIND Export libraries - this takes some time. ;\ echo Building BIND Export libraries - this takes some time. ;\
(cd ${bindsrcdir}/lib/export ; \ (cd ${bindsrcdir}/lib/export ; \
echo building in `pwd` ; \ echo building in `pwd` ; \
MAKE=${GMAKE} ${GMAKE} >> ${binddir}/build.log) ; \ $(MAKE) >> ${binddir}/build.log) ; \
\ \
echo Installing BIND Export libraries to ${binddir}. ; \ echo Installing BIND Export libraries to ${binddir}. ; \
(cd ${bindsrcdir}/lib/export ; \ (cd ${bindsrcdir}/lib/export ; \
MAKE=${GMAKE} ${GMAKE} install > ${binddir}/install.log) ; \ $(MAKE) install > ${binddir}/install.log) ; \
fi fi
bind2-hostgen: bind2-hostgen:
...@@ -104,16 +92,16 @@ bind2-hostgen: ...@@ -104,16 +92,16 @@ bind2-hostgen:
echo Bind export libraries already installed ; \ echo Bind export libraries already installed ; \
else \ else \
echo Building BIND Export libraries - this takes some time. ;\ echo Building BIND Export libraries - this takes some time. ;\
(cd ${bindsrcdir}/lib/export/dns ; \ (cd ${bindsrcdir}/lib/export/dns ; \
echo building gen using ${BUILD_CC} in `pwd` ; \ echo building gen using ${BUILD_CC} in `pwd` ; \
MAKE=${GMAKE} ${GMAKE} CC=${BUILD_CC} CFLAGS=${BUILD_CFLAGS} CPPFLAGS=${BUILD_CPPFLAGS} LDFLAGS=${BUILD_LDFLAGS} LIBS=${BUILD_LIBS} gen >> ${binddir}/build.log) ; \ $(MAKE) CC=${BUILD_CC} CFLAGS=${BUILD_CFLAGS} CPPFLAGS=${BUILD_CPPFLAGS} LDFLAGS=${BUILD_LDFLAGS} LIBS=${BUILD_LIBS} gen >> ${binddir}/build.log) ; \
(cd ${bindsrcdir}/lib/export ; \ (cd ${bindsrcdir}/lib/export ; \
echo building in `pwd` ; \ echo building in `pwd` ; \
MAKE=${GMAKE} ${GMAKE} >> ${binddir}/build.log) ; \ $(MAKE) >> ${binddir}/build.log) ; \
\ \
echo Installing BIND Export libraries to ${binddir}. ; \ echo Installing BIND Export libraries to ${binddir}. ; \
(cd ${bindsrcdir}/lib/export ; \ (cd ${bindsrcdir}/lib/export ; \
MAKE=${GMAKE} ${GMAKE} install > ${binddir}/install.log) ; \ $(MAKE) install > ${binddir}/install.log) ; \
fi fi
clean: clean:
......
#!/bin/sh
#
# Copyright (C) 2009,2015 Internet Systems Consortium, Inc. ("ISC")
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.
# $Id: bindvar.sh,v 1.2 2009/12/02 20:43:52 sar Exp $
# Create a file with the base directory and gmake path for
# use by the bind/Makefile, we do this to minimize portability
# concerns.
# Bind requires a GNU style make to compile, if we can't find one
# exit with a non-zero status, otherwise exit with success (i.e. 0)
binddir=`pwd`
gmake=
for x in gmake gnumake make; do
if $x --version 2>/dev/null | grep GNU > /dev/null; then
gmake=$x
break;
fi
done
if [ -z $gmake ]
then
echo "$0: Building Bind requires a GNU style make tool and none were found in your path. We tried gmake, gnumake, and make."
exit 1
fi
cat <<EOF > bind/bindvar.tmp
binddir=$binddir/bind
GMAKE=$gmake
EOF
exit 0
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment