summaryrefslogtreecommitdiff
path: root/meson.build
diff options
context:
space:
mode:
authorJoel Klinghed <the_jk@spawned.biz>2026-05-01 18:45:23 +0200
committerJoel Klinghed <the_jk@spawned.biz>2026-05-02 10:54:02 +0200
commit19005581a0d35233f862e57308734d3486569bb9 (patch)
tree36b925df49b2f7ca8e4283c0682a3f3087abbce3 /meson.build
parent957b8404b8f902fee6a8de144e6274f05b55d342 (diff)
Diffstat (limited to 'meson.build')
-rw-r--r--meson.build47
1 files changed, 47 insertions, 0 deletions
diff --git a/meson.build b/meson.build
index a8f4b97..aef17c8 100644
--- a/meson.build
+++ b/meson.build
@@ -261,6 +261,36 @@ gen_tokens = executable(
],
)
+gen_syntax = executable(
+ 'gen_syntax',
+ sources: [
+ 'src/gen_syntax.cc',
+ ],
+ include_directories: inc,
+ install : false,
+ dependencies : [
+ args_dep,
+ grammar_dep,
+ prefix_tree_dep,
+ src_dep,
+ ],
+)
+
+gen_ast = executable(
+ 'gen_ast',
+ sources: [
+ 'src/gen_ast.cc',
+ ],
+ include_directories: inc,
+ install : false,
+ dependencies : [
+ args_dep,
+ grammar_dep,
+ src_dep,
+ ],
+)
+
+# Remember to update gen-ast to latest
java_versions = [
'java-8',
'java-21',
@@ -271,7 +301,14 @@ java_unicode_versions = {
'java-21': '15.0.0',
}
+java_ast_sources = custom_target(
+ 'gen-ast',
+ input: ['data/java-21/syntax.grammar'],
+ output: ['java_ast.hh', 'java_ast.cc'],
+ command : [gen_ast, '@INPUT@', '@OUTPUT@'])
+
java_tokens_sources = []
+java_syntax_sources = []
foreach java_version : java_versions
java_unicode_version = 'u' + java_unicode_versions[java_version].replace('.', '_')
java_tokens_sources += custom_target(
@@ -283,6 +320,14 @@ foreach java_version : java_versions
java_version.replace('.', '_').replace('-', '_'),
'--unicode', java_unicode_version,
'@INPUT@', '@OUTPUT@'])
+ java_syntax_sources += custom_target(
+ 'gen-syntax-' + java_version,
+ input: ['data/' + java_version + '/syntax.grammar'],
+ output: ['java_syntax_' + java_version + '.hh',
+ 'java_syntax_' + java_version + '.cc'],
+ command : [gen_syntax, '--namespace',
+ java_version.replace('.', '_').replace('-', '_'),
+ '@INPUT@', '@OUTPUT@'])
endforeach
java_lib = library(
@@ -292,6 +337,8 @@ java_lib = library(
'src/java_tokens.cc',
'src/java_version.hh',
java_tokens_sources,
+ java_ast_sources,
+ java_syntax_sources,
],
include_directories: inc,
dependencies: [