mirror of
https://github.com/postgres/postgres.git
synced 2025-09-05 02:22:28 +03:00
meson: Add basic PGXS compatibility
Generate a Makefile.global that's complete enough for PGXS to work for some extensions. It is likely that this compatibility layer will not suffice for every extension and not all platforms - we can expand it over time. This allows extensions to use a single buildsystem across all the supported postgres versions. Once all supported PG versions support meson, we can remove the compatibility layer. Reviewed-by: Peter Eisentraut <peter.eisentraut@enterprisedb.com> Discussion: https://postgr.es/m/20221005200710.luvw5evhwf6clig6@awork3.anarazel.de
This commit is contained in:
@@ -10,3 +10,40 @@ subdir('bin')
|
||||
subdir('pl')
|
||||
|
||||
subdir('interfaces')
|
||||
|
||||
|
||||
### 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')
|
||||
|
Reference in New Issue
Block a user