Add files related to query jumbling in src/include/nodes/ for meson
[pgsql.git] / src / include / nodes / meson.build
blob9a8e85c4a5e0c4d27cc1eb2e49e4f36e93e4b02a
1 # Copyright (c) 2022-2023, PostgreSQL Global Development Group
3 node_support_input_i = [
4   'nodes/nodes.h',
5   'nodes/primnodes.h',
6   'nodes/parsenodes.h',
7   'nodes/pathnodes.h',
8   'nodes/plannodes.h',
9   'nodes/execnodes.h',
10   'access/amapi.h',
11   'access/sdir.h',
12   'access/tableam.h',
13   'access/tsmapi.h',
14   'commands/event_trigger.h',
15   'commands/trigger.h',
16   'executor/tuptable.h',
17   'foreign/fdwapi.h',
18   'nodes/bitmapset.h',
19   'nodes/extensible.h',
20   'nodes/lockoptions.h',
21   'nodes/miscnodes.h',
22   'nodes/replnodes.h',
23   'nodes/supportnodes.h',
24   'nodes/value.h',
25   'utils/rel.h',
28 node_support_input = []
29 foreach i : node_support_input_i
30   node_support_input += meson.source_root() / 'src' / 'include' / i
31 endforeach
33 node_support_output = [
34   'nodetags.h',
35   'outfuncs.funcs.c', 'outfuncs.switch.c',
36   'readfuncs.funcs.c', 'readfuncs.switch.c',
37   'copyfuncs.funcs.c', 'copyfuncs.switch.c',
38   'equalfuncs.funcs.c', 'equalfuncs.switch.c',
39   'queryjumblefuncs.funcs.c', 'queryjumblefuncs.switch.c',
41 node_support_install = [
42   dir_include_server / 'nodes',
43   false, false,
44   false, false,
45   false, false,
46   false, false,
47   false, false,
50 generated_nodes = custom_target('nodetags.h',
51   input: node_support_input,
52   output: node_support_output,
53   command: [
54     perl, files('../../backend/nodes/gen_node_support.pl'),
55     '-o', '@OUTDIR@',
56     '@INPUT@'],
57   install: true,
58   install_dir: node_support_install,
60 generated_headers += generated_nodes[0]
62 # autoconf generates the file there, ensure we get a conflict
63 generated_sources_ac += {'src/backend/nodes': node_support_output + ['node-support-stamp']}
64 generated_sources_ac += {'src/include/nodes': ['header-stamp']}