]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[441-make-distcheck-fails-on-fedora-29-automake-1-16] Some updates
authorFrancis Dupont <fdupont@isc.org>
Tue, 5 Mar 2019 13:23:43 +0000 (14:23 +0100)
committerFrancis Dupont <fdupont@isc.org>
Wed, 13 Mar 2019 12:37:54 +0000 (08:37 -0400)
26 files changed:
configure.ac
doc/guide/install.xml
src/bin/agent/Makefile.am
src/bin/d2/Makefile.am
src/bin/dhcp4/Makefile.am
src/bin/dhcp6/Makefile.am
src/bin/lfc/Makefile.am
src/bin/netconf/Makefile.am
src/hooks/dhcp/high_availability/Makefile.am
src/hooks/dhcp/lease_cmds/Makefile.am
src/hooks/dhcp/mysql_cb/Makefile.am
src/hooks/dhcp/stat_cmds/Makefile.am
src/hooks/dhcp/user_chk/Makefile.am
src/lib/asiodns/Makefile.am
src/lib/config/Makefile.am
src/lib/database/Makefile.am
src/lib/dhcp_ddns/Makefile.am
src/lib/dhcpsrv/Makefile.am
src/lib/eval/Makefile.am
src/lib/hooks/Makefile.am
src/lib/http/Makefile.am
src/lib/log/Makefile.am
src/lib/log/compiler/Makefile.am
src/lib/log/logging.dox
src/lib/log/tests/Makefile.am
src/lib/process/Makefile.am

index e25d13d4ff36184a420bc3388fcd792d1618644c..c1be990d44c513dbad61b37f5801c42f91f7cd89 100644 (file)
@@ -64,21 +64,6 @@ if test "$sep" = "__NONE__"; then
 fi
 AC_SUBST(SEP)
 
-# If cross compiling assume the message compiler executable was
-# magically already in place...
-if test "$cross_compiling" = "yes"; then
-        AC_MSG_CHECKING("build (vs. host) compiled message compiler")
-       if test -x "${srcdir}/src/lib/log/compiler/message"; then
-               AC_MSG_RESULT(yes)
-       else
-               AC_MSG_RESULT(no)
-               AC_MSG_WARN("you must install a message compiler in:")
-               AC_MSG_WARN("    ${srcdir}/src/lib/log/compiler/message")
-               AC_MSG_WARN("compiled for build ($build).")
-       fi
-fi
-AM_CONDITIONAL([CROSS_COMPILING], [test "$cross_compiling" = "yes"])
-
 # pkg-config can be required.
 AC_PATH_PROG([PKG_CONFIG], [pkg-config])
 
