From: Razvan Becheriu Date: Fri, 13 Sep 2024 18:22:02 +0000 (+0300) Subject: [#3536] updated Makefile.am files X-Git-Tag: Kea-2.7.3~32 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=74eafca7262fa33a9a9ce0fa46495401a5ca5af2;p=thirdparty%2Fkea.git [#3536] updated Makefile.am files --- diff --git a/src/bin/dhcp4/Makefile.am b/src/bin/dhcp4/Makefile.am index a94639a812..67436d6c72 100644 --- a/src/bin/dhcp4/Makefile.am +++ b/src/bin/dhcp4/Makefile.am @@ -44,6 +44,19 @@ sbin_PROGRAMS = kea-dhcp4 kea_dhcp4_SOURCES = main.cc kea_dhcp4_LDADD = libdhcp4.la + +# to be removed +if HAVE_PGSQL +kea_dhcp4_LDADD += $(top_builddir)/src/hooks/dhcp/pgsql_lb/libpgsqllb.la +kea_dhcp4_LDADD += $(top_builddir)/src/hooks/dhcp/pgsql_hb/libpgsqlhb.la +endif + +# to be removed +if HAVE_MYSQL +kea_dhcp4_LDADD += $(top_builddir)/src/hooks/dhcp/mysql_lb/libmysqllb.la +kea_dhcp4_LDADD += $(top_builddir)/src/hooks/dhcp/mysql_hb/libmysqlhb.la +endif + kea_dhcp4_LDADD += $(top_builddir)/src/lib/dhcpsrv/libkea-dhcpsrv.la kea_dhcp4_LDADD += $(top_builddir)/src/lib/process/libkea-process.la kea_dhcp4_LDADD += $(top_builddir)/src/lib/eval/libkea-eval.la @@ -57,15 +70,11 @@ kea_dhcp4_LDADD += $(top_builddir)/src/lib/hooks/libkea-hooks.la # to be removed if HAVE_PGSQL kea_dhcp4_LDADD += $(top_builddir)/src/lib/pgsql/libkea-pgsql.la -kea_dhcp4_LDADD += $(top_builddir)/src/hooks/dhcp/pgsql_lb/libpgsqllb.la -kea_dhcp4_LDADD += $(top_builddir)/src/hooks/dhcp/pgsql_hb/libpgsqlhb.la endif # to be removed if HAVE_MYSQL kea_dhcp4_LDADD += $(top_builddir)/src/lib/mysql/libkea-mysql.la -kea_dhcp4_LDADD += $(top_builddir)/src/hooks/dhcp/mysql_lb/libmysqllb.la -kea_dhcp4_LDADD += $(top_builddir)/src/hooks/dhcp/mysql_hb/libmysqlhb.la endif kea_dhcp4_LDADD += $(top_builddir)/src/lib/database/libkea-database.la @@ -78,6 +87,13 @@ kea_dhcp4_LDADD += $(top_builddir)/src/lib/util/libkea-util.la kea_dhcp4_LDADD += $(top_builddir)/src/lib/exceptions/libkea-exceptions.la kea_dhcp4_LDADD += $(LOG4CPLUS_LIBS) $(CRYPTO_LIBS) $(BOOST_LIBS) +if HAVE_MYSQL +kea_dhcp4_LDADD += $(MYSQL_LIBS) +endif +if HAVE_PGSQL +kea_dhcp4_LDADD += $(PGSQL_LIBS) +endif + kea_dhcp4_LDFLAGS = $(AM_LDFLAGS) $(CRYPTO_LDFLAGS) if HAVE_MYSQL kea_dhcp4_LDFLAGS += $(MYSQL_LIBS) diff --git a/src/bin/dhcp4/tests/Makefile.am b/src/bin/dhcp4/tests/Makefile.am index 032ca7c67d..b0632fa5ba 100644 --- a/src/bin/dhcp4/tests/Makefile.am +++ b/src/bin/dhcp4/tests/Makefile.am @@ -122,6 +122,17 @@ endif dhcp4_unittests_LDFLAGS += $(GTEST_LDFLAGS) dhcp4_unittests_LDADD = $(top_builddir)/src/bin/dhcp4/libdhcp4.la + +if HAVE_PGSQL +dhcp4_unittests_LDADD += $(top_builddir)/src/hooks/dhcp/pgsql_lb/libpgsqllb.la +dhcp4_unittests_LDADD += $(top_builddir)/src/hooks/dhcp/pgsql_hb/libpgsqlhb.la +endif + +if HAVE_MYSQL +dhcp4_unittests_LDADD += $(top_builddir)/src/hooks/dhcp/mysql_lb/libmysqllb.la +dhcp4_unittests_LDADD += $(top_builddir)/src/hooks/dhcp/mysql_hb/libmysqlhb.la +endif + dhcp4_unittests_LDADD += $(top_builddir)/src/lib/dhcpsrv/testutils/libdhcpsrvtest.la dhcp4_unittests_LDADD += $(top_builddir)/src/lib/dhcpsrv/libkea-dhcpsrv.la dhcp4_unittests_LDADD += $(top_builddir)/src/lib/process/libkea-process.la @@ -137,15 +148,11 @@ dhcp4_unittests_LDADD += $(top_builddir)/src/lib/hooks/libkea-hooks.la if HAVE_PGSQL dhcp4_unittests_LDADD += $(top_builddir)/src/lib/pgsql/testutils/libpgsqltest.la dhcp4_unittests_LDADD += $(top_builddir)/src/lib/pgsql/libkea-pgsql.la -dhcp4_unittests_LDADD += $(top_builddir)/src/hooks/dhcp/pgsql_lb/libpgsqllb.la -dhcp4_unittests_LDADD += $(top_builddir)/src/hooks/dhcp/pgsql_hb/libpgsqlhb.la endif if HAVE_MYSQL dhcp4_unittests_LDADD += $(top_builddir)/src/lib/mysql/testutils/libmysqltest.la dhcp4_unittests_LDADD += $(top_builddir)/src/lib/mysql/libkea-mysql.la -dhcp4_unittests_LDADD += $(top_builddir)/src/hooks/dhcp/mysql_lb/libmysqllb.la -dhcp4_unittests_LDADD += $(top_builddir)/src/hooks/dhcp/mysql_hb/libmysqlhb.la endif dhcp4_unittests_LDADD += $(top_builddir)/src/lib/database/testutils/libdatabasetest.la diff --git a/src/bin/dhcp6/Makefile.am b/src/bin/dhcp6/Makefile.am index 2029aff25a..84f91be3bf 100644 --- a/src/bin/dhcp6/Makefile.am +++ b/src/bin/dhcp6/Makefile.am @@ -44,6 +44,19 @@ sbin_PROGRAMS = kea-dhcp6 kea_dhcp6_SOURCES = main.cc kea_dhcp6_LDADD = libdhcp6.la + +# to be removed +if HAVE_PGSQL +kea_dhcp6_LDADD += $(top_builddir)/src/hooks/dhcp/pgsql_lb/libpgsqllb.la +kea_dhcp6_LDADD += $(top_builddir)/src/hooks/dhcp/pgsql_hb/libpgsqlhb.la +endif + +# to be removed +if HAVE_MYSQL +kea_dhcp6_LDADD += $(top_builddir)/src/hooks/dhcp/mysql_lb/libmysqllb.la +kea_dhcp6_LDADD += $(top_builddir)/src/hooks/dhcp/mysql_hb/libmysqlhb.la +endif + kea_dhcp6_LDADD += $(top_builddir)/src/lib/dhcpsrv/libkea-dhcpsrv.la kea_dhcp6_LDADD += $(top_builddir)/src/lib/process/libkea-process.la kea_dhcp6_LDADD += $(top_builddir)/src/lib/eval/libkea-eval.la @@ -57,15 +70,11 @@ kea_dhcp6_LDADD += $(top_builddir)/src/lib/hooks/libkea-hooks.la # to be removed if HAVE_PGSQL kea_dhcp6_LDADD += $(top_builddir)/src/lib/pgsql/libkea-pgsql.la -kea_dhcp6_LDADD += $(top_builddir)/src/hooks/dhcp/pgsql_lb/libpgsqllb.la -kea_dhcp6_LDADD += $(top_builddir)/src/hooks/dhcp/pgsql_hb/libpgsqlhb.la endif # to be removed if HAVE_MYSQL kea_dhcp6_LDADD += $(top_builddir)/src/lib/mysql/libkea-mysql.la -kea_dhcp6_LDADD += $(top_builddir)/src/hooks/dhcp/mysql_lb/libmysqllb.la -kea_dhcp6_LDADD += $(top_builddir)/src/hooks/dhcp/mysql_hb/libmysqlhb.la endif kea_dhcp6_LDADD += $(top_builddir)/src/lib/database/libkea-database.la @@ -78,6 +87,13 @@ kea_dhcp6_LDADD += $(top_builddir)/src/lib/util/libkea-util.la kea_dhcp6_LDADD += $(top_builddir)/src/lib/exceptions/libkea-exceptions.la kea_dhcp6_LDADD += $(LOG4CPLUS_LIBS) $(CRYPTO_LIBS) $(BOOST_LIBS) +if HAVE_MYSQL +kea_dhcp6_LDADD += $(MYSQL_LIBS) +endif +if HAVE_PGSQL +kea_dhcp6_LDADD += $(PGSQL_LIBS) +endif + kea_dhcp6_LDFLAGS = $(AM_LDFLAGS) $(CRYPTO_LDFLAGS) if HAVE_MYSQL kea_dhcp6_LDFLAGS += $(MYSQL_LIBS) diff --git a/src/bin/dhcp6/tests/Makefile.am b/src/bin/dhcp6/tests/Makefile.am index c9aee1b3e5..1c457a74ef 100644 --- a/src/bin/dhcp6/tests/Makefile.am +++ b/src/bin/dhcp6/tests/Makefile.am @@ -122,6 +122,17 @@ endif dhcp6_unittests_LDFLAGS += $(GTEST_LDFLAGS) dhcp6_unittests_LDADD = $(top_builddir)/src/bin/dhcp6/libdhcp6.la + +if HAVE_PGSQL +dhcp6_unittests_LDADD += $(top_builddir)/src/hooks/dhcp/pgsql_lb/libpgsqllb.la +dhcp6_unittests_LDADD += $(top_builddir)/src/hooks/dhcp/pgsql_hb/libpgsqlhb.la +endif + +if HAVE_MYSQL +dhcp6_unittests_LDADD += $(top_builddir)/src/hooks/dhcp/mysql_lb/libmysqllb.la +dhcp6_unittests_LDADD += $(top_builddir)/src/hooks/dhcp/mysql_hb/libmysqlhb.la +endif + dhcp6_unittests_LDADD += $(top_builddir)/src/lib/dhcpsrv/testutils/libdhcpsrvtest.la dhcp6_unittests_LDADD += $(top_builddir)/src/lib/dhcpsrv/libkea-dhcpsrv.la dhcp6_unittests_LDADD += $(top_builddir)/src/lib/process/libkea-process.la @@ -137,15 +148,11 @@ dhcp6_unittests_LDADD += $(top_builddir)/src/lib/hooks/libkea-hooks.la if HAVE_PGSQL dhcp6_unittests_LDADD += $(top_builddir)/src/lib/pgsql/testutils/libpgsqltest.la dhcp6_unittests_LDADD += $(top_builddir)/src/lib/pgsql/libkea-pgsql.la -dhcp6_unittests_LDADD += $(top_builddir)/src/hooks/dhcp/pgsql_lb/libpgsqllb.la -dhcp6_unittests_LDADD += $(top_builddir)/src/hooks/dhcp/pgsql_hb/libpgsqlhb.la endif if HAVE_MYSQL dhcp6_unittests_LDADD += $(top_builddir)/src/lib/mysql/testutils/libmysqltest.la dhcp6_unittests_LDADD += $(top_builddir)/src/lib/mysql/libkea-mysql.la -dhcp6_unittests_LDADD += $(top_builddir)/src/hooks/dhcp/mysql_lb/libmysqllb.la -dhcp6_unittests_LDADD += $(top_builddir)/src/hooks/dhcp/mysql_hb/libmysqlhb.la endif dhcp6_unittests_LDADD += $(top_builddir)/src/lib/database/testutils/libdatabasetest.la diff --git a/src/hooks/dhcp/mysql_hb/Makefile.am b/src/hooks/dhcp/mysql_hb/Makefile.am index 18eecd2e63..0e863cf588 100644 --- a/src/hooks/dhcp/mysql_hb/Makefile.am +++ b/src/hooks/dhcp/mysql_hb/Makefile.am @@ -1,4 +1,4 @@ -SUBDIRS = . tests +SUBDIRS = . tests libloadtests AM_CPPFLAGS = -I$(top_builddir)/src/lib -I$(top_srcdir)/src/lib AM_CPPFLAGS += $(BOOST_INCLUDES) @@ -6,27 +6,68 @@ AM_CPPFLAGS += $(MYSQL_CPPFLAGS) AM_CXXFLAGS = $(KEA_CXXFLAGS) +# Ensure that the message file is included in the distribution +EXTRA_DIST = mysql_hb_messages.mes + CLEANFILES = *.gcno *.gcda -lib_LTLIBRARIES = libkea-mysql-host-backend.la +# convenience archive + +noinst_LTLIBRARIES = libmysqlhb.la +libmysqlhb_la_SOURCES = mysql_host_data_source.cc mysql_host_data_source.h + +libmysqlhb_la_CXXFLAGS = $(AM_CXXFLAGS) +libmysqlhb_la_CPPFLAGS = $(AM_CPPFLAGS) + +# install the shared object into $(libdir)/kea/hooks +lib_hooksdir = $(libdir)/kea/hooks +lib_hooks_LTLIBRARIES = libdhcp_mysql_hb.la + +libdhcp_mysql_hb_la_SOURCES = +libdhcp_mysql_hb_la_LDFLAGS = $(AM_LDFLAGS) $(MYSQL_LIBS) +libdhcp_mysql_hb_la_LDFLAGS += -avoid-version -export-dynamic -module + +libdhcp_mysql_hb_la_LIBADD = libmysqlhb.la +libdhcp_mysql_hb_la_LIBADD += $(top_builddir)/src/lib/mysql/libkea-mysql.la +libdhcp_mysql_hb_la_LIBADD += $(top_builddir)/src/lib/database/libkea-database.la +libdhcp_mysql_hb_la_LIBADD += $(top_builddir)/src/lib/cc/libkea-cc.la +libdhcp_mysql_hb_la_LIBADD += $(top_builddir)/src/lib/asiolink/libkea-asiolink.la +libdhcp_mysql_hb_la_LIBADD += $(top_builddir)/src/lib/dns/libkea-dns++.la +libdhcp_mysql_hb_la_LIBADD += $(top_builddir)/src/lib/cryptolink/libkea-cryptolink.la +libdhcp_mysql_hb_la_LIBADD += $(top_builddir)/src/lib/log/libkea-log.la +libdhcp_mysql_hb_la_LIBADD += $(top_builddir)/src/lib/util/libkea-util.la +libdhcp_mysql_hb_la_LIBADD += $(top_builddir)/src/lib/exceptions/libkea-exceptions.la +libdhcp_mysql_hb_la_LIBADD += $(LOG4CPLUS_LIBS) $(CRYPTO_LIBS) $(BOOST_LIBS) + +# If we want to get rid of all generated messages files, we need to use +# make maintainer-clean. The proper way to introduce custom commands for +# that operation is to define maintainer-clean-local target. However, +# make maintainer-clean also removes Makefile, so running configure script +# is required. To make it easy to rebuild messages without going through +# reconfigure, a new target messages-clean has been added. +maintainer-clean-local: + rm -f mysql_hb_messages.h mysql_hb_messages.cc + +# To regenerate messages files, one can do: +# +# make messages-clean +# make messages +# +# This is needed only when a .mes file is modified. +messages-clean: maintainer-clean-local + +if GENERATE_MESSAGES -libkea_mysql_host_backend_la_SOURCES = mysql_host_data_source.cc mysql_host_data_source.h +# Define rule to build logging source files from message file +messages: mysql_hb_messages.h mysql_hb_messages.cc + @echo Message files regenerated -libkea_mysql_host_backend_la_LIBADD = $(top_builddir)/src/lib/mysql/libkea-mysql.la -libkea_mysql_host_backend_la_LIBADD += $(top_builddir)/src/lib/database/libkea-database.la -libkea_mysql_host_backend_la_LIBADD += $(top_builddir)/src/lib/cc/libkea-cc.la -libkea_mysql_host_backend_la_LIBADD += $(top_builddir)/src/lib/asiolink/libkea-asiolink.la -libkea_mysql_host_backend_la_LIBADD += $(top_builddir)/src/lib/dns/libkea-dns++.la -libkea_mysql_host_backend_la_LIBADD += $(top_builddir)/src/lib/cryptolink/libkea-cryptolink.la -libkea_mysql_host_backend_la_LIBADD += $(top_builddir)/src/lib/log/libkea-log.la -libkea_mysql_host_backend_la_LIBADD += $(top_builddir)/src/lib/util/libkea-util.la -libkea_mysql_host_backend_la_LIBADD += $(top_builddir)/src/lib/exceptions/libkea-exceptions.la -libkea_mysql_host_backend_la_LIBADD += $(LOG4CPLUS_LIBS) $(CRYPTO_LIBS) $(BOOST_LIBS) +mysql_hb_messages.h mysql_hb_messages.cc: mysql_hb_messages.mes + $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/hooks/dhcp/mysql_hb/mysql_hb_messages.mes -libkea_mysql_host_backend_la_LDFLAGS = $(MYSQL_LIBS) +else -# Specify the headers for copying into the installation directory tree. -libkea_mysql_host_backend_includedir = $(pkgincludedir)/mysql_host_backend +messages mysql_hb_messages.h mysql_hb_messages.cc: + @echo Messages generation disabled. Configure with --enable-generate-messages to enable it. -libkea_mysql_host_backend_include_HEADERS = \ - mysql_host_data_source.h +endif \ No newline at end of file diff --git a/src/hooks/dhcp/mysql_hb/tests/Makefile.am b/src/hooks/dhcp/mysql_hb/tests/Makefile.am index 83f5dd87d8..7cad00aee8 100644 --- a/src/hooks/dhcp/mysql_hb/tests/Makefile.am +++ b/src/hooks/dhcp/mysql_hb/tests/Makefile.am @@ -1,6 +1,7 @@ SUBDIRS = . AM_CPPFLAGS = -I$(top_builddir)/src/lib -I$(top_srcdir)/src/lib +AM_CPPFLAGS += -I$(top_builddir)/src/hooks/dhcp/mysql_hb -I$(top_srcdir)/src/hooks/dhcp/mysql_hb AM_CPPFLAGS += $(BOOST_INCLUDES) AM_CXXFLAGS = $(KEA_CXXFLAGS) @@ -14,43 +15,43 @@ TESTS_ENVIRONMENT = $(LIBTOOL) --mode=execute $(VALGRIND_COMMAND) TESTS = if HAVE_GTEST -TESTS += libmysql_host_backend_unittests - -libmysql_host_backend_unittests_SOURCES = run_unittests.cc -libmysql_host_backend_unittests_SOURCES += mysql_host_data_source_unittest.cc - -libmysql_host_backend_unittests_CPPFLAGS = $(AM_CPPFLAGS) $(GTEST_INCLUDES) -libmysql_host_backend_unittests_CPPFLAGS += $(MYSQL_CPPFLAGS) - -libmysql_host_backend_unittests_CXXFLAGS = $(AM_CXXFLAGS) - -libmysql_host_backend_unittests_LDFLAGS = $(AM_LDFLAGS) $(CRYPTO_LDFLAGS) $(GTEST_LDFLAGS) -libmysql_host_backend_unittests_LDFLAGS += $(MYSQL_LIBS) - -libmysql_host_backend_unittests_LDADD = $(top_builddir)/src/lib/mysql_host_backend/libkea-mysql-host-backend.la -libmysql_host_backend_unittests_LDADD += $(top_builddir)/src/lib/dhcpsrv/testutils/libdhcpsrvtest.la -libmysql_host_backend_unittests_LDADD += $(top_builddir)/src/lib/dhcpsrv/libkea-dhcpsrv.la -libmysql_host_backend_unittests_LDADD += $(top_builddir)/src/lib/process/libkea-process.la -libmysql_host_backend_unittests_LDADD += $(top_builddir)/src/lib/eval/libkea-eval.la -libmysql_host_backend_unittests_LDADD += $(top_builddir)/src/lib/dhcp_ddns/libkea-dhcp_ddns.la -libmysql_host_backend_unittests_LDADD += $(top_builddir)/src/lib/stats/libkea-stats.la -libmysql_host_backend_unittests_LDADD += $(top_builddir)/src/lib/config/libkea-cfgclient.la -libmysql_host_backend_unittests_LDADD += $(top_builddir)/src/lib/http/libkea-http.la -libmysql_host_backend_unittests_LDADD += $(top_builddir)/src/lib/dhcp/testutils/libdhcptest.la -libmysql_host_backend_unittests_LDADD += $(top_builddir)/src/lib/dhcp/libkea-dhcp++.la -libmysql_host_backend_unittests_LDADD += $(top_builddir)/src/lib/hooks/libkea-hooks.la -libmysql_host_backend_unittests_LDADD += $(top_builddir)/src/lib/mysql/testutils/libmysqltest.la -libmysql_host_backend_unittests_LDADD += $(top_builddir)/src/lib/mysql/libkea-mysql.la -libmysql_host_backend_unittests_LDADD += $(top_builddir)/src/lib/database/libkea-database.la -libmysql_host_backend_unittests_LDADD += $(top_builddir)/src/lib/cc/libkea-cc.la -libmysql_host_backend_unittests_LDADD += $(top_builddir)/src/lib/asiolink/libkea-asiolink.la -libmysql_host_backend_unittests_LDADD += $(top_builddir)/src/lib/dns/libkea-dns++.la -libmysql_host_backend_unittests_LDADD += $(top_builddir)/src/lib/cryptolink/libkea-cryptolink.la -libmysql_host_backend_unittests_LDADD += $(top_builddir)/src/lib/log/libkea-log.la -libmysql_host_backend_unittests_LDADD += $(top_builddir)/src/lib/util/unittests/libutil_unittests.la -libmysql_host_backend_unittests_LDADD += $(top_builddir)/src/lib/util/libkea-util.la -libmysql_host_backend_unittests_LDADD += $(top_builddir)/src/lib/exceptions/libkea-exceptions.la -libmysql_host_backend_unittests_LDADD += $(LOG4CPLUS_LIBS) $(CRYPTO_LIBS) $(BOOST_LIBS) $(GTEST_LDADD) +TESTS += mysql_hb_unittests + +mysql_hb_unittests_SOURCES = run_unittests.cc +mysql_hb_unittests_SOURCES += mysql_host_data_source_unittest.cc + +mysql_hb_unittests_CPPFLAGS = $(AM_CPPFLAGS) $(GTEST_INCLUDES) +mysql_hb_unittests_CPPFLAGS += $(MYSQL_CPPFLAGS) + +mysql_hb_unittests_CXXFLAGS = $(AM_CXXFLAGS) + +mysql_hb_unittests_LDFLAGS = $(AM_LDFLAGS) $(CRYPTO_LDFLAGS) $(GTEST_LDFLAGS) +mysql_hb_unittests_LDFLAGS += $(MYSQL_LIBS) + +mysql_hb_unittests_LDADD = $(top_builddir)/src/hooks/dhcp/mysql_hb/libmysqlhb.la +mysql_hb_unittests_LDADD += $(top_builddir)/src/lib/dhcpsrv/testutils/libdhcpsrvtest.la +mysql_hb_unittests_LDADD += $(top_builddir)/src/lib/dhcpsrv/libkea-dhcpsrv.la +mysql_hb_unittests_LDADD += $(top_builddir)/src/lib/process/libkea-process.la +mysql_hb_unittests_LDADD += $(top_builddir)/src/lib/eval/libkea-eval.la +mysql_hb_unittests_LDADD += $(top_builddir)/src/lib/dhcp_ddns/libkea-dhcp_ddns.la +mysql_hb_unittests_LDADD += $(top_builddir)/src/lib/stats/libkea-stats.la +mysql_hb_unittests_LDADD += $(top_builddir)/src/lib/config/libkea-cfgclient.la +mysql_hb_unittests_LDADD += $(top_builddir)/src/lib/http/libkea-http.la +mysql_hb_unittests_LDADD += $(top_builddir)/src/lib/dhcp/testutils/libdhcptest.la +mysql_hb_unittests_LDADD += $(top_builddir)/src/lib/dhcp/libkea-dhcp++.la +mysql_hb_unittests_LDADD += $(top_builddir)/src/lib/hooks/libkea-hooks.la +mysql_hb_unittests_LDADD += $(top_builddir)/src/lib/mysql/testutils/libmysqltest.la +mysql_hb_unittests_LDADD += $(top_builddir)/src/lib/mysql/libkea-mysql.la +mysql_hb_unittests_LDADD += $(top_builddir)/src/lib/database/libkea-database.la +mysql_hb_unittests_LDADD += $(top_builddir)/src/lib/cc/libkea-cc.la +mysql_hb_unittests_LDADD += $(top_builddir)/src/lib/asiolink/libkea-asiolink.la +mysql_hb_unittests_LDADD += $(top_builddir)/src/lib/dns/libkea-dns++.la +mysql_hb_unittests_LDADD += $(top_builddir)/src/lib/cryptolink/libkea-cryptolink.la +mysql_hb_unittests_LDADD += $(top_builddir)/src/lib/log/libkea-log.la +mysql_hb_unittests_LDADD += $(top_builddir)/src/lib/util/unittests/libutil_unittests.la +mysql_hb_unittests_LDADD += $(top_builddir)/src/lib/util/libkea-util.la +mysql_hb_unittests_LDADD += $(top_builddir)/src/lib/exceptions/libkea-exceptions.la +mysql_hb_unittests_LDADD += $(LOG4CPLUS_LIBS) $(CRYPTO_LIBS) $(BOOST_LIBS) $(GTEST_LDADD) endif -noinst_PROGRAMS = $(TESTS) +noinst_PROGRAMS = $(TESTS) \ No newline at end of file diff --git a/src/hooks/dhcp/mysql_lb/Makefile.am b/src/hooks/dhcp/mysql_lb/Makefile.am index 0a1ca53df3..8ccf7fea9c 100644 --- a/src/hooks/dhcp/mysql_lb/Makefile.am +++ b/src/hooks/dhcp/mysql_lb/Makefile.am @@ -1,4 +1,4 @@ -SUBDIRS = . tests +SUBDIRS = . tests libloadtests AM_CPPFLAGS = -I$(top_builddir)/src/lib -I$(top_srcdir)/src/lib AM_CPPFLAGS += $(BOOST_INCLUDES) @@ -6,27 +6,68 @@ AM_CPPFLAGS += $(MYSQL_CPPFLAGS) AM_CXXFLAGS = $(KEA_CXXFLAGS) +# Ensure that the message file is included in the distribution +EXTRA_DIST = mysql_lb_messages.mes + CLEANFILES = *.gcno *.gcda -lib_LTLIBRARIES = libkea-mysql-lease-backend.la +# convenience archive + +noinst_LTLIBRARIES = libmysqllb.la +libmysqllb_la_SOURCES = mysql_lease_mgr.cc mysql_lease_mgr.h + +libmysqllb_la_CXXFLAGS = $(AM_CXXFLAGS) +libmysqllb_la_CPPFLAGS = $(AM_CPPFLAGS) + +# install the shared object into $(libdir)/kea/hooks +lib_hooksdir = $(libdir)/kea/hooks +lib_hooks_LTLIBRARIES = libdhcp_mysql_lb.la + +libdhcp_mysql_lb_la_SOURCES = +libdhcp_mysql_lb_la_LDFLAGS = $(AM_LDFLAGS) $(MYSQL_LIBS) +libdhcp_mysql_lb_la_LDFLAGS += -avoid-version -export-dynamic -module + +libdhcp_mysql_lb_la_LIBADD = libmysqllb.la +libdhcp_mysql_lb_la_LIBADD += $(top_builddir)/src/lib/mysql/libkea-mysql.la +libdhcp_mysql_lb_la_LIBADD += $(top_builddir)/src/lib/database/libkea-database.la +libdhcp_mysql_lb_la_LIBADD += $(top_builddir)/src/lib/cc/libkea-cc.la +libdhcp_mysql_lb_la_LIBADD += $(top_builddir)/src/lib/asiolink/libkea-asiolink.la +libdhcp_mysql_lb_la_LIBADD += $(top_builddir)/src/lib/dns/libkea-dns++.la +libdhcp_mysql_lb_la_LIBADD += $(top_builddir)/src/lib/cryptolink/libkea-cryptolink.la +libdhcp_mysql_lb_la_LIBADD += $(top_builddir)/src/lib/log/libkea-log.la +libdhcp_mysql_lb_la_LIBADD += $(top_builddir)/src/lib/util/libkea-util.la +libdhcp_mysql_lb_la_LIBADD += $(top_builddir)/src/lib/exceptions/libkea-exceptions.la +libdhcp_mysql_lb_la_LIBADD += $(LOG4CPLUS_LIBS) $(CRYPTO_LIBS) $(BOOST_LIBS) + +# If we want to get rid of all generated messages files, we need to use +# make maintainer-clean. The proper way to introduce custom commands for +# that operation is to define maintainer-clean-local target. However, +# make maintainer-clean also removes Makefile, so running configure script +# is required. To make it easy to rebuild messages without going through +# reconfigure, a new target messages-clean has been added. +maintainer-clean-local: + rm -f mysql_lb_messages.h mysql_lb_messages.cc + +# To regenerate messages files, one can do: +# +# make messages-clean +# make messages +# +# This is needed only when a .mes file is modified. +messages-clean: maintainer-clean-local + +if GENERATE_MESSAGES -libkea_mysql_lease_backend_la_SOURCES = mysql_lease_mgr.cc mysql_lease_mgr.h +# Define rule to build logging source files from message file +messages: mysql_lb_messages.h mysql_lb_messages.cc + @echo Message files regenerated -libkea_mysql_lease_backend_la_LIBADD = $(top_builddir)/src/lib/mysql/libkea-mysql.la -libkea_mysql_lease_backend_la_LIBADD += $(top_builddir)/src/lib/database/libkea-database.la -libkea_mysql_lease_backend_la_LIBADD += $(top_builddir)/src/lib/cc/libkea-cc.la -libkea_mysql_lease_backend_la_LIBADD += $(top_builddir)/src/lib/asiolink/libkea-asiolink.la -libkea_mysql_lease_backend_la_LIBADD += $(top_builddir)/src/lib/dns/libkea-dns++.la -libkea_mysql_lease_backend_la_LIBADD += $(top_builddir)/src/lib/cryptolink/libkea-cryptolink.la -libkea_mysql_lease_backend_la_LIBADD += $(top_builddir)/src/lib/log/libkea-log.la -libkea_mysql_lease_backend_la_LIBADD += $(top_builddir)/src/lib/util/libkea-util.la -libkea_mysql_lease_backend_la_LIBADD += $(top_builddir)/src/lib/exceptions/libkea-exceptions.la -libkea_mysql_lease_backend_la_LIBADD += $(LOG4CPLUS_LIBS) $(CRYPTO_LIBS) $(BOOST_LIBS) +mysql_lb_messages.h mysql_lb_messages.cc: mysql_lb_messages.mes + $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/hooks/dhcp/mysql_lb/mysql_lb_messages.mes -libkea_mysql_lease_backend_la_LDFLAGS = $(MYSQL_LIBS) +else -# Specify the headers for copying into the installation directory tree. -libkea_mysql_lease_backend_includedir = $(pkgincludedir)/mysql_lease_backend +messages mysql_lb_messages.h mysql_lb_messages.cc: + @echo Messages generation disabled. Configure with --enable-generate-messages to enable it. -libkea_mysql_lease_backend_include_HEADERS = \ - mysql_lease_mgr.h +endif \ No newline at end of file diff --git a/src/hooks/dhcp/mysql_lb/tests/Makefile.am b/src/hooks/dhcp/mysql_lb/tests/Makefile.am index e94db7edd2..ec1d9ffe82 100644 --- a/src/hooks/dhcp/mysql_lb/tests/Makefile.am +++ b/src/hooks/dhcp/mysql_lb/tests/Makefile.am @@ -1,6 +1,7 @@ SUBDIRS = . AM_CPPFLAGS = -I$(top_builddir)/src/lib -I$(top_srcdir)/src/lib +AM_CPPFLAGS += -I$(top_builddir)/src/hooks/dhcp/mysql_lb -I$(top_srcdir)/src/hooks/dhcp/mysql_lb AM_CPPFLAGS += $(BOOST_INCLUDES) AM_CXXFLAGS = $(KEA_CXXFLAGS) @@ -14,45 +15,45 @@ TESTS_ENVIRONMENT = $(LIBTOOL) --mode=execute $(VALGRIND_COMMAND) TESTS = if HAVE_GTEST -TESTS += libmysql_lease_backend_unittests - -libmysql_lease_backend_unittests_SOURCES = run_unittests.cc -libmysql_lease_backend_unittests_SOURCES += mysql_lease_mgr_unittest.cc -libmysql_lease_backend_unittests_SOURCES += mysql_lease_extended_info_unittest.cc -libmysql_lease_backend_unittests_SOURCES += mysql_bootp_unittest.cc - -libmysql_lease_backend_unittests_CPPFLAGS = $(AM_CPPFLAGS) $(GTEST_INCLUDES) -libmysql_lease_backend_unittests_CPPFLAGS += $(MYSQL_CPPFLAGS) - -libmysql_lease_backend_unittests_CXXFLAGS = $(AM_CXXFLAGS) - -libmysql_lease_backend_unittests_LDFLAGS = $(AM_LDFLAGS) $(CRYPTO_LDFLAGS) $(GTEST_LDFLAGS) -libmysql_lease_backend_unittests_LDFLAGS += $(MYSQL_LIBS) - -libmysql_lease_backend_unittests_LDADD = $(top_builddir)/src/lib/mysql_lease_backend/libkea-mysql-lease-backend.la -libmysql_lease_backend_unittests_LDADD += $(top_builddir)/src/lib/dhcpsrv/testutils/libdhcpsrvtest.la -libmysql_lease_backend_unittests_LDADD += $(top_builddir)/src/lib/dhcpsrv/libkea-dhcpsrv.la -libmysql_lease_backend_unittests_LDADD += $(top_builddir)/src/lib/process/libkea-process.la -libmysql_lease_backend_unittests_LDADD += $(top_builddir)/src/lib/eval/libkea-eval.la -libmysql_lease_backend_unittests_LDADD += $(top_builddir)/src/lib/dhcp_ddns/libkea-dhcp_ddns.la -libmysql_lease_backend_unittests_LDADD += $(top_builddir)/src/lib/stats/libkea-stats.la -libmysql_lease_backend_unittests_LDADD += $(top_builddir)/src/lib/config/libkea-cfgclient.la -libmysql_lease_backend_unittests_LDADD += $(top_builddir)/src/lib/http/libkea-http.la -libmysql_lease_backend_unittests_LDADD += $(top_builddir)/src/lib/dhcp/testutils/libdhcptest.la -libmysql_lease_backend_unittests_LDADD += $(top_builddir)/src/lib/dhcp/libkea-dhcp++.la -libmysql_lease_backend_unittests_LDADD += $(top_builddir)/src/lib/hooks/libkea-hooks.la -libmysql_lease_backend_unittests_LDADD += $(top_builddir)/src/lib/mysql/testutils/libmysqltest.la -libmysql_lease_backend_unittests_LDADD += $(top_builddir)/src/lib/mysql/libkea-mysql.la -libmysql_lease_backend_unittests_LDADD += $(top_builddir)/src/lib/database/libkea-database.la -libmysql_lease_backend_unittests_LDADD += $(top_builddir)/src/lib/cc/libkea-cc.la -libmysql_lease_backend_unittests_LDADD += $(top_builddir)/src/lib/asiolink/libkea-asiolink.la -libmysql_lease_backend_unittests_LDADD += $(top_builddir)/src/lib/dns/libkea-dns++.la -libmysql_lease_backend_unittests_LDADD += $(top_builddir)/src/lib/cryptolink/libkea-cryptolink.la -libmysql_lease_backend_unittests_LDADD += $(top_builddir)/src/lib/log/libkea-log.la -libmysql_lease_backend_unittests_LDADD += $(top_builddir)/src/lib/util/unittests/libutil_unittests.la -libmysql_lease_backend_unittests_LDADD += $(top_builddir)/src/lib/util/libkea-util.la -libmysql_lease_backend_unittests_LDADD += $(top_builddir)/src/lib/exceptions/libkea-exceptions.la -libmysql_lease_backend_unittests_LDADD += $(LOG4CPLUS_LIBS) $(CRYPTO_LIBS) $(BOOST_LIBS) $(GTEST_LDADD) +TESTS += mysql_lb_unittests + +mysql_lb_unittests_SOURCES = run_unittests.cc +mysql_lb_unittests_SOURCES += mysql_lease_mgr_unittest.cc +mysql_lb_unittests_SOURCES += mysql_lease_extended_info_unittest.cc +mysql_lb_unittests_SOURCES += mysql_bootp_unittest.cc + +mysql_lb_unittests_CPPFLAGS = $(AM_CPPFLAGS) $(GTEST_INCLUDES) +mysql_lb_unittests_CPPFLAGS += $(MYSQL_CPPFLAGS) + +mysql_lb_unittests_CXXFLAGS = $(AM_CXXFLAGS) + +mysql_lb_unittests_LDFLAGS = $(AM_LDFLAGS) $(CRYPTO_LDFLAGS) $(GTEST_LDFLAGS) +mysql_lb_unittests_LDFLAGS += $(MYSQL_LIBS) + +mysql_lb_unittests_LDADD = $(top_builddir)/src/hooks/dhcp/mysql_lb/libmysqllb.la +mysql_lb_unittests_LDADD += $(top_builddir)/src/lib/dhcpsrv/testutils/libdhcpsrvtest.la +mysql_lb_unittests_LDADD += $(top_builddir)/src/lib/dhcpsrv/libkea-dhcpsrv.la +mysql_lb_unittests_LDADD += $(top_builddir)/src/lib/process/libkea-process.la +mysql_lb_unittests_LDADD += $(top_builddir)/src/lib/eval/libkea-eval.la +mysql_lb_unittests_LDADD += $(top_builddir)/src/lib/dhcp_ddns/libkea-dhcp_ddns.la +mysql_lb_unittests_LDADD += $(top_builddir)/src/lib/stats/libkea-stats.la +mysql_lb_unittests_LDADD += $(top_builddir)/src/lib/config/libkea-cfgclient.la +mysql_lb_unittests_LDADD += $(top_builddir)/src/lib/http/libkea-http.la +mysql_lb_unittests_LDADD += $(top_builddir)/src/lib/dhcp/testutils/libdhcptest.la +mysql_lb_unittests_LDADD += $(top_builddir)/src/lib/dhcp/libkea-dhcp++.la +mysql_lb_unittests_LDADD += $(top_builddir)/src/lib/hooks/libkea-hooks.la +mysql_lb_unittests_LDADD += $(top_builddir)/src/lib/mysql/testutils/libmysqltest.la +mysql_lb_unittests_LDADD += $(top_builddir)/src/lib/mysql/libkea-mysql.la +mysql_lb_unittests_LDADD += $(top_builddir)/src/lib/database/libkea-database.la +mysql_lb_unittests_LDADD += $(top_builddir)/src/lib/cc/libkea-cc.la +mysql_lb_unittests_LDADD += $(top_builddir)/src/lib/asiolink/libkea-asiolink.la +mysql_lb_unittests_LDADD += $(top_builddir)/src/lib/dns/libkea-dns++.la +mysql_lb_unittests_LDADD += $(top_builddir)/src/lib/cryptolink/libkea-cryptolink.la +mysql_lb_unittests_LDADD += $(top_builddir)/src/lib/log/libkea-log.la +mysql_lb_unittests_LDADD += $(top_builddir)/src/lib/util/unittests/libutil_unittests.la +mysql_lb_unittests_LDADD += $(top_builddir)/src/lib/util/libkea-util.la +mysql_lb_unittests_LDADD += $(top_builddir)/src/lib/exceptions/libkea-exceptions.la +mysql_lb_unittests_LDADD += $(LOG4CPLUS_LIBS) $(CRYPTO_LIBS) $(BOOST_LIBS) $(GTEST_LDADD) endif -noinst_PROGRAMS = $(TESTS) +noinst_PROGRAMS = $(TESTS) \ No newline at end of file diff --git a/src/hooks/dhcp/pgsql_hb/Makefile.am b/src/hooks/dhcp/pgsql_hb/Makefile.am index a181c3dc15..370a4515de 100644 --- a/src/hooks/dhcp/pgsql_hb/Makefile.am +++ b/src/hooks/dhcp/pgsql_hb/Makefile.am @@ -1,4 +1,4 @@ -SUBDIRS = . tests +SUBDIRS = . tests libloadtests AM_CPPFLAGS = -I$(top_builddir)/src/lib -I$(top_srcdir)/src/lib AM_CPPFLAGS += $(BOOST_INCLUDES) @@ -6,27 +6,68 @@ AM_CPPFLAGS += $(PGSQL_CPPFLAGS) AM_CXXFLAGS = $(KEA_CXXFLAGS) +# Ensure that the message file is included in the distribution +EXTRA_DIST = pgsql_hb_messages.mes + CLEANFILES = *.gcno *.gcda -lib_LTLIBRARIES = libkea-pgsql-host-backend.la +# convenience archive + +noinst_LTLIBRARIES = libpgsqlhb.la +libpgsqlhb_la_SOURCES = pgsql_host_data_source.cc pgsql_host_data_source.h + +libpgsqlhb_la_CXXFLAGS = $(AM_CXXFLAGS) +libpgsqlhb_la_CPPFLAGS = $(AM_CPPFLAGS) + +# install the shared object into $(libdir)/kea/hooks +lib_hooksdir = $(libdir)/kea/hooks +lib_hooks_LTLIBRARIES = libdhcp_pgsql_hb.la + +libdhcp_pgsql_hb_la_SOURCES = +libdhcp_pgsql_hb_la_LDFLAGS = $(AM_LDFLAGS) $(MYSQL_LIBS) +libdhcp_pgsql_hb_la_LDFLAGS += -avoid-version -export-dynamic -module + +libdhcp_pgsql_hb_la_LIBADD = libpgsqlhb.la +libdhcp_pgsql_hb_la_LIBADD += $(top_builddir)/src/lib/pgsql/libkea-pgsql.la +libdhcp_pgsql_hb_la_LIBADD += $(top_builddir)/src/lib/database/libkea-database.la +libdhcp_pgsql_hb_la_LIBADD += $(top_builddir)/src/lib/cc/libkea-cc.la +libdhcp_pgsql_hb_la_LIBADD += $(top_builddir)/src/lib/asiolink/libkea-asiolink.la +libdhcp_pgsql_hb_la_LIBADD += $(top_builddir)/src/lib/dns/libkea-dns++.la +libdhcp_pgsql_hb_la_LIBADD += $(top_builddir)/src/lib/cryptolink/libkea-cryptolink.la +libdhcp_pgsql_hb_la_LIBADD += $(top_builddir)/src/lib/log/libkea-log.la +libdhcp_pgsql_hb_la_LIBADD += $(top_builddir)/src/lib/util/libkea-util.la +libdhcp_pgsql_hb_la_LIBADD += $(top_builddir)/src/lib/exceptions/libkea-exceptions.la +libdhcp_pgsql_hb_la_LIBADD += $(LOG4CPLUS_LIBS) $(CRYPTO_LIBS) $(BOOST_LIBS) + +# If we want to get rid of all generated messages files, we need to use +# make maintainer-clean. The proper way to introduce custom commands for +# that operation is to define maintainer-clean-local target. However, +# make maintainer-clean also removes Makefile, so running configure script +# is required. To make it easy to rebuild messages without going through +# reconfigure, a new target messages-clean has been added. +maintainer-clean-local: + rm -f pgsql_hb_messages.h pgsql_hb_messages.cc + +# To regenerate messages files, one can do: +# +# make messages-clean +# make messages +# +# This is needed only when a .mes file is modified. +messages-clean: maintainer-clean-local + +if GENERATE_MESSAGES -libkea_pgsql_host_backend_la_SOURCES = pgsql_host_data_source.cc pgsql_host_data_source.h +# Define rule to build logging source files from message file +messages: pgsql_hb_messages.h pgsql_hb_messages.cc + @echo Message files regenerated -libkea_pgsql_host_backend_la_LIBADD = $(top_builddir)/src/lib/pgsql/libkea-pgsql.la -libkea_pgsql_host_backend_la_LIBADD += $(top_builddir)/src/lib/database/libkea-database.la -libkea_pgsql_host_backend_la_LIBADD += $(top_builddir)/src/lib/cc/libkea-cc.la -libkea_pgsql_host_backend_la_LIBADD += $(top_builddir)/src/lib/asiolink/libkea-asiolink.la -libkea_pgsql_host_backend_la_LIBADD += $(top_builddir)/src/lib/dns/libkea-dns++.la -libkea_pgsql_host_backend_la_LIBADD += $(top_builddir)/src/lib/cryptolink/libkea-cryptolink.la -libkea_pgsql_host_backend_la_LIBADD += $(top_builddir)/src/lib/log/libkea-log.la -libkea_pgsql_host_backend_la_LIBADD += $(top_builddir)/src/lib/util/libkea-util.la -libkea_pgsql_host_backend_la_LIBADD += $(top_builddir)/src/lib/exceptions/libkea-exceptions.la -libkea_pgsql_host_backend_la_LIBADD += $(LOG4CPLUS_LIBS) $(CRYPTO_LIBS) $(BOOST_LIBS) +pgsql_hb_messages.h pgsql_hb_messages.cc: pgsql_hb_messages.mes + $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/hooks/dhcp/pgsql_hb/pgsql_hb_messages.mes -libkea_pgsql_host_backend_la_LDFLAGS = $(PGSQL_LIBS) +else -# Specify the headers for copying into the installation directory tree. -libkea_pgsql_host_backend_includedir = $(pkgincludedir)/pgsql_host_backend +messages pgsql_hb_messages.h pgsql_hb_messages.cc: + @echo Messages generation disabled. Configure with --enable-generate-messages to enable it. -libkea_pgsql_host_backend_include_HEADERS = \ - pgsql_host_data_source.h +endif \ No newline at end of file diff --git a/src/hooks/dhcp/pgsql_hb/tests/Makefile.am b/src/hooks/dhcp/pgsql_hb/tests/Makefile.am index 2fd06c8a5f..a798fff7f3 100644 --- a/src/hooks/dhcp/pgsql_hb/tests/Makefile.am +++ b/src/hooks/dhcp/pgsql_hb/tests/Makefile.am @@ -1,6 +1,7 @@ SUBDIRS = . AM_CPPFLAGS = -I$(top_builddir)/src/lib -I$(top_srcdir)/src/lib +AM_CPPFLAGS += -I$(top_builddir)/src/hooks/dhcp/pgsql_hb -I$(top_srcdir)/src/hooks/dhcp/pgsql_hb AM_CPPFLAGS += $(BOOST_INCLUDES) AM_CXXFLAGS = $(KEA_CXXFLAGS) @@ -14,43 +15,43 @@ TESTS_ENVIRONMENT = $(LIBTOOL) --mode=execute $(VALGRIND_COMMAND) TESTS = if HAVE_GTEST -TESTS += libpgsql_host_backend_unittests - -libpgsql_host_backend_unittests_SOURCES = run_unittests.cc -libpgsql_host_backend_unittests_SOURCES += pgsql_host_data_source_unittest.cc - -libpgsql_host_backend_unittests_CPPFLAGS = $(AM_CPPFLAGS) $(GTEST_INCLUDES) -libpgsql_host_backend_unittests_CPPFLAGS += $(PGSQL_CPPFLAGS) - -libpgsql_host_backend_unittests_CXXFLAGS = $(AM_CXXFLAGS) - -libpgsql_host_backend_unittests_LDFLAGS = $(AM_LDFLAGS) $(CRYPTO_LDFLAGS) $(GTEST_LDFLAGS) -libpgsql_host_backend_unittests_LDFLAGS += $(PGSQL_LIBS) - -libpgsql_host_backend_unittests_LDADD = $(top_builddir)/src/lib/pgsql_host_backend/libkea-pgsql-host-backend.la -libpgsql_host_backend_unittests_LDADD += $(top_builddir)/src/lib/dhcpsrv/testutils/libdhcpsrvtest.la -libpgsql_host_backend_unittests_LDADD += $(top_builddir)/src/lib/dhcpsrv/libkea-dhcpsrv.la -libpgsql_host_backend_unittests_LDADD += $(top_builddir)/src/lib/process/libkea-process.la -libpgsql_host_backend_unittests_LDADD += $(top_builddir)/src/lib/eval/libkea-eval.la -libpgsql_host_backend_unittests_LDADD += $(top_builddir)/src/lib/dhcp_ddns/libkea-dhcp_ddns.la -libpgsql_host_backend_unittests_LDADD += $(top_builddir)/src/lib/stats/libkea-stats.la -libpgsql_host_backend_unittests_LDADD += $(top_builddir)/src/lib/config/libkea-cfgclient.la -libpgsql_host_backend_unittests_LDADD += $(top_builddir)/src/lib/http/libkea-http.la -libpgsql_host_backend_unittests_LDADD += $(top_builddir)/src/lib/dhcp/testutils/libdhcptest.la -libpgsql_host_backend_unittests_LDADD += $(top_builddir)/src/lib/dhcp/libkea-dhcp++.la -libpgsql_host_backend_unittests_LDADD += $(top_builddir)/src/lib/hooks/libkea-hooks.la -libpgsql_host_backend_unittests_LDADD += $(top_builddir)/src/lib/pgsql/testutils/libpgsqltest.la -libpgsql_host_backend_unittests_LDADD += $(top_builddir)/src/lib/pgsql/libkea-pgsql.la -libpgsql_host_backend_unittests_LDADD += $(top_builddir)/src/lib/database/libkea-database.la -libpgsql_host_backend_unittests_LDADD += $(top_builddir)/src/lib/cc/libkea-cc.la -libpgsql_host_backend_unittests_LDADD += $(top_builddir)/src/lib/asiolink/libkea-asiolink.la -libpgsql_host_backend_unittests_LDADD += $(top_builddir)/src/lib/dns/libkea-dns++.la -libpgsql_host_backend_unittests_LDADD += $(top_builddir)/src/lib/cryptolink/libkea-cryptolink.la -libpgsql_host_backend_unittests_LDADD += $(top_builddir)/src/lib/log/libkea-log.la -libpgsql_host_backend_unittests_LDADD += $(top_builddir)/src/lib/util/unittests/libutil_unittests.la -libpgsql_host_backend_unittests_LDADD += $(top_builddir)/src/lib/util/libkea-util.la -libpgsql_host_backend_unittests_LDADD += $(top_builddir)/src/lib/exceptions/libkea-exceptions.la -libpgsql_host_backend_unittests_LDADD += $(LOG4CPLUS_LIBS) $(CRYPTO_LIBS) $(BOOST_LIBS) $(GTEST_LDADD) +TESTS += pgsql_hb_unittests + +pgsql_hb_unittests_SOURCES = run_unittests.cc +pgsql_hb_unittests_SOURCES += pgsql_host_data_source_unittest.cc + +pgsql_hb_unittests_CPPFLAGS = $(AM_CPPFLAGS) $(GTEST_INCLUDES) +pgsql_hb_unittests_CPPFLAGS += $(PGSQL_CPPFLAGS) + +pgsql_hb_unittests_CXXFLAGS = $(AM_CXXFLAGS) + +pgsql_hb_unittests_LDFLAGS = $(AM_LDFLAGS) $(CRYPTO_LDFLAGS) $(GTEST_LDFLAGS) +pgsql_hb_unittests_LDFLAGS += $(PGSQL_LIBS) + +pgsql_hb_unittests_LDADD = $(top_builddir)/src/hooks/dhcp/pgsql_hb/libpgsqlhb.la +pgsql_hb_unittests_LDADD += $(top_builddir)/src/lib/dhcpsrv/testutils/libdhcpsrvtest.la +pgsql_hb_unittests_LDADD += $(top_builddir)/src/lib/dhcpsrv/libkea-dhcpsrv.la +pgsql_hb_unittests_LDADD += $(top_builddir)/src/lib/process/libkea-process.la +pgsql_hb_unittests_LDADD += $(top_builddir)/src/lib/eval/libkea-eval.la +pgsql_hb_unittests_LDADD += $(top_builddir)/src/lib/dhcp_ddns/libkea-dhcp_ddns.la +pgsql_hb_unittests_LDADD += $(top_builddir)/src/lib/stats/libkea-stats.la +pgsql_hb_unittests_LDADD += $(top_builddir)/src/lib/config/libkea-cfgclient.la +pgsql_hb_unittests_LDADD += $(top_builddir)/src/lib/http/libkea-http.la +pgsql_hb_unittests_LDADD += $(top_builddir)/src/lib/dhcp/testutils/libdhcptest.la +pgsql_hb_unittests_LDADD += $(top_builddir)/src/lib/dhcp/libkea-dhcp++.la +pgsql_hb_unittests_LDADD += $(top_builddir)/src/lib/hooks/libkea-hooks.la +pgsql_hb_unittests_LDADD += $(top_builddir)/src/lib/pgsql/testutils/libpgsqltest.la +pgsql_hb_unittests_LDADD += $(top_builddir)/src/lib/pgsql/libkea-pgsql.la +pgsql_hb_unittests_LDADD += $(top_builddir)/src/lib/database/libkea-database.la +pgsql_hb_unittests_LDADD += $(top_builddir)/src/lib/cc/libkea-cc.la +pgsql_hb_unittests_LDADD += $(top_builddir)/src/lib/asiolink/libkea-asiolink.la +pgsql_hb_unittests_LDADD += $(top_builddir)/src/lib/dns/libkea-dns++.la +pgsql_hb_unittests_LDADD += $(top_builddir)/src/lib/cryptolink/libkea-cryptolink.la +pgsql_hb_unittests_LDADD += $(top_builddir)/src/lib/log/libkea-log.la +pgsql_hb_unittests_LDADD += $(top_builddir)/src/lib/util/unittests/libutil_unittests.la +pgsql_hb_unittests_LDADD += $(top_builddir)/src/lib/util/libkea-util.la +pgsql_hb_unittests_LDADD += $(top_builddir)/src/lib/exceptions/libkea-exceptions.la +pgsql_hb_unittests_LDADD += $(LOG4CPLUS_LIBS) $(CRYPTO_LIBS) $(BOOST_LIBS) $(GTEST_LDADD) endif noinst_PROGRAMS = $(TESTS) \ No newline at end of file diff --git a/src/hooks/dhcp/pgsql_hb/tests/pgsql_host_data_source_unittest.cc b/src/hooks/dhcp/pgsql_hb/tests/pgsql_host_data_source_unittest.cc index dc0eb4bae4..0c362dd9ad 100644 --- a/src/hooks/dhcp/pgsql_hb/tests/pgsql_host_data_source_unittest.cc +++ b/src/hooks/dhcp/pgsql_hb/tests/pgsql_host_data_source_unittest.cc @@ -1822,7 +1822,7 @@ TEST_F(PgSQLHostMgrDbLostCallbackTest, testDbLostAndFailedAfterTimeoutCallbackMu testDbLostAndFailedAfterTimeoutCallback(); } -/// @brief Test fixture class for testing @ref CfgDbAccessTest using PgSQL +/// @brief Test fixture class for testing @ref CfgDbAccessTest using PostgreSQL /// backend. class CfgPgSqlDbAccessTest : public ::testing::Test { public: diff --git a/src/hooks/dhcp/pgsql_lb/Makefile.am b/src/hooks/dhcp/pgsql_lb/Makefile.am index 8e7eefc8b0..6ef7c7c2bc 100644 --- a/src/hooks/dhcp/pgsql_lb/Makefile.am +++ b/src/hooks/dhcp/pgsql_lb/Makefile.am @@ -1,4 +1,4 @@ -SUBDIRS = . tests +SUBDIRS = . tests libloadtests AM_CPPFLAGS = -I$(top_builddir)/src/lib -I$(top_srcdir)/src/lib AM_CPPFLAGS += $(BOOST_INCLUDES) @@ -6,27 +6,68 @@ AM_CPPFLAGS += $(PGSQL_CPPFLAGS) AM_CXXFLAGS = $(KEA_CXXFLAGS) +# Ensure that the message file is included in the distribution +EXTRA_DIST = pgsql_lb_messages.mes + CLEANFILES = *.gcno *.gcda -lib_LTLIBRARIES = libkea-pgsql-lease-backend.la +# convenience archive + +noinst_LTLIBRARIES = libpgsqllb.la +libpgsqllb_la_SOURCES = pgsql_lease_mgr.cc pgsql_lease_mgr.h + +libpgsqllb_la_CXXFLAGS = $(AM_CXXFLAGS) +libpgsqllb_la_CPPFLAGS = $(AM_CPPFLAGS) + +# install the shared object into $(libdir)/kea/hooks +lib_hooksdir = $(libdir)/kea/hooks +lib_hooks_LTLIBRARIES = libdhcp_pgsql_lb.la + +libdhcp_pgsql_lb_la_SOURCES = +libdhcp_pgsql_lb_la_LDFLAGS = $(AM_LDFLAGS) $(MYSQL_LIBS) +libdhcp_pgsql_lb_la_LDFLAGS += -avoid-version -export-dynamic -module + +libdhcp_pgsql_lb_la_LIBADD = libpgsqllb.la +libdhcp_pgsql_lb_la_LIBADD += $(top_builddir)/src/lib/pgsql/libkea-pgsql.la +libdhcp_pgsql_lb_la_LIBADD += $(top_builddir)/src/lib/database/libkea-database.la +libdhcp_pgsql_lb_la_LIBADD += $(top_builddir)/src/lib/cc/libkea-cc.la +libdhcp_pgsql_lb_la_LIBADD += $(top_builddir)/src/lib/asiolink/libkea-asiolink.la +libdhcp_pgsql_lb_la_LIBADD += $(top_builddir)/src/lib/dns/libkea-dns++.la +libdhcp_pgsql_lb_la_LIBADD += $(top_builddir)/src/lib/cryptolink/libkea-cryptolink.la +libdhcp_pgsql_lb_la_LIBADD += $(top_builddir)/src/lib/log/libkea-log.la +libdhcp_pgsql_lb_la_LIBADD += $(top_builddir)/src/lib/util/libkea-util.la +libdhcp_pgsql_lb_la_LIBADD += $(top_builddir)/src/lib/exceptions/libkea-exceptions.la +libdhcp_pgsql_lb_la_LIBADD += $(LOG4CPLUS_LIBS) $(CRYPTO_LIBS) $(BOOST_LIBS) + +# If we want to get rid of all generated messages files, we need to use +# make maintainer-clean. The proper way to introduce custom commands for +# that operation is to define maintainer-clean-local target. However, +# make maintainer-clean also removes Makefile, so running configure script +# is required. To make it easy to rebuild messages without going through +# reconfigure, a new target messages-clean has been added. +maintainer-clean-local: + rm -f pgsql_lb_messages.h pgsql_lb_messages.cc + +# To regenerate messages files, one can do: +# +# make messages-clean +# make messages +# +# This is needed only when a .mes file is modified. +messages-clean: maintainer-clean-local + +if GENERATE_MESSAGES -libkea_pgsql_lease_backend_la_SOURCES = pgsql_lease_mgr.cc pgsql_lease_mgr.h +# Define rule to build logging source files from message file +messages: pgsql_lb_messages.h pgsql_lb_messages.cc + @echo Message files regenerated -libkea_pgsql_lease_backend_la_LIBADD = $(top_builddir)/src/lib/pgsql/libkea-pgsql.la -libkea_pgsql_lease_backend_la_LIBADD += $(top_builddir)/src/lib/database/libkea-database.la -libkea_pgsql_lease_backend_la_LIBADD += $(top_builddir)/src/lib/cc/libkea-cc.la -libkea_pgsql_lease_backend_la_LIBADD += $(top_builddir)/src/lib/asiolink/libkea-asiolink.la -libkea_pgsql_lease_backend_la_LIBADD += $(top_builddir)/src/lib/dns/libkea-dns++.la -libkea_pgsql_lease_backend_la_LIBADD += $(top_builddir)/src/lib/cryptolink/libkea-cryptolink.la -libkea_pgsql_lease_backend_la_LIBADD += $(top_builddir)/src/lib/log/libkea-log.la -libkea_pgsql_lease_backend_la_LIBADD += $(top_builddir)/src/lib/util/libkea-util.la -libkea_pgsql_lease_backend_la_LIBADD += $(top_builddir)/src/lib/exceptions/libkea-exceptions.la -libkea_pgsql_lease_backend_la_LIBADD += $(LOG4CPLUS_LIBS) $(CRYPTO_LIBS) $(BOOST_LIBS) +pgsql_lb_messages.h pgsql_lb_messages.cc: pgsql_lb_messages.mes + $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/hooks/dhcp/pgsql_lb/pgsql_lb_messages.mes -libkea_pgsql_lease_backend_la_LDFLAGS = $(PGSQL_LIBS) +else -# Specify the headers for copying into the installation directory tree. -libkea_pgsql_lease_backend_includedir = $(pkgincludedir)/pgsql_lease_backend +messages pgsql_lb_messages.h pgsql_lb_messages.cc: + @echo Messages generation disabled. Configure with --enable-generate-messages to enable it. -libkea_pgsql_lease_backend_include_HEADERS = \ - pgsql_lease_mgr.h +endif \ No newline at end of file diff --git a/src/hooks/dhcp/pgsql_lb/tests/Makefile.am b/src/hooks/dhcp/pgsql_lb/tests/Makefile.am index b49947d7b5..248f2b7398 100644 --- a/src/hooks/dhcp/pgsql_lb/tests/Makefile.am +++ b/src/hooks/dhcp/pgsql_lb/tests/Makefile.am @@ -1,6 +1,7 @@ SUBDIRS = . AM_CPPFLAGS = -I$(top_builddir)/src/lib -I$(top_srcdir)/src/lib +AM_CPPFLAGS += -I$(top_builddir)/src/hooks/dhcp/pgsql_lb -I$(top_srcdir)/src/hooks/dhcp/pgsql_lb AM_CPPFLAGS += $(BOOST_INCLUDES) AM_CXXFLAGS = $(KEA_CXXFLAGS) @@ -14,45 +15,45 @@ TESTS_ENVIRONMENT = $(LIBTOOL) --mode=execute $(VALGRIND_COMMAND) TESTS = if HAVE_GTEST -TESTS += libpgsql_lease_backend_unittests - -libpgsql_lease_backend_unittests_SOURCES = run_unittests.cc -libpgsql_lease_backend_unittests_SOURCES += pgsql_lease_mgr_unittest.cc -libpgsql_lease_backend_unittests_SOURCES += pgsql_lease_extended_info_unittest.cc -libpgsql_lease_backend_unittests_SOURCES += pgsql_bootp_unittest.cc - -libpgsql_lease_backend_unittests_CPPFLAGS = $(AM_CPPFLAGS) $(GTEST_INCLUDES) -libpgsql_lease_backend_unittests_CPPFLAGS += $(PGSQL_CPPFLAGS) - -libpgsql_lease_backend_unittests_CXXFLAGS = $(AM_CXXFLAGS) - -libpgsql_lease_backend_unittests_LDFLAGS = $(AM_LDFLAGS) $(CRYPTO_LDFLAGS) $(GTEST_LDFLAGS) -libpgsql_lease_backend_unittests_LDFLAGS += $(PGSQL_LIBS) - -libpgsql_lease_backend_unittests_LDADD = $(top_builddir)/src/lib/pgsql_lease_backend/libkea-pgsql-lease-backend.la -libpgsql_lease_backend_unittests_LDADD += $(top_builddir)/src/lib/dhcpsrv/testutils/libdhcpsrvtest.la -libpgsql_lease_backend_unittests_LDADD += $(top_builddir)/src/lib/dhcpsrv/libkea-dhcpsrv.la -libpgsql_lease_backend_unittests_LDADD += $(top_builddir)/src/lib/process/libkea-process.la -libpgsql_lease_backend_unittests_LDADD += $(top_builddir)/src/lib/eval/libkea-eval.la -libpgsql_lease_backend_unittests_LDADD += $(top_builddir)/src/lib/dhcp_ddns/libkea-dhcp_ddns.la -libpgsql_lease_backend_unittests_LDADD += $(top_builddir)/src/lib/stats/libkea-stats.la -libpgsql_lease_backend_unittests_LDADD += $(top_builddir)/src/lib/config/libkea-cfgclient.la -libpgsql_lease_backend_unittests_LDADD += $(top_builddir)/src/lib/http/libkea-http.la -libpgsql_lease_backend_unittests_LDADD += $(top_builddir)/src/lib/dhcp/testutils/libdhcptest.la -libpgsql_lease_backend_unittests_LDADD += $(top_builddir)/src/lib/dhcp/libkea-dhcp++.la -libpgsql_lease_backend_unittests_LDADD += $(top_builddir)/src/lib/hooks/libkea-hooks.la -libpgsql_lease_backend_unittests_LDADD += $(top_builddir)/src/lib/pgsql/testutils/libpgsqltest.la -libpgsql_lease_backend_unittests_LDADD += $(top_builddir)/src/lib/pgsql/libkea-pgsql.la -libpgsql_lease_backend_unittests_LDADD += $(top_builddir)/src/lib/database/libkea-database.la -libpgsql_lease_backend_unittests_LDADD += $(top_builddir)/src/lib/cc/libkea-cc.la -libpgsql_lease_backend_unittests_LDADD += $(top_builddir)/src/lib/asiolink/libkea-asiolink.la -libpgsql_lease_backend_unittests_LDADD += $(top_builddir)/src/lib/dns/libkea-dns++.la -libpgsql_lease_backend_unittests_LDADD += $(top_builddir)/src/lib/cryptolink/libkea-cryptolink.la -libpgsql_lease_backend_unittests_LDADD += $(top_builddir)/src/lib/log/libkea-log.la -libpgsql_lease_backend_unittests_LDADD += $(top_builddir)/src/lib/util/unittests/libutil_unittests.la -libpgsql_lease_backend_unittests_LDADD += $(top_builddir)/src/lib/util/libkea-util.la -libpgsql_lease_backend_unittests_LDADD += $(top_builddir)/src/lib/exceptions/libkea-exceptions.la -libpgsql_lease_backend_unittests_LDADD += $(LOG4CPLUS_LIBS) $(CRYPTO_LIBS) $(BOOST_LIBS) $(GTEST_LDADD) +TESTS += pgsql_lb_unittests + +pgsql_lb_unittests_SOURCES = run_unittests.cc +pgsql_lb_unittests_SOURCES += pgsql_lease_mgr_unittest.cc +pgsql_lb_unittests_SOURCES += pgsql_lease_extended_info_unittest.cc +pgsql_lb_unittests_SOURCES += pgsql_bootp_unittest.cc + +pgsql_lb_unittests_CPPFLAGS = $(AM_CPPFLAGS) $(GTEST_INCLUDES) +pgsql_lb_unittests_CPPFLAGS += $(PGSQL_CPPFLAGS) + +pgsql_lb_unittests_CXXFLAGS = $(AM_CXXFLAGS) + +pgsql_lb_unittests_LDFLAGS = $(AM_LDFLAGS) $(CRYPTO_LDFLAGS) $(GTEST_LDFLAGS) +pgsql_lb_unittests_LDFLAGS += $(PGSQL_LIBS) + +pgsql_lb_unittests_LDADD = $(top_builddir)/src/hooks/dhcp/pgsql_lb/libpgsqllb.la +pgsql_lb_unittests_LDADD += $(top_builddir)/src/lib/dhcpsrv/testutils/libdhcpsrvtest.la +pgsql_lb_unittests_LDADD += $(top_builddir)/src/lib/dhcpsrv/libkea-dhcpsrv.la +pgsql_lb_unittests_LDADD += $(top_builddir)/src/lib/process/libkea-process.la +pgsql_lb_unittests_LDADD += $(top_builddir)/src/lib/eval/libkea-eval.la +pgsql_lb_unittests_LDADD += $(top_builddir)/src/lib/dhcp_ddns/libkea-dhcp_ddns.la +pgsql_lb_unittests_LDADD += $(top_builddir)/src/lib/stats/libkea-stats.la +pgsql_lb_unittests_LDADD += $(top_builddir)/src/lib/config/libkea-cfgclient.la +pgsql_lb_unittests_LDADD += $(top_builddir)/src/lib/http/libkea-http.la +pgsql_lb_unittests_LDADD += $(top_builddir)/src/lib/dhcp/testutils/libdhcptest.la +pgsql_lb_unittests_LDADD += $(top_builddir)/src/lib/dhcp/libkea-dhcp++.la +pgsql_lb_unittests_LDADD += $(top_builddir)/src/lib/hooks/libkea-hooks.la +pgsql_lb_unittests_LDADD += $(top_builddir)/src/lib/pgsql/testutils/libpgsqltest.la +pgsql_lb_unittests_LDADD += $(top_builddir)/src/lib/pgsql/libkea-pgsql.la +pgsql_lb_unittests_LDADD += $(top_builddir)/src/lib/database/libkea-database.la +pgsql_lb_unittests_LDADD += $(top_builddir)/src/lib/cc/libkea-cc.la +pgsql_lb_unittests_LDADD += $(top_builddir)/src/lib/asiolink/libkea-asiolink.la +pgsql_lb_unittests_LDADD += $(top_builddir)/src/lib/dns/libkea-dns++.la +pgsql_lb_unittests_LDADD += $(top_builddir)/src/lib/cryptolink/libkea-cryptolink.la +pgsql_lb_unittests_LDADD += $(top_builddir)/src/lib/log/libkea-log.la +pgsql_lb_unittests_LDADD += $(top_builddir)/src/lib/util/unittests/libutil_unittests.la +pgsql_lb_unittests_LDADD += $(top_builddir)/src/lib/util/libkea-util.la +pgsql_lb_unittests_LDADD += $(top_builddir)/src/lib/exceptions/libkea-exceptions.la +pgsql_lb_unittests_LDADD += $(LOG4CPLUS_LIBS) $(CRYPTO_LIBS) $(BOOST_LIBS) $(GTEST_LDADD) endif -noinst_PROGRAMS = $(TESTS) +noinst_PROGRAMS = $(TESTS) \ No newline at end of file diff --git a/src/hooks/dhcp/pgsql_lb/tests/pgsql_bootp_unittest.cc b/src/hooks/dhcp/pgsql_lb/tests/pgsql_bootp_unittest.cc index 33e06eb405..f136789089 100644 --- a/src/hooks/dhcp/pgsql_lb/tests/pgsql_bootp_unittest.cc +++ b/src/hooks/dhcp/pgsql_lb/tests/pgsql_bootp_unittest.cc @@ -83,7 +83,7 @@ TEST_F(PgSqlAllocEngine4Test, bootpAlloc4) { // Check that the lease is indeed in LeaseMgr Lease4Ptr from_mgr = LeaseMgrFactory::instance().getLease4(lease->addr_); ASSERT_TRUE(from_mgr); - // The PostgreSql database does not keep the hwtype for DHCPv4 leases. + // The PostgreSQL database does not keep the hwtype for DHCPv4 leases. from_mgr->hwaddr_->htype_ = HTYPE_FDDI; // Now check that the lease in LeaseMgr has the same parameters diff --git a/src/hooks/dhcp/pgsql_lb/tests/pgsql_lease_mgr_unittest.cc b/src/hooks/dhcp/pgsql_lb/tests/pgsql_lease_mgr_unittest.cc index 2551870d14..c78a41b061 100644 --- a/src/hooks/dhcp/pgsql_lb/tests/pgsql_lease_mgr_unittest.cc +++ b/src/hooks/dhcp/pgsql_lb/tests/pgsql_lease_mgr_unittest.cc @@ -1355,7 +1355,7 @@ TEST_F(PgSqlLeaseMgrTest, bigStats) { testBigStats(); } -/// @brief Test fixture class for testing @ref CfgDbAccessTest using PgSQL +/// @brief Test fixture class for testing @ref CfgDbAccessTest using PostgreSQL /// backend. class CfgPgSqlDbAccessTest : public ::testing::Test { public: