From patchwork Fri May 21 21:25:27 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ben Pfaff X-Patchwork-Id: 1482336 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org (client-ip=2605:bc80:3010::137; helo=smtp4.osuosl.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=) Received: from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4Fn05W2Hnkz9sW4 for ; Sat, 22 May 2021 07:25:51 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id C7F48418A1; Fri, 21 May 2021 21:25:46 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0vxiQIEUxEdf; Fri, 21 May 2021 21:25:45 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by smtp4.osuosl.org (Postfix) with ESMTP id 9B54E41895; Fri, 21 May 2021 21:25:44 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 62DEEC000D; Fri, 21 May 2021 21:25:44 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137]) by lists.linuxfoundation.org (Postfix) with ESMTP id 5D6FFC0001 for ; Fri, 21 May 2021 21:25:43 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id 3CB054145E for ; Fri, 21 May 2021 21:25:43 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id yQIoRiq7ST5o for ; Fri, 21 May 2021 21:25:37 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 Received: from relay4-d.mail.gandi.net (relay4-d.mail.gandi.net [217.70.183.196]) by smtp4.osuosl.org (Postfix) with ESMTPS id 3376B40FA0 for ; Fri, 21 May 2021 21:25:36 +0000 (UTC) Received: (Authenticated sender: blp@ovn.org) by relay4-d.mail.gandi.net (Postfix) with ESMTPSA id 294A4E0002; Fri, 21 May 2021 21:25:32 +0000 (UTC) From: Ben Pfaff To: dev@openvswitch.org Date: Fri, 21 May 2021 14:25:27 -0700 Message-Id: <20210521212529.821216-1-blp@ovn.org> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 Cc: Ben Pfaff Subject: [ovs-dev] [PATCH ovn 1/3] configure: Check for correct ddlog version. X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ovs-dev-bounces@openvswitch.org Sender: "dev" Signed-off-by: Ben Pfaff Suggested-by: Mark Michelson --- acinclude.m4 | 20 +++++++++++++++++--- configure.ac | 2 +- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/acinclude.m4 b/acinclude.m4 index 1f8bf8224a9a..d3fb15a1fa46 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -42,9 +42,14 @@ AC_DEFUN([OVS_ENABLE_WERROR], fi AC_SUBST([SPARSE_WERROR])]) -dnl OVS_CHECK_DDLOG +dnl OVS_CHECK_DDLOG([VERSION]) dnl -dnl Configure ddlog source tree +dnl Configure ddlog source tree, checking for the given DDlog VERSION. +dnl VERSION should be a major and minor, e.g. 0.36, which will accept +dnl 0.36.0, 0.36.1, and so on. Omit VERSION to accept any version of +dnl ddlog (which is probably only useful for developers who are trying +dnl different versions, since OVN is currently bound to a particular +dnl DDlog version). AC_DEFUN([OVS_CHECK_DDLOG], [ AC_ARG_WITH([ddlog], [AC_HELP_STRING([--with-ddlog=.../differential-datalog/lib], @@ -52,6 +57,7 @@ AC_DEFUN([OVS_CHECK_DDLOG], [ [DDLOGLIBDIR=$withval], [DDLOGLIBDIR=no]) AC_MSG_CHECKING([for DDlog library directory]) + AC_MSG_RESULT([$DDLOGLIBDIR]) if test "$DDLOGLIBDIR" != no; then if test ! -d "$DDLOGLIBDIR"; then AC_MSG_ERROR([ddlog library dir "$DDLOGLIBDIR" doesn't exist]) @@ -65,6 +71,15 @@ AC_DEFUN([OVS_CHECK_DDLOG], [ AC_MSG_ERROR([ddlog is required to build with DDlog]) fi + AC_MSG_CHECKING([$DDLOG version]) + $DDLOG --version >&AS_MESSAGE_LOG_FD 2>&1 + ddlog_version=$($DDLOG --version | sed -n 's/^DDlog v\([[^ ]]*\).*/\1/p') + AC_MSG_RESULT([$ddlog_version]) + m4_if([$1], [], [], [ + AS_CASE([$ddlog_version], + [$1 | $1.*], [], + [*], [AC_MSG_ERROR([DDlog version $1.x is required, but $ddlog_version is installed])])]) + AC_ARG_VAR([CARGO]) AC_CHECK_PROGS([CARGO], [cargo], [none]) if test X"$CARGO" = X"none"; then @@ -80,7 +95,6 @@ AC_DEFUN([OVS_CHECK_DDLOG], [ AC_SUBST([DDLOGLIBDIR]) AC_DEFINE([DDLOG], [1], [Build OVN daemons with ddlog.]) fi - AC_MSG_RESULT([$DDLOGLIBDIR]) AM_CONDITIONAL([DDLOG], [test "$DDLOGLIBDIR" != no]) ]) diff --git a/configure.ac b/configure.ac index ec5ee31df0da..1c57c4d10482 100644 --- a/configure.ac +++ b/configure.ac @@ -169,7 +169,7 @@ OVS_CONDITIONAL_CC_OPTION([-Wno-unused-parameter], [HAVE_WNO_UNUSED_PARAMETER]) OVS_ENABLE_WERROR OVS_ENABLE_SPARSE -OVS_CHECK_DDLOG +OVS_CHECK_DDLOG([0.38]) OVS_CHECK_PRAGMA_MESSAGE OVN_CHECK_OVS OVS_CTAGS_IDENTIFIERS From patchwork Fri May 21 21:25:28 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ben Pfaff X-Patchwork-Id: 1482334 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org (client-ip=140.211.166.136; helo=smtp3.osuosl.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=) Received: from smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4Fn05M5Qtjz9sW4 for ; Sat, 22 May 2021 07:25:43 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by smtp3.osuosl.org (Postfix) with ESMTP id 90444615F4; Fri, 21 May 2021 21:25:41 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp3.osuosl.org ([127.0.0.1]) by localhost (smtp3.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id V4iuCYxC6CAi; Fri, 21 May 2021 21:25:40 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [IPv6:2605:bc80:3010:104::8cd3:938]) by smtp3.osuosl.org (Postfix) with ESMTP id A11C1605C5; Fri, 21 May 2021 21:25:39 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 75A07C000D; Fri, 21 May 2021 21:25:39 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by lists.linuxfoundation.org (Postfix) with ESMTP id B2F7DC0001 for ; Fri, 21 May 2021 21:25:38 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id A827B402DA for ; Fri, 21 May 2021 21:25:38 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id t1L6i-dzhlpK for ; Fri, 21 May 2021 21:25:38 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 Received: from relay4-d.mail.gandi.net (relay4-d.mail.gandi.net [217.70.183.196]) by smtp2.osuosl.org (Postfix) with ESMTPS id 91E9F402B3 for ; Fri, 21 May 2021 21:25:37 +0000 (UTC) Received: (Authenticated sender: blp@ovn.org) by relay4-d.mail.gandi.net (Postfix) with ESMTPSA id D7F92E0005; Fri, 21 May 2021 21:25:34 +0000 (UTC) From: Ben Pfaff To: dev@openvswitch.org Date: Fri, 21 May 2021 14:25:28 -0700 Message-Id: <20210521212529.821216-2-blp@ovn.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210521212529.821216-1-blp@ovn.org> References: <20210521212529.821216-1-blp@ovn.org> MIME-Version: 1.0 Cc: Ben Pfaff Subject: [ovs-dev] [PATCH ovn 2/3] configure: Improve how to find ddlog binaries and libraries. X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ovs-dev-bounces@openvswitch.org Sender: "dev" There was no easy way to use a ddlog installation from one of the tarballs provided by the ddlog developers, because these put the binaries in a subdirectory of an installation directory instead of in a system- or user-level bin directory. This commit makes that easier: just do "--with-ddlog=$INSTALLDIR". Signed-off-by: Ben Pfaff --- Documentation/intro/install/general.rst | 37 +++++++++++++++++++----- acinclude.m4 | 38 +++++++++++++++++-------- 2 files changed, 56 insertions(+), 19 deletions(-) diff --git a/Documentation/intro/install/general.rst b/Documentation/intro/install/general.rst index ee48272422fe..589518846233 100644 --- a/Documentation/intro/install/general.rst +++ b/Documentation/intro/install/general.rst @@ -213,13 +213,36 @@ the default database directory, add options as shown here:: ``yum install`` or ``rpm -ivh``) and .deb (e.g. via ``apt-get install`` or ``dpkg -i``) use the above configure options. -To build with DDlog support, add ``--with-ddlog=/lib`` -to the ``configure`` command line. Building with DDLog adds a few -minutes to the build because the Rust compiler is slow. To speed this -up by about 2x, also add ``--enable-ddlog-fast-build``. This disables -some Rust compiler optimizations, making a much slower -``ovn-northd-ddlog`` executable, so it should not be used for -production builds or for profiling. +Use ``--with-ddlog`` to build with DDlog support. To build with +DDlog, the build system needs to be able to find the ``ddlog`` and +``ovsdb2ddlog`` binaries and the DDlog library directory (the +directory that contains ``ddlog_std.dl``). This option supports a +few ways to do that: + + * If binaries are in $PATH, use the library directory as argument, + e.g. ``--with-ddlog=$HOME/differential-datalog/lib``. This is + suitable if DDlog was installed from source via ``stack install`` or + from (hypothetical) distribution packaging. + + The DDlog documentation recommends pointing $DDLOG_HOME to the + DDlog source directory. If you did this, so that $DDLOG_HOME/lib + is the library directory, you may use ``--with-ddlog`` without an + argument. + + * If the binaries and libraries are in the ``bin`` and ``lib`` + subdirectories of an installation directory, use the installation + directory as the argument. This is suitable if DDlog was + installed from one of the binary tarballs published by the DDlog + developers. + +.. note:: + + Building with DDLog adds a few minutes to the build because the + Rust compiler is slow. Add ``--enable-ddlog-fast-build`` to make + this about 2x faster. This disables some Rust compiler + optimizations, making a much slower ``ovn-northd-ddlog`` + executable, so it should not be used for production builds or for + profiling. By default, static libraries are built and linked against. If you want to use shared libraries instead:: diff --git a/acinclude.m4 b/acinclude.m4 index d3fb15a1fa46..887c6cc73158 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -51,22 +51,36 @@ dnl ddlog (which is probably only useful for developers who are trying dnl different versions, since OVN is currently bound to a particular dnl DDlog version). AC_DEFUN([OVS_CHECK_DDLOG], [ - AC_ARG_WITH([ddlog], - [AC_HELP_STRING([--with-ddlog=.../differential-datalog/lib], - [Enables DDlog by pointing to its library dir])], - [DDLOGLIBDIR=$withval], [DDLOGLIBDIR=no]) + AC_ARG_VAR([DDLOG_HOME], [Root of the DDlog installation]) + AC_ARG_WITH( + [ddlog], + [AC_HELP_STRING([--with-ddlog[[=INSTALLDIR|LIBDIR]]], [Enables DDlog])], + [DDLOG_PATH=$PATH + if test "$withval" = yes; then + # --with-ddlog: $DDLOG_HOME must be set + if test -z "$DDLOG_HOME"; then + AC_MSG_ERROR([To build with DDlog, specify the DDlog install or library directory on --with-ddlog or in \$DDLOG_HOME]) + fi + DDLOGLIBDIR=$DDLOG_HOME/lib + test -d "$DDLOG_HOME/bin" && DDLOG_PATH=$DDLOG_HOME/bin + elif test -f "$withval/lib/ddlog_std.dl"; then + # --with-ddlog=INSTALLDIR + DDLOGLIBDIR=$withval/lib + test -d "$withval/bin" && DDLOG_PATH=$withval/bin + elif test -f "$withval/ddlog_std.dl"; then + # --with-ddlog=LIBDIR + DDLOGLIBDIR=$withval/lib + else + AC_MSG_ERROR([$withval does not contain ddlog_std.dl or lib/ddlog_std.dl]) + fi], + [DDLOGLIBDIR=no + DDLOG_PATH=no]) AC_MSG_CHECKING([for DDlog library directory]) AC_MSG_RESULT([$DDLOGLIBDIR]) if test "$DDLOGLIBDIR" != no; then - if test ! -d "$DDLOGLIBDIR"; then - AC_MSG_ERROR([ddlog library dir "$DDLOGLIBDIR" doesn't exist]) - elif test ! -f "$DDLOGLIBDIR"/ddlog_std.dl; then - AC_MSG_ERROR([ddlog library dir "$DDLOGLIBDIR" lacks ddlog_std.dl]) - fi - - AC_ARG_VAR([DDLOG]) - AC_CHECK_PROGS([DDLOG], [ddlog], [none]) + AC_ARG_VAR([DDLOG], [path to ddlog binary]) + AC_PATH_PROGS([DDLOG], [ddlog], [none], [$DDLOG_PATH]) if test X"$DDLOG" = X"none"; then AC_MSG_ERROR([ddlog is required to build with DDlog]) fi From patchwork Fri May 21 21:25:29 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ben Pfaff X-Patchwork-Id: 1482335 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=openvswitch.org (client-ip=2605:bc80:3010::137; helo=smtp4.osuosl.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=) Received: from smtp4.osuosl.org (smtp4.osuosl.org [IPv6:2605:bc80:3010::137]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4Fn05R37VYz9sW4 for ; Sat, 22 May 2021 07:25:47 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id 2665441461; Fri, 21 May 2021 21:25:44 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id euMdJPyuNr-I; Fri, 21 May 2021 21:25:43 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by smtp4.osuosl.org (Postfix) with ESMTP id 097A841886; Fri, 21 May 2021 21:25:42 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 4228FC000D; Fri, 21 May 2021 21:25:41 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@lists.linuxfoundation.org Received: from smtp4.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by lists.linuxfoundation.org (Postfix) with ESMTP id 219EAC0001 for ; Fri, 21 May 2021 21:25:40 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp4.osuosl.org (Postfix) with ESMTP id E5A5441460 for ; Fri, 21 May 2021 21:25:39 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp4.osuosl.org ([127.0.0.1]) by localhost (smtp4.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id g5XtuctDwo05 for ; Fri, 21 May 2021 21:25:39 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 Received: from relay4-d.mail.gandi.net (relay4-d.mail.gandi.net [217.70.183.196]) by smtp4.osuosl.org (Postfix) with ESMTPS id DF97E4145E for ; Fri, 21 May 2021 21:25:38 +0000 (UTC) Received: (Authenticated sender: blp@ovn.org) by relay4-d.mail.gandi.net (Postfix) with ESMTPSA id 41E71E0007; Fri, 21 May 2021 21:25:35 +0000 (UTC) From: Ben Pfaff To: dev@openvswitch.org Date: Fri, 21 May 2021 14:25:29 -0700 Message-Id: <20210521212529.821216-3-blp@ovn.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210521212529.821216-1-blp@ovn.org> References: <20210521212529.821216-1-blp@ovn.org> MIME-Version: 1.0 Cc: Ben Pfaff Subject: [ovs-dev] [PATCH ovn 3/3] configure: Also find and verify version of ovsdb2ddlog. X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: ovs-dev-bounces@openvswitch.org Sender: "dev" This tool is also needed and also varies from one version of DDlog to another, so we should find it and check its version in the same way. Signed-off-by: Ben Pfaff --- acinclude.m4 | 24 ++++++++++++++++-------- northd/automake.mk | 4 ++-- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/acinclude.m4 b/acinclude.m4 index 887c6cc73158..0ed805675af9 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -85,14 +85,22 @@ AC_DEFUN([OVS_CHECK_DDLOG], [ AC_MSG_ERROR([ddlog is required to build with DDlog]) fi - AC_MSG_CHECKING([$DDLOG version]) - $DDLOG --version >&AS_MESSAGE_LOG_FD 2>&1 - ddlog_version=$($DDLOG --version | sed -n 's/^DDlog v\([[^ ]]*\).*/\1/p') - AC_MSG_RESULT([$ddlog_version]) - m4_if([$1], [], [], [ - AS_CASE([$ddlog_version], - [$1 | $1.*], [], - [*], [AC_MSG_ERROR([DDlog version $1.x is required, but $ddlog_version is installed])])]) + AC_ARG_VAR([OVSDB2DDLOG], [path to ovsdb2ddlog binary]) + AC_PATH_PROGS([OVSDB2DDLOG], [ovsdb2ddlog], [none], [$DDLOG_PATH]) + if test X"$OVSDB2DDLOG" = X"none"; then + AC_MSG_ERROR([ovsdb2ddlog is required to build with DDlog]) + fi + + for tool in "$DDLOG" "$OVSDB2DDLOG"; do + AC_MSG_CHECKING([$tool version]) + $tool --version >&AS_MESSAGE_LOG_FD 2>&1 + tool_version=$($tool --version | sed -n 's/^.* v\([[^ ]]*\).*/\1/p') + AC_MSG_RESULT([$tool_version]) + m4_if([$1], [], [], [ + AS_CASE([$tool_version], + [$1 | $1.*], [], + [*], [AC_MSG_ERROR([DDlog version $1.x is required, but $tool is version $ddlog_version])])]) + done AC_ARG_VAR([CARGO]) AC_CHECK_PROGS([CARGO], [cargo], [none]) diff --git a/northd/automake.mk b/northd/automake.mk index aaea7e1b1336..4fc81c17bfa3 100644 --- a/northd/automake.mk +++ b/northd/automake.mk @@ -50,13 +50,13 @@ northd_ovn_northd_ddlog_LDADD = \ nb_opts = $$(cat $(srcdir)/northd/ovn-nb.dlopts) northd/OVN_Northbound.dl: ovn-nb.ovsschema northd/ovn-nb.dlopts - $(AM_V_GEN)ovsdb2ddlog -f $< --output-file $@ $(nb_opts) + $(AM_V_GEN)$(OVSDB2DDLOG) -f $< --output-file $@ $(nb_opts) northd/ovn-northd-ddlog-nb.inc: ovn-nb.ovsschema northd/ovn-nb.dlopts northd/ovsdb2ddlog2c $(AM_V_GEN)$(run_python) $(srcdir)/northd/ovsdb2ddlog2c -p nb_ -f $< --output-file $@ $(nb_opts) sb_opts = $$(cat $(srcdir)/northd/ovn-sb.dlopts) northd/OVN_Southbound.dl: ovn-sb.ovsschema northd/ovn-sb.dlopts - $(AM_V_GEN)ovsdb2ddlog -f $< --output-file $@ $(sb_opts) + $(AM_V_GEN)$(OVSDB2DDLOG) -f $< --output-file $@ $(sb_opts) northd/ovn-northd-ddlog-sb.inc: ovn-sb.ovsschema northd/ovn-sb.dlopts northd/ovsdb2ddlog2c $(AM_V_GEN)$(run_python) $(srcdir)/northd/ovsdb2ddlog2c -p sb_ -f $< --output-file $@ $(sb_opts)