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

Finished merge of rt20890 (--enable-epoll & co down)

parents 8e5040f4 15547ff9
......@@ -76,6 +76,12 @@ by Eric Young (eay@cryptsoft.com).
to use environment variables to get the same effect.
[ISC-Bugs #35143]
- Added --enable-kqueue, --enable-epoll, --enable-devpoll and a more
general --with-bind-extra-config to pass extra options to the
embedded bind configure. Note we had mixed experiences with this
so it is at the user risk, i.e., they are NOT SUPPORTED yet.
[ISC-Bugs #20890]
Changes since 4.3.0 (bug fixes)
- Tidy up several small tickets.
......
......@@ -629,6 +629,7 @@ LDAP_CFLAGS
LDAP_LIBS
BINDSRCDIR
BINDDIR
BINDIOMUX
ac_prefix_program
DISTCHECK_ATF_CONFIGURE_FLAG
HAVE_ATF_FALSE
......@@ -773,6 +774,10 @@ with_cli6_pid_file
with_relay_pid_file
with_relay6_pid_file
with_randomdev
enable_kqueue
enable_epoll
enable_devpoll
with_bind_extra_config
with_libbind
with_ldap
with_ldapcrypto
......@@ -1437,6 +1442,9 @@ Optional Features:
--enable-log-pid Include PIDs in syslog messages (default is no).
--enable-binary-leases enable support for binary insertion of leases
(default is no)
--enable-kqueue use BSD kqueue (default is no)
--enable-epoll use Linux epoll (default is no)
--enable-devpoll use /dev/poll (default is no)
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
......@@ -1473,6 +1481,9 @@ Optional Packages:
File for dhcrelay6 process information (default is
LOCALSTATEDIR/run/dhcrelay6.pid)
--with-randomdev=PATH Path for random device (default is /dev/random)
--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-ldap enable OpenLDAP support in dhcpd (default is no)
......@@ -5670,8 +5681,8 @@ fi
fi
if test ! -x $ATF_BIN/atf-run -o ! -x $ATF_BIN/atf-report ; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: atf-run,atf-report not found, assuming they are in your path" >&5
$as_echo "$as_me: WARNING: atf-run,atf-report not found, assuming they are in your path" >&2;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: atf-run/atf-report not found, assuming they are in your path" >&5
$as_echo "$as_me: WARNING: atf-run/atf-report not found, assuming they are in your path" >&2;}
fi
......@@ -6735,6 +6746,65 @@ fi
BINDCONFIG="$BINDCONFIG --with-randomdev=$use_randomdev"
fi
BINDIOMUX="--disable-kqueue --disable-epoll --disable-devpoll"
# check kqueue/epoll/devpoll alternative to select
# Check whether --enable-kqueue was given.
if test "${enable_kqueue+set}" = set; then :
enableval=$enable_kqueue; want_kqueue="$enableval"
else
want_kqueue="no"
fi
if test "$want_kqueue" = "yes"; then
BINDIOMUX="--enable-kqueue"
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --enable-kqueue is not supported: it may lead to issues such as server looping" >&5
$as_echo "$as_me: WARNING: --enable-kqueue is not supported: it may lead to issues such as server looping" >&2;}
fi
# Check whether --enable-epoll was given.
if test "${enable_epoll+set}" = set; then :
enableval=$enable_epoll; want_epoll="$enableval"
else
want_epoll="no"
fi
if test "$want_epoll" = "yes"; then
BINDIOMUX="--enable-epoll"
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --enable-epoll is not supported: it may lead to issues such as server looping" >&5
$as_echo "$as_me: WARNING: --enable-epoll is not supported: it may lead to issues such as server looping" >&2;}
fi
# Check whether --enable-devpoll was given.
if test "${enable_devpoll+set}" = set; then :
enableval=$enable_devpoll; want_devpoll="$enableval"
else
want_devpoll="no"
fi
if test "$want_devpoll" = "yes"; then
BINDIOMUX="--enable-devpoll"
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: --enable-devpoll is not supported: it may lead to issues such as server looping" >&5
$as_echo "$as_me: WARNING: --enable-devpoll is not supported: it may lead to issues such as server looping" >&2;}
fi
# general extra bind configure arguments
# Check whether --with-bind-extra-config was given.
if test "${with_bind_extra_config+set}" = set; then :
withval=$with_bind_extra_config; use_xbindconfig="$withval"
else
use_xbindconfig=""
fi
case "$use_xbindconfig" in
yes|no|'')
;;
*)
BINDCONFIG="$BINDCONFIG $use_xbindconfig"
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Most options to bind configure are not supported when used by ISC DHCP" >&5
$as_echo "$as_me: WARNING: Most options to bind configure are not supported when used by ISC DHCP" >&2;}
;;
esac
# see if there is a "sa_len" field in our interface information structure
ac_fn_c_check_member "$LINENO" "struct sockaddr" "sa_len" "ac_cv_member_struct_sockaddr_sa_len" "#include <sys/socket.h>
"
......
......@@ -308,7 +308,7 @@ elif test "$atf_path" != "no" ; then
fi
if test ! -x $ATF_BIN/atf-run -o ! -x $ATF_BIN/atf-report ; then
AC_MSG_WARN([atf-run,atf-report not found, assuming they are in your path])
AC_MSG_WARN([atf-run/atf-report not found, assuming they are in your path])
fi
AC_SUBST(ATF_CFLAGS)
......@@ -644,6 +644,45 @@ else
BINDCONFIG="$BINDCONFIG --with-randomdev=$use_randomdev"
fi
BINDIOMUX="--disable-kqueue --disable-epoll --disable-devpoll"
# check kqueue/epoll/devpoll alternative to select
AC_ARG_ENABLE(kqueue,
AS_HELP_STRING([--enable-kqueue],[use BSD kqueue (default is no)]),
want_kqueue="$enableval", want_kqueue="no")
if test "$want_kqueue" = "yes"; then
BINDIOMUX="--enable-kqueue"
AC_MSG_WARN([--enable-kqueue is not supported: it may lead to issues such as server looping])
fi
AC_ARG_ENABLE(epoll,
AS_HELP_STRING([--enable-epoll],[use Linux epoll (default is no)]),
want_epoll="$enableval", want_epoll="no")
if test "$want_epoll" = "yes"; then
BINDIOMUX="--enable-epoll"
AC_MSG_WARN([--enable-epoll is not supported: it may lead to issues such as server looping])
fi
AC_ARG_ENABLE(devpoll,
AS_HELP_STRING([--enable-devpoll],[use /dev/poll (default is no)]),
want_devpoll="$enableval", want_devpoll="no")
if test "$want_devpoll" = "yes"; then
BINDIOMUX="--enable-devpoll"
AC_MSG_WARN([--enable-devpoll is not supported: it may lead to issues such as server looping])
fi
AC_SUBST(BINDIOMUX)
# general extra bind configure arguments
AC_ARG_WITH(bind-extra-config,
AS_HELP_STRING([--with-bind-extra-config],[configure bind librairies
with some extra options (default is none)]),
use_xbindconfig="$withval", use_xbindconfig="")
case "$use_xbindconfig" in
yes|no|'')
;;
*)
BINDCONFIG="$BINDCONFIG $use_xbindconfig"
AC_MSG_WARN([Most options to bind configure are not supported when used by ISC DHCP])
;;
esac
# see if there is a "sa_len" field in our interface information structure
AC_CHECK_MEMBER(struct sockaddr.sa_len,
AC_DEFINE([HAVE_SA_LEN], [],
......
......@@ -26,11 +26,12 @@ include ./bindvar.tmp
bindsrcdir=bind-${version}
bindconfig = --disable-kqueue --disable-epoll --disable-devpoll \
--without-openssl --without-libxml2 --enable-exportlib \
--with-gssapi=no --enable-threads=no @BINDCONFIG@ \
bindconfig = --without-openssl --without-libxml2 \
--without-gssapi --disable-threads \
--enable-exportlib \
--with-export-includedir=${binddir}/include \
--with-export-libdir=${binddir}/lib
--with-export-libdir=${binddir}/lib \
@BINDIOMUX@ @BINDCONFIG@ --enable-full-report
@BIND_ATF_FALSE@cleandirs = ./lib ./include
@BIND_ATF_TRUE@cleandirs = ./lib ./include ./atf
......
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