All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Hemminger <stephen@networkplumber.org>
To: dev@dpdk.org
Cc: Stephen Hemminger <stephen@networkplumber.org>,
	Bruce Richardson <bruce.richardson@intel.com>
Subject: [RFC v2 1/4] config: add support for using flex and bison
Date: Wed,  6 May 2026 17:06:48 -0700	[thread overview]
Message-ID: <20260507001501.608724-2-stephen@networkplumber.org> (raw)
In-Reply-To: <20260507001501.608724-1-stephen@networkplumber.org>

For the flow parsing library need flex and bison and
these might be useful in future for other libraries.
Detect and provide generators for building.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 config/meson.build | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/config/meson.build b/config/meson.build
index 9ba7b9a338..8668546eca 100644
--- a/config/meson.build
+++ b/config/meson.build
@@ -296,6 +296,29 @@ if (pcap_dep.found() and cc.has_header('pcap.h', dependencies: pcap_dep)
     dpdk_extra_ldflags += '-l@0@'.format(pcap_lib)
 endif
 
+# flex and bison are required for libraries using grammars.
+flex  = find_program('flex',  required: false)
+if flex.found()
+    flex_gen = generator(flex,
+        output: '@BASENAME@.yy.c',
+        arguments: ['--outfile=@OUTPUT@', '@INPUT@'],
+    )
+endif
+
+bison = find_program('bison', required: false)
+if bison.found()
+    # Parser generator.  Emits both the .c and a .tab.h
+    bison_gen = generator(bison,
+        output: ['@BASENAME@.tab.c', '@BASENAME@.tab.h'],
+        arguments: [
+            '--defines=@OUTPUT1@',
+            '--output=@OUTPUT0@',
+            '@INPUT@',
+        ],
+    )
+endif
+has_flex_bison = flex.found() and bison.found()
+
 # for clang 32-bit compiles we need libatomic for 64-bit atomic ops
 if cc.get_id() == 'clang' and dpdk_conf.get('RTE_ARCH_64') == false
     atomic_dep = cc.find_library('atomic', required: true)
-- 
2.53.0


  reply	other threads:[~2026-05-07  0:15 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-05 18:39 [PATCH v12 0/6] flow_parser: add shared parser library Lukas Sismis
2026-05-05 18:39 ` [PATCH v12 1/6] cmdline: include stddef.h for MSVC compatibility Lukas Sismis
2026-05-05 18:39 ` [PATCH v12 2/6] ethdev: add RSS type helper APIs Lukas Sismis
2026-05-05 18:39 ` [PATCH v12 3/6] ethdev: add flow parser library Lukas Sismis
2026-05-05 18:39 ` [PATCH v12 4/6] app/testpmd: use flow parser from ethdev Lukas Sismis
2026-05-05 18:39 ` [PATCH v12 5/6] examples/flow_parsing: add flow parser demo Lukas Sismis
2026-05-05 18:39 ` [PATCH v12 6/6] test: add flow parser functional tests Lukas Sismis
2026-05-05 18:46 ` [PATCH v12 0/6] flow_parser: add shared parser library Lukáš Šišmiš
2026-05-05 21:59 ` Stephen Hemminger
2026-05-07 12:29   ` Lukáš Šišmiš
2026-05-06  3:29 ` [RFC PATCH 0/3] flow_compile: textual flow rule compiler Stephen Hemminger
2026-05-06  3:29   ` [RFC 1/3] flow_compile: introduce " Stephen Hemminger
2026-05-06  8:06     ` Bruce Richardson
2026-05-06 10:10       ` Konstantin Ananyev
2026-05-06 15:46       ` Stephen Hemminger
2026-05-06 15:56         ` Bruce Richardson
2026-05-06 17:11           ` Stephen Hemminger
2026-05-06  3:29   ` [RFC 2/3] doc: add programmer's guide for " Stephen Hemminger
2026-05-06  3:29   ` [RFC 3/3] test/flow_compile: add unit tests " Stephen Hemminger
2026-05-22 15:27   ` [RFC PATCH 0/3] flow_compile: textual " Lukáš Šišmiš
2026-05-22 18:16     ` Stephen Hemminger
2026-05-07  0:06 ` [RFC v2 0/4] " Stephen Hemminger
2026-05-07  0:06   ` Stephen Hemminger [this message]
2026-05-07  0:06   ` [RFC v2 2/4] flow_compile: introduce " Stephen Hemminger
2026-05-07  0:06   ` [RFC v2 3/4] doc: add programmer's guide for " Stephen Hemminger
2026-05-07  0:06   ` [RFC v2 4/4] test/flow_compile: add unit tests " Stephen Hemminger
2026-05-07  2:54   ` [RFC v2 0/4] flow_compile: textual " Stephen Hemminger
2026-05-07  8:10   ` Bruce Richardson
2026-05-07 16:09     ` Stephen Hemminger
2026-05-07 16:26       ` Bruce Richardson
2026-05-07 16:57         ` Stephen Hemminger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260507001501.608724-2-stephen@networkplumber.org \
    --to=stephen@networkplumber.org \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.