Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
e2051fd7 by Marvin Scholz at 2024-08-08T05:39:46+00:00
meson: refactor definition of flex and bison generators

This allows them to be used easily in other places than the CSS engine
by not tying them conditionally to that but the other way around.

- - - - -


2 changed files:

- meson.build
- modules/codec/meson.build


Changes:

=====================================
meson.build
=====================================
@@ -1032,6 +1032,23 @@ endif
 
 gcrypt_dep = dependency('libgcrypt', required: get_option('libgcrypt'))
 
+# Flex/Bison support
+# This defines the `bison_gen` and `flex_gen` generator variables to be used
+# to process Bison and Flex files respectively.
+
+flex = find_program('flex', required: false)
+bison = find_program('bison', required: false)
+
+if flex.found() and bison.found()
+    bison_gen = generator(bison,
+        output: ['@[email protected]', '@[email protected]'],
+        arguments: ['@INPUT@', '--defines=@OUTPUT1@', '--output=@OUTPUT0@'])
+
+    flex_gen = generator(flex,
+        output: '@[email protected]',
+        arguments: ['-o', '@OUTPUT@', '@INPUT@'])
+endif
+
 # Generate config.h
 configure_file(input: 'config.h.meson',
   output: 'config.h',


=====================================
modules/codec/meson.build
=====================================
@@ -399,22 +399,11 @@ if get_option('stream_outputs')
     )
 endif
 
-# WebVTT CSS engine requires Flex and Bison
-flex = find_program('flex', required: get_option('css_engine'))
-bison = find_program('bison', required: get_option('css_engine'))
-
-if flex.found() and bison.found() and not get_option('css_engine').disabled()
-
-    bison_gen = generator(bison,
-        output: ['@[email protected]', '@[email protected]'],
-        arguments: ['@INPUT@', '--defines=@OUTPUT1@', '--output=@OUTPUT0@'])
+# WebVTT CSS engine (requires Flex and Bison)
+if get_option('css_engine').require(flex.found() and bison.found(),
+        error_message: 'The CSS engine requires the Flex and Bison 
tools').allowed()
 
     webvtt_bison_files = bison_gen.process('webvtt/CSSGrammar.y')
-
-    flex_gen = generator(flex,
-        output: '@[email protected]',
-        arguments: ['-o', '@OUTPUT@', '@INPUT@'])
-
     webvtt_lex_files = flex_gen.process('webvtt/CSSLexer.l')
 
     webvtt_sources += [



View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/e2051fd70f4d1aff33e42efa29ba39f79f7859d6

-- 
View it on GitLab: 
https://code.videolan.org/videolan/vlc/-/commit/e2051fd70f4d1aff33e42efa29ba39f79f7859d6
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance
_______________________________________________
vlc-commits mailing list
[email protected]
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to