1
0
mirror of https://github.com/postgres/postgres.git synced 2026-01-29 12:02:15 +03:00
Files
postgres/src/include/utils/meson.build
Andres Freund a1cd982098 meson: Add dependencies to perl modules to various script invocations
Eventually it is likely worth trying to deal with this in a more expansive
way, by generating dependency files generated within the scripts. But it's not
entirely obvious how to do that in perl and is work more suitable for 17
anyway.

Reported-by: Dagfinn Ilmari Mannsåker <ilmari@ilmari.org>
Reviewed-by: Tristan Partin <tristan@neon.tech>
Discussion: https://postgr.es/m/87v8g7s6bf.fsf@wibble.ilmari.org
2023-06-09 20:12:16 -07:00

61 lines
2.0 KiB
Meson

# Copyright (c) 2022-2023, PostgreSQL Global Development Group
errcodes = custom_target('errcodes',
input: files('../../backend/utils/errcodes.txt'),
output: ['errcodes.h'],
command: [
perl, files('../../backend/utils/generate-errcodes.pl'),
'--outfile', '@OUTPUT@',
'@INPUT@',
],
install: true,
install_dir: dir_include_server / 'utils',
)
generated_headers += errcodes
if dtrace.found()
probes_tmp = custom_target('probes.h.tmp',
input: files('../../backend/utils/probes.d'),
output: 'probes.h.tmp',
command: [dtrace, '-C', '-h', '-s', '@INPUT@', '-o', '@OUTPUT@'],
)
probes = custom_target('probes.h',
input: probes_tmp,
output: 'probes.h',
capture: true,
command: [sed, '-f', files('../../backend/utils/postprocess_dtrace.sed'), '@INPUT@'],
install: true,
install_dir: dir_include_server / 'utils',
)
else
probes = custom_target('probes.h',
input: files('../../backend/utils/probes.d'),
output: 'probes.h',
capture: true,
command: [sed, '-f', files('../../backend/utils/Gen_dummy_probes.sed'), '@INPUT@'],
install: true,
install_dir: dir_include_server / 'utils',
)
endif
generated_backend_headers += probes
fmgrtab_output = ['fmgroids.h', 'fmgrprotos.h', 'fmgrtab.c']
fmgrtab_target = custom_target('fmgrtab',
input: '../catalog/pg_proc.dat',
output : fmgrtab_output,
depend_files: catalog_pm,
command: [perl, '-I', '@SOURCE_ROOT@/src/backend/catalog/', files('../../backend/utils/Gen_fmgrtab.pl'), '--include-path=@SOURCE_ROOT@/src/include', '--output=@OUTDIR@', '@INPUT@'],
install: true,
install_dir: [dir_include_server / 'utils', dir_include_server / 'utils', false],
)
generated_backend_headers += fmgrtab_target[0]
generated_backend_headers += fmgrtab_target[1]
# autoconf generates the file there, ensure we get a conflict
generated_sources_ac += {
'src/backend/utils': fmgrtab_output + ['errcodes.h', 'probes.h', 'fmgr-stamp'],
'src/include/utils': ['header-stamp'],
}