Commit b9ed3d06 authored by Francis Dupont's avatar Francis Dupont
Browse files

Finished merge of rt43227 (substitutions in Makefile.bind)

parents 39561f6d 41612c46
......@@ -22,7 +22,7 @@ EXTRA_DIST = RELNOTES LICENSE \
doc/examples/dhclient-dhcpv6.conf doc/examples/dhcpd-dhcpv6.conf \
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/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 \
common/tests/Atffile server/tests/Atffile
......
......@@ -362,7 +362,7 @@ EXTRA_DIST = RELNOTES LICENSE \
doc/examples/dhclient-dhcpv6.conf doc/examples/dhcpd-dhcpv6.conf \
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/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 \
common/tests/Atffile server/tests/Atffile
......
......@@ -83,6 +83,11 @@ by Eric Young (eay@cryptsoft.com).
so it is at the user risk, i.e., they are NOT SUPPORTED yet.
[ISC-Bugs #20890]
- Changed the way the embedded bind Makefile is updated by configure.
The only user visible side effect is that --with-libbind now requires
either "no" or an (absolute) path, i.e. "yes" is no longer valid.
[ISC-Bugs #43227]
Changes since 4.3.0 (bug fixes)
- Tidy up several small tickets.
......
......@@ -627,6 +627,8 @@ LTLIBOBJS
LIBOBJS
LDAP_CFLAGS
LDAP_LIBS
BINDVERSION
BINDBIND
BINDSRCDIR
BINDDIR
BINDIOMUX
......@@ -1484,8 +1486,7 @@ Optional Packages:
--with-bind-extra-config
configure bind librairies with some extra options
(default is none)
--with-libbind=PATH bind includes and libraries are in PATH (default is
./bind)
--with-libbind=PATH bind includes and libraries are in PATH
--with-ldap enable OpenLDAP support in dhcpd (default is no)
--with-ldapcrypto enable OpenLDAP crypto support in dhcpd (default is
no)
......@@ -6905,8 +6906,11 @@ $as_echo "#define VLAN_TCI_PRESENT 1" >>confdefs.h
fi
# bind/Makefile.in is not from automake so we need 2 sets of variables
BINDDIR=
BINDSRCDIR=
BINDBIND=
BINDVERSION=
# Check whether --with-libbind was given.
if test "${with_libbind+set}" = set; then :
......@@ -6917,31 +6921,42 @@ fi
case "$use_libbind" in
yes)
BINDDIR="\${top_srcdir}/bind"
BINDSRCDIR="\${top_srcdir}/bind"
as_fn_error $? "PATH is required in --with-libbind=PATH" "$LINENO" 5
;;
no)
BINDDIR="\${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"
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
if test ! -d "$use_libbind"; then
as_fn_error $? "Cannot find bind directory at $use_libbind" "$LINENO" 5
fi
if test ! -d "$use_libbind/include"; then
as_fn_error $? "Cannot find bind includes at $use_libbind/include" "$LINENO" 5
fi
if test ! -d "$use_libbind/lib"; then
as_fn_error $? "Cannot find bind libraries at $use_libbind/lib" "$LINENO" 5
fi
BINDDIR="$use_libbind"
;;
esac
# OpenLDAP support.
# Check whether --with-ldap was given.
......@@ -7323,7 +7338,7 @@ $as_echo "#define FLEXIBLE_ARRAY_MEMBER /**/" >>confdefs.h
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
# This file is a shell script that caches the results of configure
......@@ -8069,8 +8084,8 @@ do
case $ac_config_target in
"depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
"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" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"client/Makefile") CONFIG_FILES="$CONFIG_FILES client/Makefile" ;;
"client/tests/Makefile") CONFIG_FILES="$CONFIG_FILES client/tests/Makefile" ;;
"common/Makefile") CONFIG_FILES="$CONFIG_FILES common/Makefile" ;;
......@@ -8780,16 +8795,6 @@ else
DHCP_VERSIONS="DHCPv4"
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
ISC DHCP source configure results:
......
......@@ -731,38 +731,50 @@ AC_CHECK_MEMBER(struct tpacket_auxdata.tp_vlan_tci,
[AC_DEFINE([VLAN_TCI_PRESENT], [1], [tpacket_auxdata.tp_vlan_tci present])]
,, [#include <linux/if_packet.h>])
# bind/Makefile.in is not from automake so we need 2 sets of variables
BINDDIR=
BINDSRCDIR=
BINDBIND=
BINDVERSION=
AC_ARG_WITH(libbind,
AS_HELP_STRING([--with-libbind=PATH],[bind includes and libraries are in PATH
(default is ./bind)]),
AS_HELP_STRING([--with-libbind=PATH],[bind includes and libraries are in PATH]),
use_libbind="$withval", use_libbind="no")
case "$use_libbind" in
yes)
BINDDIR="\${top_srcdir}/bind"
BINDSRCDIR="\${top_srcdir}/bind"
AC_MSG_ERROR([PATH is required in --with-libbind=PATH])
;;
no)
BINDDIR="\${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"
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
if test ! -d "$use_libbind"; then
AC_MSG_ERROR([Cannot find bind directory at $use_libbind])
fi
if test ! -d "$use_libbind/include"; then
AC_MSG_ERROR([Cannot find bind includes at $use_libbind/include])
fi
if test ! -d "$use_libbind/lib"; then
AC_MSG_ERROR([Cannot find bind libraries at $use_libbind/lib])
fi
BINDDIR="$use_libbind"
;;
esac
AC_SUBST(BINDDIR)
AC_SUBST(BINDSRCDIR)
AC_SUBST(BINDBIND)
AC_SUBST(BINDVERSION)
# OpenLDAP support.
AC_ARG_WITH(ldap,
......@@ -857,7 +869,6 @@ AC_C_FLEXIBLE_ARRAY_MEMBER
AC_CONFIG_FILES([
Makefile
$srcdir/bind/Makefile
client/Makefile
client/tests/Makefile
common/Makefile
......@@ -882,16 +893,6 @@ else
DHCP_VERSIONS="DHCPv4"
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
ISC DHCP source configure results:
......
......@@ -15,15 +15,8 @@
# Configure and build the bind libraries for use by DHCP
include ./version.tmp
version=${MAJORVER}.${MINORVER}.${PATCHVER}${RELEASETYPE}${RELEASEVER}
# 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
binddir=@BINDBIND@
version=@BINDVERSION@
bindsrcdir=bind-${version}
bindconfig = --without-openssl --without-libxml2 \
......@@ -48,11 +41,6 @@ bind1:
gunzip -c bind.tar.gz | tar xf - ; \
fi
@if test -z "${GMAKE}"; then \
echo "unable to find gmake" 1>&2 ; \
exit 1; \
fi
# Configure the export libraries
# Currently disable the epoll, devpoll and kqueue options as they
# don't interact well with the DHCP code.
......@@ -75,7 +63,7 @@ atf:
else \
echo Building ATF support ; \
(cd ${bindsrcdir}/unit; \
MAKE=${GMAKE} ${GMAKE} atf > ${binddir}/build.log ; \
$(MAKE) atf > ${binddir}/build.log ; \
cp -rp atf ${binddir}) ; \
fi
......@@ -91,11 +79,11 @@ bind2-noguest:
echo Building BIND Export libraries - this takes some time. ;\
(cd ${bindsrcdir}/lib/export ; \
echo building in `pwd` ; \
MAKE=${GMAKE} ${GMAKE} >> ${binddir}/build.log) ; \
$(MAKE) >> ${binddir}/build.log) ; \
\
echo Installing BIND Export libraries to ${binddir}. ; \
(cd ${bindsrcdir}/lib/export ; \
MAKE=${GMAKE} ${GMAKE} install > ${binddir}/install.log) ; \
$(MAKE) install > ${binddir}/install.log) ; \
fi
bind2-hostgen:
......@@ -105,16 +93,16 @@ bind2-hostgen:
echo Bind export libraries already installed ; \
else \
echo Building BIND Export libraries - this takes some time. ;\
(cd ${bindsrcdir}/lib/export/dns ; \
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) ; \
(cd ${bindsrcdir}/lib/export/dns ; \
echo building gen using ${BUILD_CC} in `pwd` ; \
$(MAKE) CC=${BUILD_CC} CFLAGS=${BUILD_CFLAGS} CPPFLAGS=${BUILD_CPPFLAGS} LDFLAGS=${BUILD_LDFLAGS} LIBS=${BUILD_LIBS} gen >> ${binddir}/build.log) ; \
(cd ${bindsrcdir}/lib/export ; \
echo building in `pwd` ; \
MAKE=${GMAKE} ${GMAKE} >> ${binddir}/build.log) ; \
$(MAKE) >> ${binddir}/build.log) ; \
\
echo Installing BIND Export libraries to ${binddir}. ; \
(cd ${bindsrcdir}/lib/export ; \
MAKE=${GMAKE} ${GMAKE} install > ${binddir}/install.log) ; \
$(MAKE) install > ${binddir}/install.log) ; \
fi
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