@@ -1376,6 +1361,13 @@ AC_ARG_ENABLE(generate_messages, [AC_HELP_STRING([--enable-generate-messages],
 
 AM_CONDITIONAL([GENERATE_MESSAGES], [test x$enable_generate_messages != xno])
 
+# cross compiling is not compatible with enable-generate-messages.
+if test "$cross_compiling" = "yes"; then
+    if test "$enable_generate_messages" != "no"; then
+        AC_MSG_WARN([To build the message compiler is not compatible with cross compiling])
+    fi
+fi
+
 AC_ARG_ENABLE(generate_parser, [AC_HELP_STRING([--enable-generate-parser],
   [indicates that the parsers will be regenerated. This implies that the
    bison and flex are required [default=no]])],
@@ -1974,15 +1966,16 @@ fi
 cat >> config.report << END
 
 Developer:
-  Enable Debugging:       $debug_enabled
-  Google Tests:           $enable_gtest
-  Valgrind:               $found_valgrind
-  C++ Code Coverage:      $USE_LCOV
-  Logger checks:          $enable_logger_checks
-  Generate Documentation: $enable_generate_docs
-  Parser Generation:      $enable_generate_parser
-  Perfdhcp:               $enable_perfdhcp
-  Kea-shell:              $enable_shell
+  Enable Debugging:          $debug_enabled
+  Google Tests:              $enable_gtest
+  Valgrind:                  $found_valgrind
+  C++ Code Coverage:         $USE_LCOV
+  Logger checks:             $enable_logger_checks
+  Generate Documentation:    $enable_generate_docs
+  Parser Generation:         $enable_generate_parser
+  Messages Files Generation: $enable_generate_messages
+  Perfdhcp:                  $enable_perfdhcp
+  Kea-shell:                 $enable_shell
 
 END
 
index 5e8b4f1744390f1da5fd6e83d2b6892c7f0ac55f..6ee3df73e3f29669cb96223c4f8e94e5ae8884aa 100644 (file)
@@ -474,6 +474,21 @@ Debian and Ubuntu:
               </listitem>
             </varlistentry>
 
+            <varlistentry>
+              <term>--enable-generate-messages</term>
+              <listitem>
+                <simpara>Enable the regeneration of messages files from
+                their messages source files, e.g. regenerate xxx_messages.h
+                and xxx_messages.cc from xxx_messages.mes using the Kea
+                message compiler. By default Kea is built using these .h
+                and .cc files from the distribution. However, if you change
+                anything in a .mes file (such as add new message), you will
+                need to build and use the Kea message compiler. This option
+                lets you do that.
+                </simpara>
+              </listitem>
+            </varlistentry>
+
             <varlistentry>
               <term>--with-benchmark, --with-benchmark-source</term>
               <listitem>
index 58ffab2c2edd1eb29fc06258caf1e340e0a03807..ab854d923b132689be4227ddda63bb1765f5dd45 100644 (file)
@@ -107,7 +107,7 @@ ca_messages.h ca_messages.cc: ca_messages.mes
 else
 
 messages ca_messages.h ca_messages.cc:
-       @echo Messages generation disabled. Configure with --enable-generate=,essages to enable it.
+       @echo Messages generation disabled. Configure with --enable-generate-messages to enable it.
 
 endif
 
index f60f5bde1b31afefd865a41da10c6ddfd907044e..c16715b32338fcc01cad50c9d75d4d3a35b25645 100644 (file)
@@ -122,7 +122,7 @@ d2_messages.h d2_messages.cc: d2_messages.mes
 else
 
 messages d2_messages.h d2_messages.cc:
-       @echo Messages generation disabled. Configure with --enable-generate=,essages to enable it.
+       @echo Messages generation disabled. Configure with --enable-generate-messages to enable it.
 
 endif
 
index 6eeb137290c866dcd9baefaea131d4773a4fa4f8..79da05f862f2affa7e5345572d998821ff4f9170 100644 (file)
@@ -136,7 +136,7 @@ dhcp4_messages.h dhcp4_messages.cc: dhcp4_messages.mes
 else
 
 messages dhcp4_messages.h dhcp4_messages.cc:
-       @echo Messages generation disabled. Configure with --enable-generate=,essages to enable it.
+       @echo Messages generation disabled. Configure with --enable-generate-messages to enable it.
 
 endif
 
index 09279901b3d3de099800469ef04523a9346f2de7..1ab83584cce268c4e0a559aa3b9c5ec087025ad3 100644 (file)
@@ -136,7 +136,7 @@ dhcp6_messages.h dhcp6_messages.cc: dhcp6_messages.mes
 else
 
 messages dhcp6_messages.h dhcp6_messages.cc:
-       @echo Messages generation disabled. Configure with --enable-generate=,essages to enable it.
+       @echo Messages generation disabled. Configure with --enable-generate-messages to enable it.
 
 endif
 
index fe4cac8629642ec3b37c9d0859be0811e7ab47f6..531032c59c2d60b441e08b4bf523bbdd4a3b81e1 100644 (file)
@@ -116,6 +116,6 @@ lfc_messages.h lfc_messages.cc: lfc_messages.mes
 else
 
 messages lfc_messages.h lfc_messages.cc:
-       @echo Messages generation disabled. Configure with --enable-generate=,essages to enable it.
+       @echo Messages generation disabled. Configure with --enable-generate-messages to enable it.
 
 endif
index a459320c66c2ad9c17a824ec60565238cbdd165e..4651f2e6cb140f6cdd3934fa378b74948a55fcee 100644 (file)
@@ -109,7 +109,7 @@ netconf_messages.h netconf_messages.cc: netconf_messages.mes
 else
 
 messages netconf_messages.h netconf_messages.cc:
-       @echo Messages generation disabled. Configure with --enable-generate=,essages to enable it.
+       @echo Messages generation disabled. Configure with --enable-generate-messages to enable it.
 
 endif
 
index 314be830ea395b0e8b7824d90b6cd32c5a0f49e4..baf203f934ced7506f2cbab2b1b6f25237889a59 100644 (file)
@@ -82,12 +82,12 @@ messages: ha_messages.h ha_messages.cc
        @echo Message files regenerated
 
 ha_messages.h ha_messages.cc: ha_messages.mes
-       $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/ha/ha_messages.mes
+       $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/hooks/dhcp/high_availability/ha_messages.mes
 
 else
 
 messages ha_messages.h ha_messages.cc:
-       @echo Messages generation disabled. Configure with --enable-generate=,essages to enable it.
+       @echo Messages generation disabled. Configure with --enable-generate-messages to enable it.
 
 endif
 
index 464326a4f0a7da116bb40d3e7af528e483567e42..ded680e4a20c25047a70d5ff991e7172d9f820cb 100644 (file)
@@ -76,12 +76,12 @@ messages: lease_cmds_messages.h lease_cmds_messages.cc
        @echo Message files regenerated
 
 lease_cmds_messages.h lease_cmds_messages.cc: lease_cmds_messages.mes
-       $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/lease_cmds/lease_cmds_messages.mes
+       $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/hooks/dhcp/lease_cmds/lease_cmds_messages.mes
 
 else
 
 messages lease_cmds_messages.h lease_cmds_messages.cc:
-       @echo Messages generation disabled. Configure with --enable-generate=,essages to enable it.
+       @echo Messages generation disabled. Configure with --enable-generate-messages to enable it.
 
 endif
 
index a4630bc64f90fbb6962f0d82ee2fff77626a5c72..f09469216ca8af078802cab05cb41a4637e7274b 100644 (file)
@@ -75,12 +75,12 @@ messages: mysql_cb_messages.h mysql_cb_messages.cc
        @echo Message files regenerated
 
 mysql_cb_messages.h mysql_cb_messages.cc: mysql_cb_messages.mes
-       $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/mysql_cb/mysql_cb_messages.mes
+       $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/hooks/dhcp/mysql_cb/mysql_cb_messages.mes
 
 else
 
 messages mysql_cb_messages.h mysql_cb_messages.cc:
-       @echo Messages generation disabled. Configure with --enable-generate=,essages to enable it.
+       @echo Messages generation disabled. Configure with --enable-generate-messages to enable it.
 
 endif
 
index 300ccc64e8189c7a3c32c74f18f8c1e30c98a7ab..b054e936b374317de20ad1559a66efeede92ab52 100644 (file)
@@ -74,12 +74,12 @@ messages: stat_cmds_messages.h stat_cmds_messages.cc
        @echo Message files regenerated
 
 stat_cmds_messages.h stat_cmds_messages.cc: stat_cmds_messages.mes
-       $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/stat_cmds/stat_cmds_messages.mes
+       $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/hooks/dhcp/stat_cmds/stat_cmds_messages.mes
 
 else
 
 messages stat_cmds_messages.h stat_cmds_messages.cc:
-       @echo Messages generation disabled. Configure with --enable-generate=,essages to enable it.
+       @echo Messages generation disabled. Configure with --enable-generate-messages to enable it.
 
 endif
 
index c6059fe47dfc1a66c6c436f6333549f931b1ca10..4f6ae80af24c8ede74589da70b8bbe8b1677fbf7 100644 (file)
@@ -71,12 +71,12 @@ messages: user_chk_messages.h user_chk_messages.cc
        @echo Message files regenerated
 
 user_chk_messages.h user_chk_messages.cc: user_chk_messages.mes
-       $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/user_chk/user_chk_messages.mes
+       $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/hooks/dhcp/user_chk/user_chk_messages.mes
 
 else
 
 messages user_chk_messages.h user_chk_messages.cc:
-       @echo Messages generation disabled. Configure with --enable-generate=,essages to enable it.
+       @echo Messages generation disabled. Configure with --enable-generate-messages to enable it.
 
 endif
 
index ec24739475fa177f50684cb967e3322fc0bdc8f4..be1f7d81dc3c7f201010bc0a1dcbc24c6a9bb842 100644 (file)
@@ -60,7 +60,7 @@ asiodns_messages.h asiodns_messages.cc: asiodns_messages.mes
 else
 
 messages asiodns_messages.h asiodns_messages.cc:
-       @echo Messages generation disabled. Configure with --enable-generate=,essages to enable it.
+       @echo Messages generation disabled. Configure with --enable-generate-messages to enable it.
 
 endif
 
index 2cc7149fb1efed34413b1172f2d56312827963ef..a358c89e45e6e99c63f42f3d8e75d6147b2eb312 100644 (file)
@@ -64,7 +64,7 @@ config_messages.h config_messages.cc: config_messages.mes
 else
 
 messages config_messages.h config_messages.cc:
-       @echo Messages generation disabled. Configure with --enable-generate=,essages to enable it.
+       @echo Messages generation disabled. Configure with --enable-generate-messages to enable it.
 
 endif
 
index bdccab955e278a48865837932b10e10b11e5a6a0..b0a09c453fc1f1f128e08166732bee31f0be9875 100644 (file)
@@ -59,7 +59,7 @@ db_messages.h db_messages.cc: db_messages.mes
 else
 
 messages db_messages.h db_messages.cc:
-       @echo Messages generation disabled. Configure with --enable-generate=,essages to enable it.
+       @echo Messages generation disabled. Configure with --enable-generate-messages to enable it.
 
 endif
 
index 53dc06e0627d111356c10d80683c47c5d3eea5ac..be5f34a6b110db732dfde2b3b44a5d97887ebd4f 100644 (file)
@@ -66,7 +66,7 @@ dhcp_ddns_messages.h dhcp_ddns_messages.cc: dhcp_ddns_messages.mes
 else
 
 messages dhcp_ddns_messages.h dhcp_ddns_messages.cc:
-       @echo Messages generation disabled. Configure with --enable-generate=,essages to enable it.
+       @echo Messages generation disabled. Configure with --enable-generate-messages to enable it.
 
 endif
 
index 0ee1dfcdb45d005e344ce247a7de25abbc058a69..20207af6fb728264f70485c4967ccd0aecef5bea 100644 (file)
@@ -53,10 +53,6 @@ EXTRA_DIST += parsers/dhcp_queue_control_parser.h
 # Devel guide diagrams
 EXTRA_DIST += images/pgsql_host_data_source.svg
 
-BUILT_SOURCES = alloc_engine_messages.h alloc_engine_messages.cc
-BUILT_SOURCES += dhcpsrv_messages.h dhcpsrv_messages.cc
-BUILT_SOURCES += hosts_messages.h hosts_messages.cc
-
 CLEANFILES = *.gcno *.gcda
 # Remove CSV files created by the CSVLeaseFile6 and CSVLeaseFile4 unit tests.
 CLEANFILES += *.csv
@@ -65,6 +61,7 @@ lib_LTLIBRARIES = libkea-dhcpsrv.la
 libkea_dhcpsrv_la_SOURCES  =
 libkea_dhcpsrv_la_SOURCES += alloc_engine.cc alloc_engine.h
 libkea_dhcpsrv_la_SOURCES += alloc_engine_log.cc alloc_engine_log.h
+libkea_dhcpsrv_la_SOURCES += alloc_engine_messages.h alloc_engine_messages.cc
 libkea_dhcpsrv_la_SOURCES += assignable_network.h
 libkea_dhcpsrv_la_SOURCES += base_host_data_source.h
 libkea_dhcpsrv_la_SOURCES += cache_host_data_source.h
@@ -101,11 +98,13 @@ libkea_dhcpsrv_la_SOURCES += db_type.h
 libkea_dhcpsrv_la_SOURCES += dhcp4o6_ipc.cc dhcp4o6_ipc.h
 libkea_dhcpsrv_la_SOURCES += dhcpsrv_exceptions.h
 libkea_dhcpsrv_la_SOURCES += dhcpsrv_log.cc dhcpsrv_log.h
+libkea_dhcpsrv_la_SOURCES += dhcpsrv_messages.h dhcpsrv_messages.cc
 libkea_dhcpsrv_la_SOURCES += host.cc host.h
 libkea_dhcpsrv_la_SOURCES += host_container.h
 libkea_dhcpsrv_la_SOURCES += host_data_source_factory.cc host_data_source_factory.h
 libkea_dhcpsrv_la_SOURCES += host_mgr.cc host_mgr.h
 libkea_dhcpsrv_la_SOURCES += hosts_log.cc hosts_log.h
+libkea_dhcpsrv_la_SOURCES += hosts_messages.h hosts_messages.cc
 libkea_dhcpsrv_la_SOURCES += key_from_key.h
 libkea_dhcpsrv_la_SOURCES += lease.cc lease.h
 libkea_dhcpsrv_la_SOURCES += lease_file_loader.h
@@ -176,10 +175,6 @@ libkea_dhcpsrv_la_SOURCES += parsers/simple_parser4.h
 libkea_dhcpsrv_la_SOURCES += parsers/simple_parser6.cc
 libkea_dhcpsrv_la_SOURCES += parsers/simple_parser6.h
 
-libkea_dhcpsrv_la_SOURCES += alloc_engine_messages.h alloc_engine_messages.cc
-libkea_dhcpsrv_la_SOURCES += dhcpsrv_messages.h dhcpsrv_messages.cc
-libkea_dhcpsrv_la_SOURCES += hosts_messages.h hosts_messages.cc
-
 libkea_dhcpsrv_la_CXXFLAGS = $(AM_CXXFLAGS)
 libkea_dhcpsrv_la_CPPFLAGS = $(AM_CPPFLAGS)
 libkea_dhcpsrv_la_LIBADD  = $(top_builddir)/src/lib/eval/libkea-eval.la
@@ -269,7 +264,7 @@ else
 messages: alloc_engine_messages.h alloc_engine_messages.cc \
          dhcpsrv_messages.h dhcpsrv_messages.cc \
          hosts_messages.h hosts_messages.cc
-       @echo Messages generation disabled. Configure with --enable-generate=,essages to enable it.
+       @echo Messages generation disabled. Configure with --enable-generate-messages to enable it.
 
 endif
 
index 94b9e1917be8a151ac176a87c573db7c9c80027a..a64ddb92efe604577008d87f823100b52d12a301 100644 (file)
@@ -46,22 +46,14 @@ EXTRA_DIST += lexer.ll parser.yy
 
 CLEANFILES = *.gcno *.gcda
 
-# 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 eval_messages.h eval_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
+messages-clean:
+       rm -f eval_messages.h eval_messages.cc
 
 if GENERATE_MESSAGES
 
@@ -75,10 +67,17 @@ eval_messages.h eval_messages.cc: eval_messages.mes
 else
 
 messages eval_messages.h eval_messages.cc:
-       @echo Messages generation disabled. Configure with --enable-generate=,essages to enable it.
+       @echo Messages generation disabled. Configure with --enable-generate-messages to enable it.
 
 endif
 
+# 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.
+#
 # If we want to get rid of all flex/bison generated 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,
@@ -86,6 +85,7 @@ endif
 # is required. To make it easy to rebuild flex/bison without going through
 # reconfigure, a new target parser-clean has been added.
 maintainer-clean-local:
+       rm -f eval_messages.h eval_messages.cc
        rm -f location.hh lexer.cc parser.cc parser.h position.hh stack.hh
 
 # To regenerate flex/bison files, one can do:
@@ -95,7 +95,8 @@ maintainer-clean-local:
 #
 # This is needed only when the lexer.ll or parser.yy files are modified.
 # Make sure you have both flex and bison installed.
-parser-clean: maintainer-clean-local
+parser-clean:
+       rm -f location.hh lexer.cc parser.cc parser.h position.hh stack.hh
 
 if GENERATE_PARSER
 
index d52b3cb3b6c6a681f774aba2f549a0a6fff854c6..607d66408828fe20241e77dc212ab7c1e9747427 100644 (file)
@@ -77,7 +77,7 @@ hooks_messages.h hooks_messages.cc: hooks_messages.mes
 else
 
 messages hooks_messages.h hooks_messages.cc:
-       @echo Messages generation disabled. Configure with --enable-generate=,essages to enable it.
+       @echo Messages generation disabled. Configure with --enable-generate-messages to enable it.
 
 endif
 
index 6b9925286235bb21a9c2b46457cfa9f8e9310bed..10d2bb9262410dc61c6e602b596069558c5e0532 100644 (file)
@@ -79,7 +79,7 @@ http_messages.h http_messages.cc: http_messages.mes
 else
 
 messages http_messages.h http_messages.cc:
-       @echo Messages generation disabled. Configure with --enable-generate=,essages to enable it.
+       @echo Messages generation disabled. Configure with --enable-generate-messages to enable it.
 
 endif
 
index dbeae5d065cb8fe86f011c037826caaa726c843a..f34da4d2c00ab0256fd0452184ef3e6e9aa2c5cf 100644 (file)
@@ -1,8 +1,4 @@
-SUBDIRS = interprocess .
-if !CROSS_COMPILING
-SUBDIRS += compiler
-endif
-SUBDIRS += tests
+SUBDIRS = interprocess . compiler tests
 
 AM_CPPFLAGS = -I$(top_builddir)/src/lib -I$(top_srcdir)/src/lib
 AM_CPPFLAGS += $(BOOST_INCLUDES)
index 45474a5c897015554bf97438561f5183bc2cb611..acf2a245f9073379e07dd06e35021c385fcac7e8 100644 (file)
@@ -11,6 +11,8 @@ endif
 
 CLEANFILES = *.gcno *.gcda
 
+if GENERATE_MESSAGES
+
 bin_PROGRAMS = kea-msg-compiler
 
 kea_msg_compiler_SOURCES = message.cc
@@ -19,3 +21,5 @@ kea_msg_compiler_LDADD  += $(top_builddir)/src/lib/util/threads/libkea-threads.l
 kea_msg_compiler_LDADD  += $(top_builddir)/src/lib/util/libkea-util.la
 kea_msg_compiler_LDADD  += $(top_builddir)/src/lib/exceptions/libkea-exceptions.la
 kea_msg_compiler_LDADD  += $(LOG4CPLUS_LIBS)
+
+endif
index 66baea68071e5218379e19bbf74bf1cb1bf8e728..cf431dcb6c8447b6b50b662206d200c00aae3fe2 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2013-2018 Internet Systems Consortium, Inc. ("ISC")
+// Copyright (C) 2013-2019 Internet Systems Consortium, Inc. ("ISC")
 //
 // This Source Code Form is subject to the terms of the Mozilla Public
 // License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -415,49 +415,58 @@ included in the Makefile.am for each component that uses logging.
 The following segment from the "hooks" Makefile.am illustrates
 the entries needed.
 @code
+# Ensure that the message file is included in the distribution
+EXTRA_DIST = hooks_messages.mes
+
+# 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 hooks_messages.h hooks_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
+
 # Define rule to build logging source files from message file
-hooks_messages.h hooks_messages.cc: s-messages
+messages: hooks_messages.h hooks_messages.cc
+        @echo Message files regenerated
 
-s-messages: hooks_messages.mes
-       $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/hooks/hooks_messages.mes
-       touch $@
+hooks_messages.h hooks_messages.cc: hooks_messages.mes
+        $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/hooks/hooks_messages.mes
 
-# Tell automake that the message files are built as part of the build process
-# (so that they are built before the main library is built).
-BUILT_SOURCES = hooks_messages.h hooks_messages.cc
+else
 
-# Ensure that the message file is included in the distribution
-EXTRA_DIST = hooks_messages.mes
+messages hooks_messages.h hooks_messages.cc:
+        @echo Messages generation disabled. Configure with --enable-generate-messages to enable it.
 
-# Get rid of generated message files on a clean
-CLEANFILES = *.gcno *.gcda hooks_messages.h hooks_messages.cc s-messages
+endif
 @endcode
-The first two rules relate the output .h and .cc files produced by the
-message compiler to the input .mes file.  The intermediate "s-messages"
-file is used to overcome synchronization issues with parallel builds
-(where "make" uses multiple processes running in parallel).  Note that the
-reference to both the compiler and the input message file are via absolute
-paths defined in terms of Automake macros.  In particular it is important
-that the message compiler - which is created during the build process - is
-referred to via the "top_builddir" macro, whereas the input message file -
-which is in the repository - is accessed through the "top_srcdir" macro.
-
-The BUILT_SOURCES line notifies the Automake that the .h and .cc files
-need to be created before they can be used in the compilation, so
-instructs it to organize things so that the message compiler is run first.
-
-As the .mes file is not directly included in any compilation, it will
-not be automatically copied into a distribution created through this
-Makefile.am.  The EXTRA_DIST line informs Automake that this file does
-need to be included.
-
-Finally, the intermediate files - the .cc and .h file, as well as the
-intermediate s-messages file - need to be removed when "make clean" is run.
-These files are therefore included in the definition of the CLEANFILES macro.
+The first rule adds a hook to make maintainer-clean which is the standard
+way to regenerate all messages files. The second rule adds the new
+messages-clean target to regenerate local messages files.
+
+The GENERATE_MESSAGES conditional part is the (re)generation of
+the messages files. When configured with --enable-generate-messages
+and the source (.mes file) is newer these files are generated using
+the Kea message compiler. When configured without --enable-generate-messages
+(the default) and the source (.mes file) is newer a message is emitted.
 
 Not shown are the Makefile.am lines where the .h and .cc file are used.  These
 are the same as other lines specifying .h and .cc source files.
 
+And finally please note the message header (e.g. hooks_messages.h)
+should be installed, i.e. in the include_HEADERS list.
+
 @subsection logUsage Using Logging Files in Program Development
 
 @subsubsection logCppUsage Use in a C++ Program or Module
index 6e7440a8517799732f853951abe4b2e6c67d7a85..f32821552e28bbbe6347a2355acaa835de151d98 100644 (file)
@@ -166,6 +166,6 @@ log_test_messages.h log_test_messages.cc: log_test_messages.mes
 else
 
 messages log_test_messages.h log_test_messages.cc:
-       @echo Messages generation disabled. Configure with --enable-generate=,essages to enable it.
+       @echo Messages generation disabled. Configure with --enable-generate-messages to enable it.
 
 endif
index dbb3ab5a8f538c48d96d8386bf3bfcd854dc5c8b..9f38ff9945eaa887b8cf5a65a45c63d313f3c871 100644 (file)
@@ -75,7 +75,7 @@ process_messages.h process_messages.cc: process_messages.mes
 else
 
 messages process_messages.h process_messages.cc:
-       @echo Messages generation disabled. Configure with --enable-generate=,essages to enable it.
+       @echo Messages generation disabled. Configure with --enable-generate-messages to enable it.
 
 endif