diff options
Diffstat (limited to 'src/backend/parser/meson.build')
-rw-r--r-- | src/backend/parser/meson.build | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/src/backend/parser/meson.build b/src/backend/parser/meson.build new file mode 100644 index 0000000..94517a7 --- /dev/null +++ b/src/backend/parser/meson.build @@ -0,0 +1,50 @@ +# Copyright (c) 2022-2023, PostgreSQL Global Development Group + +backend_sources += files( + 'analyze.c', + 'parse_agg.c', + 'parse_clause.c', + 'parse_coerce.c', + 'parse_collate.c', + 'parse_cte.c', + 'parse_enr.c', + 'parse_expr.c', + 'parse_func.c', + 'parse_merge.c', + 'parse_node.c', + 'parse_oper.c', + 'parse_param.c', + 'parse_relation.c', + 'parse_target.c', + 'parse_type.c', + 'parse_utilcmd.c', + 'scansup.c', +) + +# Build a small utility static lib for the parser. The generation of the +# parser is slow, and building this separately avoids other parts of the +# backend having to wait till gram.h is generated. +parser_sources = files('parser.c') + +backend_scanner = custom_target('scan', + input: 'scan.l', + output: 'scan.c', + command: [flex_cmd, '--no-backup', '--fix-warnings', '--', '-CF', '-p', '-p'], +) +generated_sources += backend_scanner +parser_sources += backend_scanner + +backend_parser = custom_target('gram', + input: 'gram.y', + kwargs: bison_kw, +) +generated_sources += backend_parser.to_list() +parser_sources += backend_parser + +parser = static_library('parser', + parser_sources, + dependencies: [backend_code], + include_directories: include_directories('.'), + kwargs: internal_lib_args, +) +backend_link_with += parser |