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
# 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
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)
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
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
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
# 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
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)
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
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
-SUBDIRS = . tests
+SUBDIRS = . tests libloadtests
AM_CPPFLAGS = -I$(top_builddir)/src/lib -I$(top_srcdir)/src/lib
AM_CPPFLAGS += $(BOOST_INCLUDES)
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
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)
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
-SUBDIRS = . tests
+SUBDIRS = . tests libloadtests
AM_CPPFLAGS = -I$(top_builddir)/src/lib -I$(top_srcdir)/src/lib
AM_CPPFLAGS += $(BOOST_INCLUDES)
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
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)
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
-SUBDIRS = . tests
+SUBDIRS = . tests libloadtests
AM_CPPFLAGS = -I$(top_builddir)/src/lib -I$(top_srcdir)/src/lib
AM_CPPFLAGS += $(BOOST_INCLUDES)
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
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)
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
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:
-SUBDIRS = . tests
+SUBDIRS = . tests libloadtests
AM_CPPFLAGS = -I$(top_builddir)/src/lib -I$(top_srcdir)/src/lib
AM_CPPFLAGS += $(BOOST_INCLUDES)
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
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)
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
// 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
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: