diff options
-rw-r--r-- | Makefile.in | 1 | ||||
-rw-r--r-- | RELNOTES | 11 | ||||
-rw-r--r-- | client/Makefile.in | 1 | ||||
-rw-r--r-- | client/tests/Makefile.in | 1 | ||||
-rw-r--r-- | common/Makefile.in | 1 | ||||
-rw-r--r-- | common/tests/Makefile.in | 1 | ||||
-rwxr-xr-x | configure | 44 | ||||
-rw-r--r-- | configure.ac | 51 | ||||
-rw-r--r-- | dhcpctl/Makefile.in | 1 | ||||
-rw-r--r-- | includes/Makefile.in | 1 | ||||
-rw-r--r-- | omapip/Makefile.in | 1 | ||||
-rw-r--r-- | relay/Makefile.in | 1 | ||||
-rw-r--r-- | server/Makefile.in | 1 | ||||
-rw-r--r-- | server/tests/Makefile.in | 1 | ||||
-rw-r--r-- | tests/Makefile.in | 1 | ||||
-rw-r--r-- | util/bindvar.sh | 13 |
16 files changed, 106 insertions, 25 deletions
diff --git a/Makefile.in b/Makefile.in index 5a0d5595..59b219c6 100644 --- a/Makefile.in +++ b/Makefile.in @@ -327,6 +327,7 @@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ +pkgcfg_found = @pkgcfg_found@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ @@ -136,6 +136,13 @@ by Eric Young (eay@cryptsoft.com). to the usage string. This may be disabled by editing includes/site.h. [ISC-Bugs #40321] +- The configure script will now exit with an error message if it cannot find + a GNU-style make tool (needed when building BIND libraries) or pkg-config + (needed to locate ATF used for building unit tests). Prior to this the + script would exit indicating success causing subsequent attempts to build + the software to fail. + [ISC-Bugs #40371] + Changes since 4.3.3b1 - None @@ -182,7 +189,7 @@ by Eric Young (eay@cryptsoft.com). [ISC-Buts #39019] - Write out the DUID server id on startup in all cases, previously if it - was read in from server-duid option in the config or lease files for + was read in from server-duid option in the config or lease files for DHCPv4 it would not be written to the new lease file. [ISC-Bugs #37791] @@ -232,7 +239,7 @@ by Eric Young (eay@cryptsoft.com). declaring the lease file corrupt and incorrectly skipping over the subsequent entry in the file. The server will now emit a log message indicating that no pool was found for the address (or prefix) and correctly resume parsing - with the next entry in the lease file. Our thanks to Michal Žejdl for + with the next entry in the lease file. Our thanks to Michal Žejdl for reporting the issue. [ISC-Bugs #39314] diff --git a/client/Makefile.in b/client/Makefile.in index a6590829..cfc2f5cc 100644 --- a/client/Makefile.in +++ b/client/Makefile.in @@ -335,6 +335,7 @@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ +pkgcfg_found = @pkgcfg_found@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ diff --git a/client/tests/Makefile.in b/client/tests/Makefile.in index 82daa79a..840d85c9 100644 --- a/client/tests/Makefile.in +++ b/client/tests/Makefile.in @@ -307,6 +307,7 @@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ +pkgcfg_found = @pkgcfg_found@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ diff --git a/common/Makefile.in b/common/Makefile.in index 7c49bed2..0a60686f 100644 --- a/common/Makefile.in +++ b/common/Makefile.in @@ -341,6 +341,7 @@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ +pkgcfg_found = @pkgcfg_found@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ diff --git a/common/tests/Makefile.in b/common/tests/Makefile.in index 7b648a4b..5bfe96cd 100644 --- a/common/tests/Makefile.in +++ b/common/tests/Makefile.in @@ -345,6 +345,7 @@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ +pkgcfg_found = @pkgcfg_found@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ @@ -631,6 +631,7 @@ BINDDIR ac_prefix_program HAVE_ATF_FALSE HAVE_ATF_TRUE +pkgcfg_found ATF_BIN ATF_LDFLAGS ATF_CFLAGS @@ -5525,6 +5526,46 @@ elif test "$atf_path" != "no" ; then if test "$atf_pcp" = "" ; then as_fn_error $? "Unable to find atf files in location specified" "$LINENO" 5 else + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_pkgcfg_found+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$pkgcfg_found"; then + ac_cv_prog_pkgcfg_found="$pkgcfg_found" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_pkgcfg_found="pkg-config" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +pkgcfg_found=$ac_cv_prog_pkgcfg_found +if test -n "$pkgcfg_found"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $pkgcfg_found" >&5 +$as_echo "$pkgcfg_found" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + if test "$pkgcfg_found" = ""; then + as_fn_error $? "Could not locate ATF, pkg-config not installed" "$LINENO" 5 + fi ATF_CFLAGS="`PKG_CONFIG_PATH=$atf_pcp pkg-config --cflags atf-c` -DUNIT_TEST" ATF_LDFLAGS="`PKG_CONFIG_PATH=$atf_pcp pkg-config --libs atf-c`" if test -f $atf_pcp/atf-sh.pc ; then @@ -8498,6 +8539,9 @@ fi sh util/bindvar.sh +if test $? -ne 0; then + as_fn_error $? "*** util/bindvar.sh failed" "$LINENO" 5 +fi cat > config.report << END diff --git a/configure.ac b/configure.ac index b6bf9c87..9fe247ca 100644 --- a/configure.ac +++ b/configure.ac @@ -9,11 +9,11 @@ AM_INIT_AUTOMAKE([foreign]) # change the timestamps on the code, like checking it into a cvs # tree, could trigger a rebuild of the infrastructure files which # might fail if they don't have the correct tools. -AM_MAINTAINER_MODE +AM_MAINTAINER_MODE AC_CANONICAL_HOST -# We want to turn on warnings if we are using gcc and the user did +# We want to turn on warnings if we are using gcc and the user did # not specify CFLAGS. The autoconf check for the C compiler sets the # CFLAGS if gcc is used, so we will save it before we run that check. SAVE_CFLAGS="$CFLAGS" @@ -51,9 +51,9 @@ AC_PROG_RANLIB AC_CONFIG_HEADERS([includes/config.h]) # we sometimes need to know byte order for building packets -AC_C_BIGENDIAN(AC_SUBST(byte_order, BIG_ENDIAN), +AC_C_BIGENDIAN(AC_SUBST(byte_order, BIG_ENDIAN), AC_SUBST(byte_order, LITTLE_ENDIAN)) -AC_DEFINE_UNQUOTED([DHCP_BYTE_ORDER], [$byte_order], +AC_DEFINE_UNQUOTED([DHCP_BYTE_ORDER], [$byte_order], [Define to BIG_ENDIAN for MSB (Motorola or SPARC CPUs) or LITTLE_ENDIAN for LSB (Intel CPUs).]) @@ -135,7 +135,7 @@ AC_ARG_ENABLE(dhcpv6, # DHCPv6 is on by default, so define if it is not explicitly disabled. if test "$enable_dhcpv6" != "no"; then enable_dhcpv6="yes" - AC_DEFINE([DHCPv6], [1], + AC_DEFINE([DHCPv6], [1], [Define to 1 to include DHCPv6 support.]) fi @@ -251,6 +251,10 @@ elif test "$atf_path" != "no" ; then if test "$atf_pcp" = "" ; then AC_MSG_ERROR([Unable to find atf files in location specified]) else + AC_CHECK_PROG([pkgcfg_found],[pkg-config],[pkg-config],[]) + if test "$pkgcfg_found" = ""; then + AC_MSG_ERROR([Could not locate ATF, pkg-config not installed]) + fi ATF_CFLAGS="`PKG_CONFIG_PATH=$atf_pcp pkg-config --cflags atf-c` -DUNIT_TEST" ATF_LDFLAGS="`PKG_CONFIG_PATH=$atf_pcp pkg-config --libs atf-c`" if test -f $atf_pcp/atf-sh.pc ; then @@ -294,7 +298,7 @@ esac # Allow specification of alternate state files AC_ARG_WITH(srv-lease-file, - AS_HELP_STRING([--with-srv-lease-file=PATH],[File for dhcpd leases + AS_HELP_STRING([--with-srv-lease-file=PATH],[File for dhcpd leases (default is LOCALSTATEDIR/db/dhcpd.leases)]), AC_DEFINE_UNQUOTED([_PATH_DHCPD_DB], ["$withval"], [File for dhcpd leases.])) @@ -324,7 +328,7 @@ fi AC_MSG_RESULT($with_srv_lease_file) AC_ARG_WITH(srv6-lease-file, - AS_HELP_STRING([--with-srv6-lease-file=PATH],[File for dhcpd6 leases + AS_HELP_STRING([--with-srv6-lease-file=PATH],[File for dhcpd6 leases (default is LOCALSTATEDIR/db/dhcpd6.leases)]), AC_DEFINE_UNQUOTED([_PATH_DHCPD6_DB], ["$withval"], [File for dhcpd6 leases.])) @@ -354,7 +358,7 @@ fi AC_MSG_RESULT($with_srv6_lease_file) AC_ARG_WITH(cli-lease-file, - AS_HELP_STRING([--with-cli-lease-file=PATH],[File for dhclient leases + AS_HELP_STRING([--with-cli-lease-file=PATH],[File for dhclient leases (default is LOCALSTATEDIR/db/dhclient.leases)]), AC_DEFINE_UNQUOTED([_PATH_DHCLIENT_DB], ["$withval"], [File for dhclient leases.])) @@ -384,7 +388,7 @@ fi AC_MSG_RESULT($with_cli_lease_file) AC_ARG_WITH(cli6-lease-file, - AS_HELP_STRING([--with-cli6-lease-file=PATH],[File for dhclient6 leases + AS_HELP_STRING([--with-cli6-lease-file=PATH],[File for dhclient6 leases (default is LOCALSTATEDIR/db/dhclient6.leases)]), AC_DEFINE_UNQUOTED([_PATH_DHCLIENT6_DB], ["$withval"], [File for dhclient6 leases.])) @@ -486,20 +490,20 @@ AC_CHECK_HEADER(linux/filter.h, DO_LPF=1, , ]) if test -n "$DO_LPF" then - AC_DEFINE([HAVE_LPF], [1], + AC_DEFINE([HAVE_LPF], [1], [Define to 1 to use the Linux Packet Filter interface code.]) else AC_CHECK_HEADER(sys/dlpi.h, DO_DLPI=1) if test -n "$DO_DLPI" then - AC_DEFINE([HAVE_DLPI], [1], + AC_DEFINE([HAVE_DLPI], [1], [Define to 1 to use DLPI interface code.]) else AC_CHECK_HEADER(net/bpf.h, DO_BPF=1) if test -n "$DO_BPF" then AC_DEFINE([HAVE_BPF], [1], - [Define to 1 to use the + [Define to 1 to use the Berkeley Packet Filter interface code.]) fi fi @@ -553,8 +557,8 @@ AC_CHECK_HEADERS(sys/socket.h net/if_dl.h net/if6.h regex.h) AC_SEARCH_LIBS(socket, [socket]) AC_SEARCH_LIBS(inet_ntoa, [nsl]) -AC_SEARCH_LIBS(inet_aton, [socket nsl], , - AC_DEFINE([NEED_INET_ATON], [1], +AC_SEARCH_LIBS(inet_aton, [socket nsl], , + AC_DEFINE([NEED_INET_ATON], [1], [Define to 1 if the inet_aton() function is missing.])) # Check for a standalone regex library. @@ -567,12 +571,12 @@ AC_SEARCH_LIBS(if_nametoindex, [ipv6]) # check for /dev/random (declares HAVE_DEV_RANDOM) AC_CHECK_FILE(/dev/random, - AC_DEFINE([HAVE_DEV_RANDOM], [1], + AC_DEFINE([HAVE_DEV_RANDOM], [1], [Define to 1 if you have the /dev/random file.])) # 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], [], + AC_DEFINE([HAVE_SA_LEN], [], [Define to 1 if the sockaddr structure has a length field.]), , [#include <sys/socket.h>]) @@ -583,13 +587,13 @@ AC_CHECK_SIZEOF(struct iaddr *, , [ #include <stdio.h> ]) -# Solaris does not have the msg_control or msg_controlen members +# Solaris does not have the msg_control or msg_controlen members # in the msghdr structure unless you define: # # _XOPEN_SOURCE, _XOPEN_SOURCE_EXTENDED, and __EXTENSIONS__ -# +# # See the "standards" man page for details. -# +# # We check for the msg_control member, and if it is not found, we check # again with the appropriate defines added to the CFLAGS. (In order to # do this we have to remove the check from the cache, which is what the @@ -599,7 +603,7 @@ AC_CHECK_MEMBER(struct msghdr.msg_control,, CFLAGS="$CFLAGS -D__EXTENSIONS__" unset ac_cv_member_struct_msghdr_msg_control AC_CHECK_MEMBER(struct msghdr.msg_control,, - [AC_MSG_ERROR([Missing msg_control member in + [AC_MSG_ERROR([Missing msg_control member in msg_control structure.])], [ #include <sys/types.h> @@ -617,10 +621,10 @@ AC_CHECK_MEMBER(struct tpacket_auxdata.tp_vlan_tci, BINDDIR= 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") -case "$use_libbind" in +case "$use_libbind" in yes) BINDDIR="\${top_srcdir}/bind" ;; @@ -749,6 +753,9 @@ AC_CONFIG_FILES([ AC_OUTPUT sh util/bindvar.sh +if test $? -ne 0; then + AC_MSG_ERROR([*** util/bindvar.sh failed]) +fi cat > config.report << END diff --git a/dhcpctl/Makefile.in b/dhcpctl/Makefile.in index 96725abd..37481015 100644 --- a/dhcpctl/Makefile.in +++ b/dhcpctl/Makefile.in @@ -311,6 +311,7 @@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ +pkgcfg_found = @pkgcfg_found@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ diff --git a/includes/Makefile.in b/includes/Makefile.in index deb0ac80..1c1a590c 100644 --- a/includes/Makefile.in +++ b/includes/Makefile.in @@ -264,6 +264,7 @@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ +pkgcfg_found = @pkgcfg_found@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ diff --git a/omapip/Makefile.in b/omapip/Makefile.in index b3cdff84..ae49faac 100644 --- a/omapip/Makefile.in +++ b/omapip/Makefile.in @@ -306,6 +306,7 @@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ +pkgcfg_found = @pkgcfg_found@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ diff --git a/relay/Makefile.in b/relay/Makefile.in index 27dd989d..9a0451fe 100644 --- a/relay/Makefile.in +++ b/relay/Makefile.in @@ -287,6 +287,7 @@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ +pkgcfg_found = @pkgcfg_found@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ diff --git a/server/Makefile.in b/server/Makefile.in index 9778464f..dc880e7d 100644 --- a/server/Makefile.in +++ b/server/Makefile.in @@ -351,6 +351,7 @@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ +pkgcfg_found = @pkgcfg_found@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ diff --git a/server/tests/Makefile.in b/server/tests/Makefile.in index a4fa2adb..9c37fc50 100644 --- a/server/tests/Makefile.in +++ b/server/tests/Makefile.in @@ -367,6 +367,7 @@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ +pkgcfg_found = @pkgcfg_found@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ diff --git a/tests/Makefile.in b/tests/Makefile.in index 22a5ea0a..792a2186 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -259,6 +259,7 @@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ +pkgcfg_found = @pkgcfg_found@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ diff --git a/util/bindvar.sh b/util/bindvar.sh index 30ecd906..184a4cc0 100644 --- a/util/bindvar.sh +++ b/util/bindvar.sh @@ -1,6 +1,6 @@ #!/bin/sh # -# Copyright (C) 2009 Internet Systems Consortium, Inc. ("ISC") +# 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 @@ -20,6 +20,9 @@ # 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 @@ -29,7 +32,15 @@ for x in gmake gnumake make; do 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 |