mirror of
https://github.com/postgres/postgres.git
synced 2025-05-30 00:02:11 -04:00
Update the Makefile and build directions for in-tree build, and add Meson build infrastructure. Also convert the ad-hoc test target into a TAP test. Currently, the Make build system will not build pg_bsd_indent by default, while the Meson system will. Both will test it during "make check-world" or "ninja test". Neither will install it automatically. (We might change some of these decisions later.) Also fix a few portability nits noted during early testing. Also, exclude pg_bsd_indent from pgindent's purview; at least for now, we'll leave it formatted similarly to the FreeBSD original. Tom Lane and Andres Freund Discussion: https://postgr.es/m/3935719.1675967430@sss.pgh.pa.us Discussion: https://postgr.es/m/20200812223409.6di3y2qsnvynao7a@alap3.anarazel.de
54 lines
1.3 KiB
Meson
54 lines
1.3 KiB
Meson
# Copyright (c) 2022-2023, PostgreSQL Global Development Group
|
|
|
|
# libraries that other subsystems might depend upon first, in their respective
|
|
# dependency order
|
|
|
|
subdir('timezone')
|
|
|
|
subdir('backend')
|
|
|
|
subdir('bin')
|
|
|
|
subdir('pl')
|
|
|
|
subdir('interfaces')
|
|
|
|
subdir('tools/pg_bsd_indent')
|
|
|
|
|
|
### Generate a Makefile.global that's complete enough for PGXS to work.
|
|
#
|
|
# This is somewhat ugly, but allows extensions to use a single buildsystem
|
|
# across all the supported postgres versions. Once all supported PG versions
|
|
# support meson, we can remove all of this.
|
|
#
|
|
# XXX: Should we make this optional?
|
|
|
|
# pgxs_cdata is built in makefiles/meson.build, but some of the generated
|
|
# files are output into src/
|
|
subdir('makefiles')
|
|
|
|
makefile_global = configure_file(
|
|
input: 'Makefile.global.in',
|
|
output: 'Makefile.global',
|
|
configuration: pgxs_cdata,
|
|
install: true,
|
|
install_dir: dir_pgxs / 'src',
|
|
)
|
|
configure_files += makefile_global
|
|
|
|
makefile_port = configure_file(
|
|
input: 'makefiles' / 'Makefile.@0@'.format(portname),
|
|
output: 'Makefile.port',
|
|
copy: true,
|
|
install_dir: dir_pgxs / 'src')
|
|
configure_files += makefile_port
|
|
|
|
install_data(
|
|
'Makefile.shlib', 'nls-global.mk',
|
|
install_dir: dir_pgxs / 'src')
|
|
|
|
install_data(
|
|
'makefiles/pgxs.mk',
|
|
install_dir: dir_pgxs / 'src' / 'makefiles')
|