From: Andrei Pavel Date: Mon, 8 Apr 2024 14:59:38 +0000 (+0300) Subject: [#1743] fix circular dependency in src/lib/log X-Git-Tag: Kea-2.5.8~67 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0f71c39365ddcce631332f75ad606f45d346633b;p=thirdparty%2Fkea.git [#1743] fix circular dependency in src/lib/log Fixes the problem where to generate log_messages.(cc|h), you need kea-msg-compiler, but to compile kea-msg-compiler you need log_messages.(cc|h). This halted compilation even when building from scratch. Simply only regenerate log_messages.(cc|h) only if kea-msg-compiler exists. It will not regenerate the files on first pass, but one can explicitly call `make messages -C src/lib/log` afterwards to regenerate the files. --- diff --git a/src/lib/log/Makefile.am b/src/lib/log/Makefile.am index 78a7ffa743..54e3589815 100644 --- a/src/lib/log/Makefile.am +++ b/src/lib/log/Makefile.am @@ -104,11 +104,19 @@ if GENERATE_MESSAGES messages: log_messages.cc log_messages.h logimpl_messages.cc logimpl_messages.h @echo Message files regenerated +# If bootstrapping, do not generate log messages because there is nothing to generate them with. +# A second make command or an explicit "make messages" command should do the job. log_messages.cc log_messages.h: log_messages.mes - $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/log/log_messages.mes + @if test -f $(top_builddir)/src/lib/log/compiler/kea-msg-compiler; then \ + $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/log/log_messages.mes; \ + fi +# If bootstrapping, do not generate log messages because there is nothing to generate them with. +# A second make command or an explicit "make messages" command should do the job. logimpl_messages.cc logimpl_messages.h: logimpl_messages.mes - $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/log/logimpl_messages.mes + @if test -f $(top_builddir)/src/lib/log/compiler/kea-msg-compiler; then \ + $(top_builddir)/src/lib/log/compiler/kea-msg-compiler $(top_srcdir)/src/lib/log/logimpl_messages.mes; \ + fi else