From 0 Mon Sep 17 00:00:00 2001 From: Mikhail Efremov Date: Thu, 6 Dec 2018 19:51:08 +0300 Subject: [PATCH 28] Build with extern bind libraries diff --git a/dhcp/Makefile.am b/dhcp/Makefile.am index defaced..defaced 100644 --- a/dhcp/Makefile.am +++ b/dhcp/Makefile.am @@ -32,10 +32,6 @@ EXTRA_DIST = RELNOTES LICENSE configure.ac+lt config+lt \ client/tests/Kyuafile common/tests/Kyuafile server/tests/Kyuafile \ m4/README CONTRIBUTING.md -if HAVE_BINDDIR -EXTRA_DIST += bind/Makefile.in bind/bind.tar.gz bind/version.tmp -endif - # Use an autoconf substitution vs an automake conditional here # to fool automake when the bind directory does not exist. SUBDIRS = @BINDSUBDIR@ includes tests common omapip client dhcpctl relay server @@ -52,10 +48,5 @@ DISTCHECK_CONFIGURE_FLAGS = @DISTCHECK_ATF_CONFIGURE_FLAG@ DISTCHECK_CONFIGURE_FLAGS += @DISTCHECK_LIBBIND_CONFIGURE_FLAG@ DISTCHECK_CONFIGURE_FLAGS += @DISTCHECK_LIBTOOL_CONFIGURE_FLAG@ -distcheck-hook: -if HAVE_BINDDIR - chmod u+w $(distdir)/bind -endif - distclean-local: rm -f config.report diff --git a/dhcp/client/Makefile.am b/dhcp/client/Makefile.am index defaced..defaced 100644 --- a/dhcp/client/Makefile.am +++ b/dhcp/client/Makefile.am @@ -15,9 +15,6 @@ dhclient_SOURCES = client_tables.c clparse.c dhclient.c dhc6.c \ scripts/solaris scripts/openwrt dhclient_LDFLAGS = -pie dhclient_LDADD = ../common/libdhcp.@A@ ../omapip/libomapi.@A@ \ - @BINDLIBIRSDIR@/libirs.@A@ \ - @BINDLIBDNSDIR@/libdns.@A@ \ - @BINDLIBISCCFGDIR@/libisccfg.@A@ \ - @BINDLIBISCDIR@/libisc.@A@ + $(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export man_MANS = dhclient.8 dhclient-script.8 dhclient.conf.5 dhclient.leases.5 EXTRA_DIST = $(man_MANS) diff --git a/dhcp/client/tests/Makefile.am b/dhcp/client/tests/Makefile.am index defaced..defaced 100644 --- a/dhcp/client/tests/Makefile.am +++ b/dhcp/client/tests/Makefile.am @@ -1,7 +1,7 @@ SUBDIRS = . AM_CPPFLAGS = $(ATF_CFLAGS) -DUNIT_TEST -I$(top_srcdir)/includes -AM_CPPFLAGS += -I@BINDDIR@/include -I$(top_srcdir) +AM_CPPFLAGS += -I@BINDDIR@/ -I$(top_srcdir) AM_CPPFLAGS += -DLOCALSTATEDIR='"."' AM_CPPFLAGS += -DCLIENT_PATH='"."' @@ -19,10 +19,7 @@ DHCPSRC = ../clparse.c ../dhc6.c ../dhclient.c DHCPLIBS = $(top_builddir)/common/libdhcp.@A@ \ $(top_builddir)/omapip/libomapi.@A@ \ $(top_builddir)/dhcpctl/libdhcpctl.@A@ \ - @BINDLIBIRSDIR@/libirs.@A@ \ - @BINDLIBDNSDIR@/libdns.@A@ \ - @BINDLIBISCCFGDIR@/libisccfg.@A@ \ - @BINDLIBISCDIR@/libisc.@A@ + $(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export ATF_TESTS = if HAVE_ATF diff --git a/dhcp/common/Makefile.am.in b/dhcp/common/Makefile.am.in index defaced..defaced 100644 --- a/dhcp/common/Makefile.am.in +++ b/dhcp/common/Makefile.am.in @@ -6,7 +6,7 @@ libdhcp_@A@_SOURCES = alloc.c bpf.c comapi.c conflex.c ctrace.c dhcp4o6.c \ discover.c dispatch.c dlpi.c dns.c ethernet.c execute.c \ fddi.c icmp.c inet.c lpf.c memory.c nit.c ns_name.c \ options.c packet.c parse.c print.c raw.c resolv.c \ - socket.c tables.c tr.c tree.c upf.c + socket.c tables.c tr.c tree.c upf.c droproot.c man_MANS = dhcp-eval.5 dhcp-options.5 EXTRA_DIST = $(man_MANS) diff --git a/dhcp/common/tests/Makefile.am b/dhcp/common/tests/Makefile.am index defaced..defaced 100644 --- a/dhcp/common/tests/Makefile.am +++ b/dhcp/common/tests/Makefile.am @@ -14,42 +14,27 @@ ATF_TESTS += alloc_unittest dns_unittest misc_unittest ns_name_unittest \ alloc_unittest_SOURCES = test_alloc.c $(top_srcdir)/tests/t_api_dhcp.c alloc_unittest_LDADD = $(ATF_LDFLAGS) alloc_unittest_LDADD += ../libdhcp.@A@ ../../omapip/libomapi.@A@ \ - @BINDLIBIRSDIR@/libirs.@A@ \ - @BINDLIBDNSDIR@/libdns.@A@ \ - @BINDLIBISCCFGDIR@/libisccfg.@A@ \ - @BINDLIBISCDIR@/libisc.@A@ + $(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export dns_unittest_SOURCES = dns_unittest.c $(top_srcdir)/tests/t_api_dhcp.c dns_unittest_LDADD = $(ATF_LDFLAGS) dns_unittest_LDADD += ../libdhcp.@A@ ../../omapip/libomapi.@A@ \ - @BINDLIBIRSDIR@/libirs.@A@ \ - @BINDLIBDNSDIR@/libdns.@A@ \ - @BINDLIBISCCFGDIR@/libisccfg.@A@ \ - @BINDLIBISCDIR@/libisc.@A@ + $(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export misc_unittest_SOURCES = misc_unittest.c $(top_srcdir)/tests/t_api_dhcp.c misc_unittest_LDADD = $(ATF_LDFLAGS) misc_unittest_LDADD += ../libdhcp.@A@ ../../omapip/libomapi.@A@ \ - @BINDLIBIRSDIR@/libirs.@A@ \ - @BINDLIBDNSDIR@/libdns.@A@ \ - @BINDLIBISCCFGDIR@/libisccfg.@A@ \ - @BINDLIBISCDIR@/libisc.@A@ + $(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export ns_name_unittest_SOURCES = ns_name_test.c $(top_srcdir)/tests/t_api_dhcp.c ns_name_unittest_LDADD = $(ATF_LDFLAGS) ns_name_unittest_LDADD += ../libdhcp.@A@ ../../omapip/libomapi.@A@ \ - @BINDLIBIRSDIR@/libirs.@A@ \ - @BINDLIBDNSDIR@/libdns.@A@ \ - @BINDLIBISCCFGDIR@/libisccfg.@A@ \ - @BINDLIBISCDIR@/libisc.@A@ + $(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export option_unittest_SOURCES = option_unittest.c $(top_srcdir)/tests/t_api_dhcp.c option_unittest_LDADD = $(ATF_LDFLAGS) option_unittest_LDADD += ../libdhcp.@A@ ../../omapip/libomapi.@A@ \ - @BINDLIBIRSDIR@/libirs.@A@ \ - @BINDLIBDNSDIR@/libdns.@A@ \ - @BINDLIBISCCFGDIR@/libisccfg.@A@ \ - @BINDLIBISCDIR@/libisc.@A@ + $(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export domain_name_unittest_SOURCES = domain_name_test.c \ $(top_srcdir)/tests/t_api_dhcp.c diff --git a/dhcp/configure.ac b/dhcp/configure.ac index defaced..defaced 100644 --- a/dhcp/configure.ac +++ b/dhcp/configure.ac @@ -757,7 +757,7 @@ BINDLIBISCCFGDIR= BINDLIBISCDIR= DISTCHECK_LIBBIND_CONFIGURE_FLAG= 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 are in PATH]), use_libbind="$withval", use_libbind="no") case "$use_libbind" in yes) @@ -791,25 +791,37 @@ no) if test ! -d "$use_libbind"; then AC_MSG_ERROR([Cannot find bind directory at $use_libbind]) fi - if test ! -d "$use_libbind/include" -o \ - ! -f "$use_libbind/include/isc/buffer.h" + if test ! -d "$use_libbind" -o \ + ! -f "$use_libbind/isc/buffer.h" then - AC_MSG_ERROR([Cannot find bind includes at $use_libbind/include]) - fi - if test ! -d "$use_libbind/lib" -o \ - \( ! -f "$use_libbind/lib/libisc.a" -a \ - ! -f "$use_libbind/lib/libisc.la" \) - then - AC_MSG_ERROR([Cannot find bind libraries at $use_libbind/lib]) + AC_MSG_ERROR([Cannot find bind includes at $use_libbind]) fi BINDDIR="$use_libbind" - BINDLIBIRSDIR="$BINDDIR/lib" - BINDLIBDNSDIR="$BINDDIR/lib" - BINDLIBISCCFGDIR="$BINDDIR/lib" - BINDLIBISCDIR="$BINDDIR/lib" DISTCHECK_LIBBIND_CONFIGURE_FLAG="--with-libbind=$use_libbind" ;; esac +AC_ARG_WITH(libbind-libs, + AC_HELP_STRING([--with-libbind-libs=PATH], + [bind9 export libraries are in PATH]), + [libbind_libs="$withval"], [libbind_libs='no']) +case "$libbind_libs" in + yes|no) + AC_MSG_ERROR([Specify path to bind9 libraries]) + ;; + *) + if test ! -d "$use_libbind/" + then + AC_MSG_ERROR([Cannot find bind libraries at $use_libbind]) + fi + BIND9_LIBDIR="-L$libbind_libs" + BINDLIBIRSDIR="$libbind_libs" + BINDLIBDNSDIR="$libbind_libs" + BINDLIBISCCFGDIR="$libbind_libs" + BINDLIBISCDIR="$libbind_libs" + ;; +esac + +AC_SUBST([BIND9_LIBDIR]) AC_SUBST(BINDSUBDIR) AC_SUBST(BINDDIR) AC_SUBST(BINDSRCDIR) @@ -844,9 +856,9 @@ AC_ARG_ENABLE(libtool, if test "$use_libbind" != "no"; then if test "$want_libtool" = "yes" -a \ - ! -f "$use_libbind/lib/libisc.la" + ! -f "$libbind_libs/libisc-export.so" then - AC_MSG_ERROR([Cannot find dynamic libraries at $use_libbind/lib]) + AC_MSG_ERROR([Cannot find dynamic libraries at $libbind_libs]) fi if test "$want_libtool" = "no" -a \ ! -f "$use_libbind/lib/libisc.a" @@ -975,7 +987,7 @@ fi CFLAGS="$CFLAGS $STD_CWARNINGS" # Try to add the bind and dhcp include directories -CFLAGS="$CFLAGS -I\$(top_srcdir)/includes -I$BINDDIR/include" +CFLAGS="$CFLAGS -I\$(top_srcdir)/includes -I$BINDDIR" case "$host" in *-darwin*) diff --git a/dhcp/configure.ac+lt b/dhcp/configure.ac+lt index defaced..defaced 100644 --- a/dhcp/configure.ac+lt +++ b/dhcp/configure.ac+lt @@ -758,7 +758,7 @@ BINDLIBISCCFGDIR= BINDLIBISCDIR= DISTCHECK_LIBBIND_CONFIGURE_FLAG= 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 are in PATH]), use_libbind="$withval", use_libbind="no") case "$use_libbind" in yes) @@ -792,25 +792,37 @@ no) if test ! -d "$use_libbind"; then AC_MSG_ERROR([Cannot find bind directory at $use_libbind]) fi - if test ! -d "$use_libbind/include" -o \ - ! -f "$use_libbind/include/isc/buffer.h" + if test ! -d "$use_libbind" -o \ + ! -f "$use_libbind/isc/buffer.h" then - AC_MSG_ERROR([Cannot find bind includes at $use_libbind/include]) - fi - if test ! -d "$use_libbind/lib" -o \ - \( ! -f "$use_libbind/lib/libisc.a" -a \ - ! -f "$use_libbind/lib/libisc.la" \) - then - AC_MSG_ERROR([Cannot find bind libraries at $use_libbind/lib]) + AC_MSG_ERROR([Cannot find bind includes at $use_libbind]) fi BINDDIR="$use_libbind" - BINDLIBIRSDIR="$BINDDIR/lib" - BINDLIBDNSDIR="$BINDDIR/lib" - BINDLIBISCCFGDIR="$BINDDIR/lib" - BINDLIBISCDIR="$BINDDIR/lib" DISTCHECK_LIBBIND_CONFIGURE_FLAG="--with-libbind=$use_libbind" ;; esac +AC_ARG_WITH(libbind-libs, + AC_HELP_STRING([--with-libbind-libs=PATH], + [bind9 export libraries are in PATH]), + [libbind_libs="$withval"], [libbind_libs='no']) +case "$libbind_libs" in + yes|no) + AC_MSG_ERROR([Specify path to bind9 libraries]) + ;; + *) + if test ! -d "$use_libbind/" + then + AC_MSG_ERROR([Cannot find bind libraries at $use_libbind]) + fi + BIND9_LIBDIR="-L$libbind_libs" + BINDLIBIRSDIR="$libbind_libs" + BINDLIBDNSDIR="$libbind_libs" + BINDLIBISCCFGDIR="$libbind_libs" + BINDLIBISCDIR="$libbind_libs" + ;; +esac + +AC_SUBST([BIND9_LIBDIR]) AC_SUBST(BINDSUBDIR) AC_SUBST(BINDDIR) AC_SUBST(BINDSRCDIR) @@ -847,9 +859,9 @@ AC_ARG_ENABLE(libtool, if test "$use_libbind" != "no"; then if test "$want_libtool" = "yes" -a \ - ! -f "$use_libbind/lib/libisc.la" + ! -f "$libbind_libs/libisc-export.so" then - AC_MSG_ERROR([Cannot find dynamic libraries at $use_libbind/lib]) + AC_MSG_ERROR([Cannot find dynamic libraries at $libbind_libs]) fi if test "$want_libtool" = "no" -a \ ! -f "$use_libbind/lib/libisc.a" @@ -976,7 +988,7 @@ fi CFLAGS="$CFLAGS $STD_CWARNINGS" # Try to add the bind and dhcp include directories -CFLAGS="$CFLAGS -I\$(top_srcdir)/includes -I$BINDDIR/include" +CFLAGS="$CFLAGS -I\$(top_srcdir)/includes -I$BINDDIR" case "$host" in *-darwin*) diff --git a/dhcp/dhcpctl/Makefile.am.in b/dhcp/dhcpctl/Makefile.am.in index defaced..defaced 100644 --- a/dhcp/dhcpctl/Makefile.am.in +++ b/dhcp/dhcpctl/Makefile.am.in @@ -1,8 +1,3 @@ -BINDLIBIRSDIR=@Q@BINDLIBIRSDIR@Q@ -BINDLIBDNSDIR=@Q@BINDLIBDNSDIR@Q@ -BINDLIBISCCFGDIR=@Q@BINDLIBISCCFGDIR@Q@ -BINDLIBISCDIR=@Q@BINDLIBISCDIR@Q@ - bin_PROGRAMS = omshell lib_@DHLIBS@ = libdhcpctl.@A@ noinst_PROGRAMS = cltest cltest2 @@ -11,23 +6,14 @@ EXTRA_DIST = $(man_MANS) omshell_SOURCES = omshell.c omshell_LDADD = libdhcpctl.@A@ ../common/libdhcp.@A@ ../omapip/libomapi.@A@ \ - $(BINDLIBIRSDIR)/libirs.@A@ \ - $(BINDLIBDNSDIR)/libdns.@A@ \ - $(BINDLIBISCCFGDIR)/libisccfg.@A@ \ - $(BINDLIBISCDIR)/libisc.@A@ + $(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export libdhcpctl_@A@_SOURCES = dhcpctl.c callback.c remote.c cltest_SOURCES = cltest.c cltest_LDADD = libdhcpctl.@A@ ../common/libdhcp.@A@ ../omapip/libomapi.@A@ \ - $(BINDLIBIRSDIR)/libirs.@A@ \ - $(BINDLIBDNSDIR)/libdns.@A@ \ - $(BINDLIBISCCFGDIR)/libisccfg.@A@ \ - $(BINDLIBISCDIR)/libisc.@A@ + $(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export cltest2_SOURCES = cltest2.c cltest2_LDADD = libdhcpctl.@A@ ../common/libdhcp.@A@ ../omapip/libomapi.@A@ \ - $(BINDLIBIRSDIR)/libirs.@A@ \ - $(BINDLIBDNSDIR)/libdns.@A@ \ - $(BINDLIBISCCFGDIR)/libisccfg.@A@ \ - $(BINDLIBISCDIR)/libisc.@A@ + $(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export diff --git a/dhcp/omapip/Makefile.am.in b/dhcp/omapip/Makefile.am.in index defaced..defaced 100644 --- a/dhcp/omapip/Makefile.am.in +++ b/dhcp/omapip/Makefile.am.in @@ -1,8 +1,3 @@ -BINDLIBIRSDIR=@Q@BINDLIBIRSDIR@Q@ -BINDLIBDNSDIR=@Q@BINDLIBDNSDIR@Q@ -BINDLIBISCCFGDIR=@Q@BINDLIBISCCFGDIR@Q@ -BINDLIBISCDIR=@Q@BINDLIBISCDIR@Q@ - lib_@DHLIBS@ = libomapi.@A@ noinst_PROGRAMS = svtest @@ -16,7 +11,4 @@ EXTRA_DIST = $(man_MANS) svtest_SOURCES = test.c svtest_LDADD = libomapi.@A@ \ - $(BINDLIBIRSDIR)/libirs.@A@ \ - $(BINDLIBDNSDIR)/libdns.@A@ \ - $(BINDLIBISCCFGDIR)/libisccfg.@A@ \ - $(BINDLIBISCDIR)/libisc.@A@ + $(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export diff --git a/dhcp/relay/Makefile.am b/dhcp/relay/Makefile.am index defaced..defaced 100644 --- a/dhcp/relay/Makefile.am +++ b/dhcp/relay/Makefile.am @@ -6,9 +6,7 @@ sbin_PROGRAMS = dhcrelay dhcrelay_SOURCES = dhcrelay.c dhcrelay_LDFLAGS = -pie dhcrelay_LDADD = ../common/libdhcp.@A@ ../omapip/libomapi.@A@ \ - @BINDLIBIRSDIR@/libirs.@A@ \ - @BINDLIBDNSDIR@/libdns.@A@ \ - @BINDLIBISCCFGDIR@/libisccfg.@A@ \ - @BINDLIBISCDIR@/libisc.@A@ + -lcap \ + $(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export man_MANS = dhcrelay.8 EXTRA_DIST = $(man_MANS) diff --git a/dhcp/server/Makefile.am b/dhcp/server/Makefile.am index defaced..defaced 100644 --- a/dhcp/server/Makefile.am +++ b/dhcp/server/Makefile.am @@ -16,10 +16,7 @@ dhcpd_CFLAGS = $(LDAP_CFLAGS) dhcpd_LDFLAGS = -pie dhcpd_LDADD = ../common/libdhcp.@A@ ../omapip/libomapi.@A@ \ ../dhcpctl/libdhcpctl.@A@ \ - $(BINDLIBIRSDIR)/libirs.@A@ \ - $(BINDLIBDNSDIR)/libdns.@A@ \ - $(BINDLIBISCCFGDIR)/libisccfg.@A@ \ - $(BINDLIBISCDIR)/libisc.@A@ \ + $(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export \ -lcap \ $(LDAP_LIBS) diff --git a/dhcp/server/tests/Makefile.am b/dhcp/server/tests/Makefile.am index defaced..defaced 100644 --- a/dhcp/server/tests/Makefile.am +++ b/dhcp/server/tests/Makefile.am @@ -1,7 +1,7 @@ SUBDIRS = . AM_CPPFLAGS = $(ATF_CFLAGS) -DUNIT_TEST -I$(top_srcdir)/includes -AM_CPPFLAGS += -I@BINDDIR@/include -I$(top_srcdir) +AM_CPPFLAGS += -I@BINDDIR@/ -I$(top_srcdir) AM_CPPFLAGS += -DLOCALSTATEDIR='"."' EXTRA_DIST = Atffile Kyuafile @@ -20,10 +20,7 @@ DHCPSRC = ../dhcp.c ../bootp.c ../confpars.c ../db.c ../class.c \ DHCPLIBS = $(top_builddir)/common/libdhcp.@A@ \ $(top_builddir)/omapip/libomapi.@A@ \ $(top_builddir)/dhcpctl/libdhcpctl.@A@ \ - $(BINDLIBIRSDIR)/libirs.@A@ \ - $(BINDLIBDNSDIR)/libdns.@A@ \ - $(BINDLIBISCCFGDIR)/libisccfg.@A@ \ - $(BINDLIBISCDIR)/libisc.@A@ + $(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export ATF_TESTS = if HAVE_ATF