mirror of
https://github.com/postgres/postgres.git
synced 2026-01-29 12:02:15 +03:00
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
61 lines
2.0 KiB
Meson
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'],
|
|
}
|