diff options
Diffstat (limited to 'contrib')
59 files changed, 1998 insertions, 0 deletions
diff --git a/contrib/adminpack/meson.build b/contrib/adminpack/meson.build new file mode 100644 index 00000000000..fc2368d02cf --- /dev/null +++ b/contrib/adminpack/meson.build @@ -0,0 +1,23 @@ +adminpack = shared_module('adminpack', + ['adminpack.c'], + kwargs: contrib_mod_args, +) +contrib_targets += adminpack + +install_data( + 'adminpack.control', + 'adminpack--1.0.sql', + 'adminpack--1.0--1.1.sql', + 'adminpack--1.1--2.0.sql', + 'adminpack--2.0--2.1.sql', + kwargs: contrib_data_args, +) + +tests += { + 'name': 'adminpack', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': ['adminpack'], + }, +} diff --git a/contrib/amcheck/meson.build b/contrib/amcheck/meson.build new file mode 100644 index 00000000000..1db3d20349e --- /dev/null +++ b/contrib/amcheck/meson.build @@ -0,0 +1,37 @@ +amcheck = shared_module('amcheck', [ + 'verify_heapam.c', + 'verify_nbtree.c', + ], + kwargs: contrib_mod_args, +) +contrib_targets += amcheck + +install_data( + 'amcheck.control', + 'amcheck--1.0.sql', + 'amcheck--1.0--1.1.sql', + 'amcheck--1.1--1.2.sql', + 'amcheck--1.2--1.3.sql', + kwargs: contrib_data_args, +) + +tests += { + 'name': 'amcheck', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': [ + 'check', + 'check_btree', + 'check_heap', + ], + }, + 'tap': { + 'tests': [ + 't/001_verify_heapam.pl', + 't/002_cic.pl', + 't/003_cic_2pc.pl', + ], + }, +} + diff --git a/contrib/auth_delay/meson.build b/contrib/auth_delay/meson.build new file mode 100644 index 00000000000..d2e01968f54 --- /dev/null +++ b/contrib/auth_delay/meson.build @@ -0,0 +1,5 @@ +autoinc = shared_module('auth_delay', + ['auth_delay.c'], + kwargs: contrib_mod_args, +) +contrib_targets += autoinc diff --git a/contrib/auto_explain/meson.build b/contrib/auto_explain/meson.build new file mode 100644 index 00000000000..249a8376faa --- /dev/null +++ b/contrib/auto_explain/meson.build @@ -0,0 +1,16 @@ +auto_explain = shared_module('auto_explain', + files('auto_explain.c'), + kwargs: contrib_mod_args, +) +contrib_targets += auto_explain + +tests += { + 'name': 'auto_explain', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'tap': { + 'tests': [ + 't/001_auto_explain.pl', + ], + }, +} diff --git a/contrib/basebackup_to_shell/meson.build b/contrib/basebackup_to_shell/meson.build new file mode 100644 index 00000000000..9f0517f1701 --- /dev/null +++ b/contrib/basebackup_to_shell/meson.build @@ -0,0 +1,22 @@ +basebackup_to_shell_sources = files( + 'basebackup_to_shell.c', +) + +basebackup_to_shell = shared_module('basebackup_to_shell', + basebackup_to_shell_sources, + kwargs: contrib_mod_args, +) +contrib_targets += basebackup_to_shell + +tests += { + 'name': 'basebackup_to_shell', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'tap': { + 'tests': [ + 't/001_basic.pl', + ], + 'env': {'GZIP_PROGRAM': gzip.path(), + 'TAR': tar.path()}, + }, +} diff --git a/contrib/basic_archive/meson.build b/contrib/basic_archive/meson.build new file mode 100644 index 00000000000..b67cbef60bd --- /dev/null +++ b/contrib/basic_archive/meson.build @@ -0,0 +1,23 @@ +basic_archive_sources = files( + 'basic_archive.c', +) + +basic_archive = shared_module('basic_archive', + basic_archive_sources, + kwargs: contrib_mod_args, +) +contrib_targets += basic_archive + +tests += { + 'name': 'basic_archive', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': [ + 'basic_archive', + ], + 'regress_args': [ + '--temp-config', files('basic_archive.conf'), + ], + }, +} diff --git a/contrib/bloom/meson.build b/contrib/bloom/meson.build new file mode 100644 index 00000000000..1fe7632bdbe --- /dev/null +++ b/contrib/bloom/meson.build @@ -0,0 +1,36 @@ +bloom_sources = files( + 'blcost.c', + 'blinsert.c', + 'blscan.c', + 'blutils.c', + 'blvacuum.c', + 'blvalidate.c', +) + +bloom = shared_module('bloom', + bloom_sources, + kwargs: contrib_mod_args, +) +contrib_targets += bloom + +install_data( + 'bloom.control', + 'bloom--1.0.sql', + kwargs: contrib_data_args, +) + +tests += { + 'name': 'bloom', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': [ + 'bloom', + ], + }, + 'tap': { + 'tests': [ + 't/001_wal.pl', + ], + }, +} diff --git a/contrib/bool_plperl/meson.build b/contrib/bool_plperl/meson.build new file mode 100644 index 00000000000..c20b667d75f --- /dev/null +++ b/contrib/bool_plperl/meson.build @@ -0,0 +1,42 @@ +if not perl_dep.found() + subdir_done() +endif + +bool_plperl_sources = files( + 'bool_plperl.c', +) + +bool_plperl = shared_module('bool_plperl', + bool_plperl_sources, + include_directories: [plperl_inc, include_directories('.')], + kwargs: contrib_mod_args + { + 'dependencies': [perl_dep, contrib_mod_args['dependencies']], + 'install_rpath': ':'.join(mod_install_rpaths + ['@0@/CORE'.format(archlibexp)]), + 'build_rpath': '@0@/CORE'.format(archlibexp), + }, +) +contrib_targets += bool_plperl + +install_data( + 'bool_plperl.control', + 'bool_plperl--1.0.sql', + kwargs: contrib_data_args, +) + +install_data( + 'bool_plperlu.control', + 'bool_plperlu--1.0.sql', + kwargs: contrib_data_args, +) + +tests += { + 'name': 'bool_plperl', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': [ + 'bool_plperl', + 'bool_plperlu', + ], + }, +} diff --git a/contrib/btree_gin/meson.build b/contrib/btree_gin/meson.build new file mode 100644 index 00000000000..15d6d31a6ee --- /dev/null +++ b/contrib/btree_gin/meson.build @@ -0,0 +1,54 @@ +btree_gin = shared_module('btree_gin', + files('btree_gin.c'), + kwargs: contrib_mod_args, +) +contrib_targets += btree_gin + +install_data( + 'btree_gin.control', + 'btree_gin--1.0.sql', + 'btree_gin--1.0--1.1.sql', + 'btree_gin--1.1--1.2.sql', + 'btree_gin--1.2--1.3.sql', + kwargs: contrib_data_args, +) + +tests += { + 'name': 'btree_gin', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': [ + 'install_btree_gin', + 'int2', + 'int4', + 'int8', + 'float4', + 'float8', + 'money', + 'oid', + 'timestamp', + 'timestamptz', + 'time', + 'timetz', + 'date', + 'interval', + 'macaddr', + 'macaddr8', + 'inet', + 'cidr', + 'text', + 'varchar', + 'char', + 'bytea', + 'bit', + 'varbit', + 'numeric', + 'enum', + 'uuid', + 'name', + 'bool', + 'bpchar', + ], + }, +} diff --git a/contrib/btree_gist/meson.build b/contrib/btree_gist/meson.build new file mode 100644 index 00000000000..c0a8d238540 --- /dev/null +++ b/contrib/btree_gist/meson.build @@ -0,0 +1,84 @@ +btree_gist_sources = files( + 'btree_bit.c', + 'btree_bool.c', + 'btree_bytea.c', + 'btree_cash.c', + 'btree_date.c', + 'btree_enum.c', + 'btree_float4.c', + 'btree_float8.c', + 'btree_gist.c', + 'btree_inet.c', + 'btree_int2.c', + 'btree_int4.c', + 'btree_int8.c', + 'btree_interval.c', + 'btree_macaddr.c', + 'btree_macaddr8.c', + 'btree_numeric.c', + 'btree_oid.c', + 'btree_text.c', + 'btree_time.c', + 'btree_ts.c', + 'btree_utils_num.c', + 'btree_utils_var.c', + 'btree_uuid.c', +) + +btree_gist = shared_module('btree_gist', + btree_gist_sources, + kwargs: contrib_mod_args, +) +contrib_targets += btree_gist + +install_data( + 'btree_gist.control', + 'btree_gist--1.0--1.1.sql', + 'btree_gist--1.1--1.2.sql', + 'btree_gist--1.2.sql', + 'btree_gist--1.2--1.3.sql', + 'btree_gist--1.3--1.4.sql', + 'btree_gist--1.4--1.5.sql', + 'btree_gist--1.5--1.6.sql', + 'btree_gist--1.6--1.7.sql', + kwargs: contrib_data_args, +) + +tests += { + 'name': 'btree_gist', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': [ + 'init', + 'int2', + 'int4', + 'int8', + 'float4', + 'float8', + 'cash', + 'oid', + 'timestamp', + 'timestamptz', + 'time', + 'timetz', + 'date', + 'interval', + 'macaddr', + 'macaddr8', + 'inet', + 'cidr', + 'text', + 'varchar', + 'char', + 'bytea', + 'bit', + 'varbit', + 'numeric', + 'uuid', + 'not_equal', + 'enum', + 'bool', + ], + }, +} diff --git a/contrib/citext/meson.build b/contrib/citext/meson.build new file mode 100644 index 00000000000..ca60eded80b --- /dev/null +++ b/contrib/citext/meson.build @@ -0,0 +1,34 @@ +citext_sources = files( + 'citext.c', +) + +citext = shared_module('citext', + citext_sources, + kwargs: contrib_mod_args, +) +contrib_targets += citext + +install_data( + 'citext.control', + 'citext--1.0--1.1.sql', + 'citext--1.1--1.2.sql', + 'citext--1.2--1.3.sql', + 'citext--1.3--1.4.sql', + 'citext--1.4.sql', + 'citext--1.4--1.5.sql', + 'citext--1.5--1.6.sql', + kwargs: contrib_data_args, +) + +tests += { + 'name': 'citext', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': [ + 'create_index_acl', + 'citext', + 'citext_utf8', + ], + }, +} diff --git a/contrib/cube/meson.build b/contrib/cube/meson.build new file mode 100644 index 00000000000..72342b0c82c --- /dev/null +++ b/contrib/cube/meson.build @@ -0,0 +1,53 @@ +cube_sources = files( + 'cube.c', +) + +cube_scan = custom_target('cubescan', + input: 'cubescan.l', + output: 'cubescan.c', + command: flex_cmd, +) +generated_sources += cube_scan +cube_sources += cube_scan + +cube_parse = custom_target('cubeparse', + input: 'cubeparse.y', + kwargs: bison_kw, +) +generated_sources += cube_parse.to_list() +cube_sources += cube_parse + +cube = shared_module('cube', + cube_sources, + include_directories: include_directories('.'), + kwargs: contrib_mod_args, +) +contrib_targets += cube + +install_data( + 'cube.control', + 'cube--1.0--1.1.sql', + 'cube--1.1--1.2.sql', + 'cube--1.2.sql', + 'cube--1.2--1.3.sql', + 'cube--1.3--1.4.sql', + 'cube--1.4--1.5.sql', + kwargs: contrib_data_args, +) + +install_headers( + 'cubedata.h', + install_dir: dir_include_extension / 'cube', +) + +tests += { + 'name': 'cube', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': [ + 'cube', + 'cube_sci', + ], + }, +} diff --git a/contrib/dblink/meson.build b/contrib/dblink/meson.build new file mode 100644 index 00000000000..d35f7b5d49e --- /dev/null +++ b/contrib/dblink/meson.build @@ -0,0 +1,31 @@ +dblink_sources = files( + 'dblink.c', +) + +dblink = shared_module('dblink', + dblink_sources, + kwargs: contrib_mod_args + { + 'dependencies': contrib_mod_args['dependencies'] + [libpq], + }, +) +contrib_targets += dblink + +install_data( + 'dblink.control', + 'dblink--1.0--1.1.sql', + 'dblink--1.1--1.2.sql', + 'dblink--1.2.sql', + kwargs: contrib_data_args, +) + +tests += { + 'name': 'dblink', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': [ + 'dblink', + ], + 'regress_args': ['--dlpath', meson.build_root() / 'src/test/regress'], + }, +} diff --git a/contrib/dict_int/meson.build b/contrib/dict_int/meson.build new file mode 100644 index 00000000000..f00e8085619 --- /dev/null +++ b/contrib/dict_int/meson.build @@ -0,0 +1,22 @@ +dict_int = shared_module('dict_int', + files('dict_int.c'), + kwargs: contrib_mod_args, +) +contrib_targets += dict_int + +install_data( + 'dict_int.control', + 'dict_int--1.0.sql', + kwargs: contrib_data_args, +) + +tests += { + 'name': 'dict_int', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': [ + 'dict_int', + ], + }, +} diff --git a/contrib/dict_xsyn/meson.build b/contrib/dict_xsyn/meson.build new file mode 100644 index 00000000000..be53f55bb79 --- /dev/null +++ b/contrib/dict_xsyn/meson.build @@ -0,0 +1,29 @@ +dict_xsyn = shared_module('dict_xsyn', + files('dict_xsyn.c'), + kwargs: contrib_mod_args, +) +contrib_targets += dict_xsyn + +install_data( + 'dict_xsyn.control', + 'dict_xsyn--1.0.sql', + kwargs: contrib_data_args, +) + +install_data( + 'xsyn_sample.rules', + kwargs: contrib_data_args + { + 'install_dir': dir_data / 'tsearch_data' + } +) + +tests += { + 'name': 'dict_xsyn', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': [ + 'dict_xsyn', + ], + }, +} diff --git a/contrib/earthdistance/meson.build b/contrib/earthdistance/meson.build new file mode 100644 index 00000000000..807f5cb7de3 --- /dev/null +++ b/contrib/earthdistance/meson.build @@ -0,0 +1,23 @@ +earthdistance = shared_module('earthdistance', + files('earthdistance.c'), + kwargs: contrib_mod_args, +) +contrib_targets += earthdistance + +install_data( + 'earthdistance.control', + 'earthdistance--1.0--1.1.sql', + 'earthdistance--1.1.sql', + kwargs: contrib_data_args, +) + +tests += { + 'name': 'earthdistance', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': [ + 'earthdistance', + ], + }, +} diff --git a/contrib/file_fdw/meson.build b/contrib/file_fdw/meson.build new file mode 100644 index 00000000000..f13efb6e38e --- /dev/null +++ b/contrib/file_fdw/meson.build @@ -0,0 +1,22 @@ +file_fdw = shared_module('file_fdw', + files('file_fdw.c'), + kwargs: contrib_mod_args, +) +contrib_targets += file_fdw + +install_data( + 'file_fdw.control', + 'file_fdw--1.0.sql', + kwargs: contrib_data_args, +) + +tests += { + 'name': 'file_fdw', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': [ + 'file_fdw', + ], + }, +} diff --git a/contrib/fuzzystrmatch/meson.build b/contrib/fuzzystrmatch/meson.build new file mode 100644 index 00000000000..ec278a6211e --- /dev/null +++ b/contrib/fuzzystrmatch/meson.build @@ -0,0 +1,26 @@ +fuzzystrmatch = shared_module('fuzzystrmatch', + files( + 'fuzzystrmatch.c', + 'dmetaphone.c' + ), + kwargs: contrib_mod_args, +) +contrib_targets += fuzzystrmatch + +install_data( + 'fuzzystrmatch.control', + 'fuzzystrmatch--1.0--1.1.sql', + 'fuzzystrmatch--1.1.sql', + kwargs: contrib_data_args, +) + +tests += { + 'name': 'fuzzystrmatch', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': [ + 'fuzzystrmatch', + ], + }, +} diff --git a/contrib/hstore/meson.build b/contrib/hstore/meson.build new file mode 100644 index 00000000000..07c59f40a97 --- /dev/null +++ b/contrib/hstore/meson.build @@ -0,0 +1,44 @@ +# .. so that includes of hstore/hstore.h work +hstore_inc = include_directories('.', '../') + +hstore = shared_module('hstore', + files( + 'hstore_compat.c', + 'hstore_gin.c', + 'hstore_gist.c', + 'hstore_io.c', + 'hstore_op.c', + 'hstore_subs.c', + ), + kwargs: contrib_mod_args, +) +contrib_targets += hstore + +install_data( + 'hstore.control', + 'hstore--1.1--1.2.sql', + 'hstore--1.2--1.3.sql', + 'hstore--1.3--1.4.sql', + 'hstore--1.4.sql', + 'hstore--1.4--1.5.sql', + 'hstore--1.5--1.6.sql', + 'hstore--1.6--1.7.sql', + 'hstore--1.7--1.8.sql', + kwargs: contrib_data_args, +) + +install_headers( + 'hstore.h', + install_dir: dir_include_extension / 'hstore', +) + +tests += { + 'name': 'hstore', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': [ + 'hstore', + ], + }, +} diff --git a/contrib/hstore_plperl/meson.build b/contrib/hstore_plperl/meson.build new file mode 100644 index 00000000000..bbafa0221bd --- /dev/null +++ b/contrib/hstore_plperl/meson.build @@ -0,0 +1,43 @@ +if not perl_dep.found() + subdir_done() +endif + +hstore_plperl_sources = files( + 'hstore_plperl.c', +) + +hstore_plperl = shared_module('hstore_plperl', + hstore_plperl_sources, + include_directories: [plperl_inc, hstore_inc], + kwargs: contrib_mod_args + { + 'dependencies': [perl_dep, contrib_mod_args['dependencies']], + 'install_rpath': ':'.join(mod_install_rpaths + ['@0@/CORE'.format(archlibexp)]), + 'build_rpath': '@0@/CORE'.format(archlibexp), + }, +) +contrib_targets += hstore_plperl + +install_data( + 'hstore_plperl.control', + 'hstore_plperl--1.0.sql', + kwargs: contrib_data_args, +) + +install_data( + 'hstore_plperlu.control', + 'hstore_plperlu--1.0.sql', + kwargs: contrib_data_args, +) + +tests += { + 'name': 'hstore_plperl', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': [ + 'hstore_plperl', + 'hstore_plperlu', + 'create_transform', + ], + }, +} diff --git a/contrib/hstore_plpython/meson.build b/contrib/hstore_plpython/meson.build new file mode 100644 index 00000000000..214b48519a9 --- /dev/null +++ b/contrib/hstore_plpython/meson.build @@ -0,0 +1,37 @@ +if not python3_dep.found() + subdir_done() +endif + +hstore_plpython_sources = files( + 'hstore_plpython.c', +) + +hstore_plpython = shared_module('hstore_plpython3', + hstore_plpython_sources, + include_directories: [plpython_inc, hstore_inc, ], + c_args: ['-DPLPYTHON_LIBNAME="plpython3"'], + kwargs: contrib_mod_args + { + 'dependencies': [python3_dep, contrib_mod_args['dependencies']], + }, +) +contrib_targets += hstore_plpython + +install_data( + 'hstore_plpython3u--1.0.sql', + 'hstore_plpython3u.control', + kwargs: contrib_data_args, +) + +hstore_plpython_regress = [ + 'hstore_plpython' +] + +tests += { + 'name': 'hstore_plpython', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': hstore_plpython_regress, + 'regress_args': ['--load-extension=hstore'], + }, +} diff --git a/contrib/intagg/meson.build b/contrib/intagg/meson.build new file mode 100644 index 00000000000..a0f39366f47 --- /dev/null +++ b/contrib/intagg/meson.build @@ -0,0 +1,6 @@ +install_data( + 'intagg.control', + 'intagg--1.0--1.1.sql', + 'intagg--1.1.sql', + kwargs: contrib_data_args, +) diff --git a/contrib/intarray/meson.build b/contrib/intarray/meson.build new file mode 100644 index 00000000000..1655bcbb3fd --- /dev/null +++ b/contrib/intarray/meson.build @@ -0,0 +1,37 @@ +intarray_sources = files( + '_int_bool.c', + '_int_gin.c', + '_int_gist.c', + '_int_op.c', + '_int_selfuncs.c', + '_int_tool.c', + '_intbig_gist.c', +) + +intarray = shared_module('_int', + intarray_sources, + kwargs: contrib_mod_args, +) +contrib_targets += intarray + +install_data( + 'intarray.control', + 'intarray--1.0--1.1.sql', + 'intarray--1.1--1.2.sql', + 'intarray--1.2.sql', + 'intarray--1.2--1.3.sql', + 'intarray--1.3--1.4.sql', + 'intarray--1.4--1.5.sql', + kwargs: contrib_data_args, +) + +tests += { + 'name': 'intarray', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': [ + '_int', + ], + }, +} diff --git a/contrib/isn/meson.build b/contrib/isn/meson.build new file mode 100644 index 00000000000..cc30bbeb55c --- /dev/null +++ b/contrib/isn/meson.build @@ -0,0 +1,33 @@ +isn_sources = files( + 'isn.c', +) + +isn = shared_module('isn', + isn_sources, + kwargs: contrib_mod_args, +) +contrib_targets += isn + +install_data( + 'isn.control', + 'isn--1.0--1.1.sql', + 'isn--1.1--1.2.sql', + 'isn--1.1.sql', + kwargs: contrib_data_args, +) + +install_headers( + 'isn.h', + install_dir: dir_include_extension / 'isn', +) + +tests += { + 'name': 'isn', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': [ + 'isn', + ], + }, +} diff --git a/contrib/jsonb_plperl/meson.build b/contrib/jsonb_plperl/meson.build new file mode 100644 index 00000000000..5c915d8ed94 --- /dev/null +++ b/contrib/jsonb_plperl/meson.build @@ -0,0 +1,43 @@ +if not perl_dep.found() + subdir_done() +endif + +jsonb_plperl_sources = files( + 'jsonb_plperl.c', +) + +jsonb_plperl = shared_module('jsonb_plperl', + jsonb_plperl_sources, + include_directories: [plperl_inc], + kwargs: contrib_mod_args + { + 'dependencies': [perl_dep, contrib_mod_args['dependencies']], + 'install_rpath': ':'.join(mod_install_rpaths + ['@0@/CORE'.format(archlibexp)]), + 'build_rpath': '@0@/CORE'.format(archlibexp), + }, +) +contrib_targets += jsonb_plperl + +install_data( + 'jsonb_plperl.control', + 'jsonb_plperl--1.0.sql', + kwargs: contrib_data_args, +) + +install_data( + 'jsonb_plperlu.control', + 'jsonb_plperlu--1.0.sql', + kwargs: contrib_data_args, +) + + +tests += { + 'name': 'jsonb_plperl', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': [ + 'jsonb_plperl', + 'jsonb_plperlu', + ], + }, +} diff --git a/contrib/jsonb_plpython/meson.build b/contrib/jsonb_plpython/meson.build new file mode 100644 index 00000000000..de8e1105c6a --- /dev/null +++ b/contrib/jsonb_plpython/meson.build @@ -0,0 +1,36 @@ +if not python3_dep.found() + subdir_done() +endif + +jsonb_plpython_sources = files( + 'jsonb_plpython.c', +) + +jsonb_plpython = shared_module('jsonb_plpython3', + jsonb_plpython_sources, + include_directories: [plpython_inc], + c_args: ['-DPLPYTHON_LIBNAME="plpython3"'], + kwargs: contrib_mod_args + { + 'dependencies': [python3_dep, contrib_mod_args['dependencies']], + }, +) +contrib_targets += jsonb_plpython + +install_data( + 'jsonb_plpython3u.control', + 'jsonb_plpython3u--1.0.sql', + kwargs: contrib_data_args, +) + +jsonb_plpython_regress = [ + 'jsonb_plpython' +] + +tests += { + 'name': 'jsonb_plpython', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': jsonb_plpython_regress, + }, +} diff --git a/contrib/lo/meson.build b/contrib/lo/meson.build new file mode 100644 index 00000000000..9082d5713c7 --- /dev/null +++ b/contrib/lo/meson.build @@ -0,0 +1,27 @@ +lo_sources = files( + 'lo.c', +) + +lo = shared_module('lo', + lo_sources, + kwargs: contrib_mod_args, +) +contrib_targets += lo + +install_data( + 'lo.control', + 'lo--1.0--1.1.sql', + 'lo--1.1.sql', + kwargs: contrib_data_args, +) + +tests += { + 'name': 'lo', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': [ + 'lo', + ], + }, +} diff --git a/contrib/ltree/meson.build b/contrib/ltree/meson.build new file mode 100644 index 00000000000..9463fc2c5e5 --- /dev/null +++ b/contrib/ltree/meson.build @@ -0,0 +1,44 @@ +ltree_sources = files( + '_ltree_gist.c', + '_ltree_op.c', + 'crc32.c', + 'lquery_op.c', + 'ltree_gist.c', + 'ltree_io.c', + 'ltree_op.c', + 'ltxtquery_io.c', + 'ltxtquery_op.c', +) + +# .. so that includes of ltree/ltree.h work +ltree_inc = include_directories('.', '../') + +ltree = shared_module('ltree', + ltree_sources, + kwargs: contrib_mod_args, +) +contrib_targets += ltree + +install_data( + 'ltree.control', + 'ltree--1.0--1.1.sql', + 'ltree--1.1--1.2.sql', + 'ltree--1.1.sql', + kwargs: contrib_data_args, +) + +install_headers( + 'ltree.h', + install_dir: dir_include_extension / 'ltree', +) + +tests += { + 'name': 'ltree', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': [ + 'ltree', + ], + }, +} diff --git a/contrib/ltree_plpython/meson.build b/contrib/ltree_plpython/meson.build new file mode 100644 index 00000000000..429d75006aa --- /dev/null +++ b/contrib/ltree_plpython/meson.build @@ -0,0 +1,37 @@ +if not python3_dep.found() + subdir_done() +endif + +ltree_plpython_sources = files( + 'ltree_plpython.c', +) + +ltree_plpython = shared_module('ltree_plpython3', + ltree_plpython_sources, + include_directories: [plpython_inc, ltree_inc], + c_args: ['-DPLPYTHON_LIBNAME="plpython3"'], + kwargs: contrib_mod_args + { + 'dependencies': [python3_dep, contrib_mod_args['dependencies']], + }, +) +contrib_targets += ltree_plpython + +install_data( + 'ltree_plpython3u--1.0.sql', + 'ltree_plpython3u.control', + kwargs: contrib_data_args, +) + +ltree_plpython_regress = [ + 'ltree_plpython' +] + +tests += { + 'name': 'ltree_plpython', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': ltree_plpython_regress, + 'regress_args': ['--load-extension=ltree'], + }, +} diff --git a/contrib/meson.build b/contrib/meson.build new file mode 100644 index 00000000000..84752d4bd0f --- /dev/null +++ b/contrib/meson.build @@ -0,0 +1,66 @@ +contrib_mod_args = pg_mod_args + +contrib_data_dir = dir_data_extension +contrib_data_args = { + 'install_dir': contrib_data_dir, +} + +subdir('adminpack') +subdir('amcheck') +subdir('auth_delay') +subdir('auto_explain') +subdir('basic_archive') +subdir('bloom') +subdir('basebackup_to_shell') +subdir('bool_plperl') +subdir('btree_gin') +subdir('btree_gist') +subdir('citext') +subdir('cube') +subdir('dblink') +subdir('dict_int') +subdir('dict_xsyn') +subdir('earthdistance') +subdir('file_fdw') +subdir('fuzzystrmatch') +subdir('hstore') +subdir('hstore_plperl') +subdir('hstore_plpython') +subdir('intagg') +subdir('intarray') +subdir('isn') +subdir('jsonb_plperl') +subdir('jsonb_plpython') +subdir('lo') +subdir('ltree') +subdir('ltree_plpython') +subdir('oid2name') +subdir('old_snapshot') +subdir('pageinspect') +subdir('passwordcheck') +subdir('pg_buffercache') +subdir('pgcrypto') +subdir('pg_freespacemap') +subdir('pg_prewarm') +subdir('pgrowlocks') +subdir('pg_stat_statements') +subdir('pgstattuple') +subdir('pg_surgery') +subdir('pg_trgm') +subdir('pg_visibility') +subdir('pg_walinspect') +subdir('postgres_fdw') +subdir('seg') +subdir('sepgsql') +subdir('spi') +subdir('sslinfo') +# start-scripts doesn't contain build products +subdir('tablefunc') +subdir('tcn') +subdir('test_decoding') +subdir('tsm_system_rows') +subdir('tsm_system_time') +subdir('unaccent') +subdir('uuid-ossp') +subdir('vacuumlo') +subdir('xml2') diff --git a/contrib/oid2name/meson.build b/contrib/oid2name/meson.build new file mode 100644 index 00000000000..1dad5d8f6e7 --- /dev/null +++ b/contrib/oid2name/meson.build @@ -0,0 +1,17 @@ +oid2name = executable('oid2name', + ['oid2name.c'], + dependencies: [frontend_code, libpq], + kwargs: default_bin_args, +) +contrib_targets += oid2name + +tests += { + 'name': 'oid2name', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'tap': { + 'tests': [ + 't/001_basic.pl', + ], + }, +} diff --git a/contrib/old_snapshot/meson.build b/contrib/old_snapshot/meson.build new file mode 100644 index 00000000000..8e7ee09a43a --- /dev/null +++ b/contrib/old_snapshot/meson.build @@ -0,0 +1,15 @@ +old_snapshot_sources = files( + 'time_mapping.c', +) + +old_snapshot = shared_module('old_snapshot', + old_snapshot_sources, + kwargs: contrib_mod_args, +) +contrib_targets += old_snapshot + +install_data( + 'old_snapshot.control', + 'old_snapshot--1.0.sql', + kwargs: contrib_data_args, +) diff --git a/contrib/pageinspect/meson.build b/contrib/pageinspect/meson.build new file mode 100644 index 00000000000..4af8153e4fd --- /dev/null +++ b/contrib/pageinspect/meson.build @@ -0,0 +1,50 @@ +pageinspect_sources = files( + 'brinfuncs.c', + 'btreefuncs.c', + 'fsmfuncs.c', + 'ginfuncs.c', + 'gistfuncs.c', + 'hashfuncs.c', + 'heapfuncs.c', + 'rawpage.c', +) + +pageinspect = shared_module('pageinspect', + pageinspect_sources, + kwargs: contrib_mod_args, +) +contrib_targets += pageinspect + +install_data( + 'pageinspect--1.0--1.1.sql', + 'pageinspect--1.1--1.2.sql', + 'pageinspect--1.2--1.3.sql', + 'pageinspect--1.3--1.4.sql', + 'pageinspect--1.4--1.5.sql', + 'pageinspect--1.5--1.6.sql', + 'pageinspect--1.5.sql', + 'pageinspect--1.6--1.7.sql', + 'pageinspect--1.7--1.8.sql', + 'pageinspect--1.8--1.9.sql', + 'pageinspect--1.9--1.10.sql', + 'pageinspect.control', + kwargs: contrib_data_args, +) + +tests += { + 'name': 'pageinspect', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': [ + 'page', + 'btree', + 'brin', + 'gin', + 'gist', + 'hash', + 'checksum', + 'oldextversions', + ], + }, +} diff --git a/contrib/passwordcheck/meson.build b/contrib/passwordcheck/meson.build new file mode 100644 index 00000000000..7da47d02f1d --- /dev/null +++ b/contrib/passwordcheck/meson.build @@ -0,0 +1,30 @@ +passwordcheck_sources = files( + 'passwordcheck.c', +) + +passwordcheck_c_args = [] +passwordcheck_deps = [] + +# uncomment the following two lines to enable cracklib support +# passwordcheck_c_args += ['-DUSE_CRACKLIB', '-DCRACKLIB_DICTPATH="/usr/lib/cracklib_dict"'] +# passwordcheck_deps += [cc.find_library('crack')] + +passwordcheck = shared_module('passwordcheck', + passwordcheck_sources, + c_args: passwordcheck_c_args, + kwargs: contrib_mod_args + { + 'dependencies': contrib_mod_args.get('dependencies') + passwordcheck_deps, + } +) +contrib_targets += passwordcheck + +tests += { + 'name': 'passwordcheck', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': [ + 'passwordcheck', + ], + }, +} diff --git a/contrib/pg_buffercache/meson.build b/contrib/pg_buffercache/meson.build new file mode 100644 index 00000000000..2c69eae3ea2 --- /dev/null +++ b/contrib/pg_buffercache/meson.build @@ -0,0 +1,27 @@ +pg_buffercache = shared_module('pg_buffercache', + files( + 'pg_buffercache_pages.c', + ), + kwargs: contrib_mod_args, +) +contrib_targets += pg_buffercache + +install_data( + 'pg_buffercache--1.0--1.1.sql', + 'pg_buffercache--1.1--1.2.sql', + 'pg_buffercache--1.2--1.3.sql', + 'pg_buffercache--1.2.sql', + 'pg_buffercache.control', + kwargs: contrib_data_args, +) + +tests += { + 'name': 'pg_buffercache', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': [ + 'pg_buffercache', + ], + }, +} diff --git a/contrib/pg_freespacemap/meson.build b/contrib/pg_freespacemap/meson.build new file mode 100644 index 00000000000..f795014d7ca --- /dev/null +++ b/contrib/pg_freespacemap/meson.build @@ -0,0 +1,29 @@ +pg_freespacemap = shared_module('pg_freespacemap', + files( + 'pg_freespacemap.c', + ), + kwargs: contrib_mod_args, +) +contrib_targets += pg_freespacemap + +install_data( + 'pg_freespacemap--1.0--1.1.sql', + 'pg_freespacemap--1.1--1.2.sql', + 'pg_freespacemap--1.1.sql', + 'pg_freespacemap.control', + kwargs: contrib_data_args, +) + +tests += { + 'name': 'pg_freespacemap', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': [ + 'pg_freespacemap', + ], + 'regress_args': [ + '--temp-config', files('pg_freespacemap.conf') + ], + }, +} diff --git a/contrib/pg_prewarm/meson.build b/contrib/pg_prewarm/meson.build new file mode 100644 index 00000000000..bdca9af4f27 --- /dev/null +++ b/contrib/pg_prewarm/meson.build @@ -0,0 +1,27 @@ +pg_prewarm = shared_module('pg_prewarm', + files( + 'autoprewarm.c', + 'pg_prewarm.c', + ), + kwargs: contrib_mod_args, +) +contrib_targets += pg_prewarm + +install_data( + 'pg_prewarm--1.0--1.1.sql', + 'pg_prewarm--1.1--1.2.sql', + 'pg_prewarm--1.1.sql', + 'pg_prewarm.control', + kwargs: contrib_data_args, +) + +tests += { + 'name': 'pg_prewarm', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'tap': { + 'tests': [ + 't/001_basic.pl', + ], + }, +} diff --git a/contrib/pg_stat_statements/meson.build b/contrib/pg_stat_statements/meson.build new file mode 100644 index 00000000000..ac117d2fc1d --- /dev/null +++ b/contrib/pg_stat_statements/meson.build @@ -0,0 +1,35 @@ +pg_stat_statements = shared_module('pg_stat_statements', + files('pg_stat_statements.c'), + kwargs: contrib_mod_args + { + 'dependencies': contrib_mod_args['dependencies'], + }, +) +contrib_targets += pg_stat_statements + +install_data( + 'pg_stat_statements.control', + 'pg_stat_statements--1.4.sql', + 'pg_stat_statements--1.9--1.10.sql', + 'pg_stat_statements--1.8--1.9.sql', + 'pg_stat_statements--1.7--1.8.sql', + 'pg_stat_statements--1.6--1.7.sql', + 'pg_stat_statements--1.5--1.6.sql', + 'pg_stat_statements--1.4--1.5.sql', + 'pg_stat_statements--1.3--1.4.sql', + 'pg_stat_statements--1.2--1.3.sql', + 'pg_stat_statements--1.1--1.2.sql', + 'pg_stat_statements--1.0--1.1.sql', + kwargs: contrib_data_args, +) + +tests += { + 'name': 'pg_stat_statements', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': [ + 'pg_stat_statements', + ], + 'regress_args': ['--temp-config', files('pg_stat_statements.conf')], + }, +} diff --git a/contrib/pg_surgery/meson.build b/contrib/pg_surgery/meson.build new file mode 100644 index 00000000000..ac71caa5276 --- /dev/null +++ b/contrib/pg_surgery/meson.build @@ -0,0 +1,25 @@ +pg_surgery = shared_module('pg_surgery', + files( + 'heap_surgery.c', + ), + kwargs: contrib_mod_args, +) +contrib_targets += pg_surgery + +install_data( + 'pg_surgery--1.0.sql', + 'pg_surgery.control', + kwargs: contrib_data_args, +) + + +tests += { + 'name': 'pg_surgery', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': [ + 'heap_surgery', + ], + }, +} diff --git a/contrib/pg_trgm/meson.build b/contrib/pg_trgm/meson.build new file mode 100644 index 00000000000..a90628d23c6 --- /dev/null +++ b/contrib/pg_trgm/meson.build @@ -0,0 +1,35 @@ +pg_trgm = shared_module('pg_trgm', + files( + 'trgm_gin.c', + 'trgm_gist.c', + 'trgm_op.c', + 'trgm_regexp.c', + ), + kwargs: contrib_mod_args, +) +contrib_targets += pg_trgm + +install_data( + 'pg_trgm--1.0--1.1.sql', + 'pg_trgm--1.1--1.2.sql', + 'pg_trgm--1.2--1.3.sql', + 'pg_trgm--1.3--1.4.sql', + 'pg_trgm--1.3.sql', + 'pg_trgm--1.4--1.5.sql', + 'pg_trgm--1.5--1.6.sql', + 'pg_trgm.control', + kwargs: contrib_data_args, +) + +tests += { + 'name': 'pg_trgm', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': [ + 'pg_trgm', + 'pg_word_trgm', + 'pg_strict_word_trgm', + ], + }, +} diff --git a/contrib/pg_visibility/meson.build b/contrib/pg_visibility/meson.build new file mode 100644 index 00000000000..933dc99ac4d --- /dev/null +++ b/contrib/pg_visibility/meson.build @@ -0,0 +1,26 @@ +pg_visibility = shared_module('pg_visibility', + files( + 'pg_visibility.c', + ), + kwargs: contrib_mod_args, +) +contrib_targets += pg_visibility + +install_data( + 'pg_visibility--1.0--1.1.sql', + 'pg_visibility--1.1--1.2.sql', + 'pg_visibility--1.1.sql', + 'pg_visibility.control', + kwargs: contrib_data_args, +) + +tests += { + 'name': 'pg_visibility', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': [ + 'pg_visibility', + ], + }, +} diff --git a/contrib/pg_walinspect/meson.build b/contrib/pg_walinspect/meson.build new file mode 100644 index 00000000000..d6b27877dd0 --- /dev/null +++ b/contrib/pg_walinspect/meson.build @@ -0,0 +1,27 @@ +pg_walinspect_sources = files('pg_walinspect.c') + +pg_walinspect = shared_module('pg_walinspect', + pg_walinspect_sources, + kwargs: contrib_mod_args + { + 'dependencies': contrib_mod_args['dependencies'], + }, +) +contrib_targets += pg_walinspect + +install_data( + 'pg_walinspect.control', + 'pg_walinspect--1.0.sql', + kwargs: contrib_data_args, +) + +tests += { + 'name': 'pg_walinspect', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': [ + 'pg_walinspect', + ], + 'regress_args': ['--temp-config', files('walinspect.conf')], + }, +} diff --git a/contrib/pgcrypto/meson.build b/contrib/pgcrypto/meson.build new file mode 100644 index 00000000000..fe0851bf8e8 --- /dev/null +++ b/contrib/pgcrypto/meson.build @@ -0,0 +1,100 @@ +if not ssl.found() + subdir_done() +endif + +pgcrypto_sources = files( + 'crypt-blowfish.c', + 'crypt-des.c', + 'crypt-gensalt.c', + 'crypt-md5.c', + 'mbuf.c', + 'pgcrypto.c', + 'pgp-armor.c', + 'pgp-cfb.c', + 'pgp-compress.c', + 'pgp-decrypt.c', + 'pgp-encrypt.c', + 'pgp-info.c', + 'pgp-mpi.c', + 'pgp-pgsql.c', + 'pgp-pubdec.c', + 'pgp-pubenc.c', + 'pgp-pubkey.c', + 'pgp-s2k.c', + 'pgp.c', + 'px-crypt.c', + 'px-hmac.c', + 'px.c', +) + +pgcrypto_regress = [ + 'init', + 'md5', + 'sha1', + 'hmac-md5', + 'hmac-sha1', + 'blowfish', + 'rijndael', + 'sha2', + 'des', + '3des', + 'cast5', + 'crypt-des', + 'crypt-md5', + 'crypt-blowfish', + 'crypt-xdes', + 'pgp-armor', + 'pgp-decrypt', + 'pgp-encrypt', + 'pgp-pubkey-decrypt', + 'pgp-pubkey-encrypt', + 'pgp-info', +] + +pgcrypto_openssl_sources = files( + 'openssl.c', + 'pgp-mpi-openssl.c', +) + +pgcrypto_deps = [] +pgcrypto_link_with = [] + +pgcrypto_deps += ssl +pgcrypto_sources += pgcrypto_openssl_sources + +if zlib.found() + pgcrypto_deps += zlib + pgcrypto_regress += 'pgp-compression' +else + pgcrypto_regress += 'pgp-zlib-DISABLED' +endif + +pgcrypto = shared_module('pgcrypto', + pgcrypto_sources, + link_with: pgcrypto_link_with, + kwargs: contrib_mod_args + { + 'dependencies': [pgcrypto_deps, contrib_mod_args['dependencies']] + }, +) +contrib_targets += pgcrypto + +install_data( + 'pgcrypto--1.0--1.1.sql', + 'pgcrypto--1.1--1.2.sql', + 'pgcrypto--1.2--1.3.sql', + 'pgcrypto--1.3.sql', + 'pgcrypto.control', + kwargs: contrib_data_args, +) + + +tests += { + 'name': 'pgcrypto', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': [ + pgcrypto_regress, + ], + }, +} diff --git a/contrib/pgrowlocks/meson.build b/contrib/pgrowlocks/meson.build new file mode 100644 index 00000000000..1b41691a2a3 --- /dev/null +++ b/contrib/pgrowlocks/meson.build @@ -0,0 +1,27 @@ +pgrowlocks = shared_module('pgrowlocks', + files( + 'pgrowlocks.c', + ), + kwargs: contrib_mod_args, +) +contrib_targets += pgrowlocks + +install_data( + 'pgrowlocks--1.0--1.1.sql', + 'pgrowlocks--1.1--1.2.sql', + 'pgrowlocks--1.2.sql', + 'pgrowlocks.control', + kwargs: contrib_data_args, +) + +tests += { + 'name': 'pgrowlocks', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'isolation': { + 'specs': [ + 'pgrowlocks', + ], + 'regress_args': ['--load-extension=pgrowlocks'], + }, +} diff --git a/contrib/pgstattuple/meson.build b/contrib/pgstattuple/meson.build new file mode 100644 index 00000000000..8e828692d5c --- /dev/null +++ b/contrib/pgstattuple/meson.build @@ -0,0 +1,31 @@ +pgstattuple = shared_module('pgstattuple', + files( + 'pgstatapprox.c', + 'pgstatindex.c', + 'pgstattuple.c', + ), + kwargs: contrib_mod_args, +) +contrib_targets += pgstattuple + +install_data( + 'pgstattuple--1.0--1.1.sql', + 'pgstattuple--1.1--1.2.sql', + 'pgstattuple--1.2--1.3.sql', + 'pgstattuple--1.3--1.4.sql', + 'pgstattuple--1.4--1.5.sql', + 'pgstattuple--1.4.sql', + 'pgstattuple.control', + kwargs: contrib_data_args, +) + +tests += { + 'name': 'pgstattuple', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': [ + 'pgstattuple', + ], + }, +} diff --git a/contrib/postgres_fdw/meson.build b/contrib/postgres_fdw/meson.build new file mode 100644 index 00000000000..378885ec93b --- /dev/null +++ b/contrib/postgres_fdw/meson.build @@ -0,0 +1,34 @@ +postgres_fdw_sources = files( + 'connection.c', + 'deparse.c', + 'option.c', + 'postgres_fdw.c', + 'shippable.c', +) + +postgres_fdw = shared_module('postgres_fdw', + postgres_fdw_sources, + kwargs: contrib_mod_args + { + 'dependencies': contrib_mod_args['dependencies'] + [libpq], + }, +) +contrib_targets += postgres_fdw + +install_data( + 'postgres_fdw.control', + 'postgres_fdw--1.0.sql', + 'postgres_fdw--1.0--1.1.sql', + kwargs: contrib_data_args, +) + +tests += { + 'name': 'postgres_fdw', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': [ + 'postgres_fdw', + ], + 'regress_args': ['--dlpath', meson.build_root() / 'src/test/regress'], + }, +} diff --git a/contrib/seg/meson.build b/contrib/seg/meson.build new file mode 100644 index 00000000000..e476eab2a77 --- /dev/null +++ b/contrib/seg/meson.build @@ -0,0 +1,51 @@ +seg_sources = files( + 'seg.c', +) + +seg_scan = custom_target('segscan', + input: 'segscan.l', + output: 'segscan.c', + command: flex_cmd, +) +generated_sources += seg_scan +seg_sources += seg_scan + +seg_parse = custom_target('segparse', + input: 'segparse.y', + kwargs: bison_kw, +) +generated_sources += seg_parse.to_list() +seg_sources += seg_parse + +seg = shared_module('seg', + seg_sources, + include_directories: include_directories('.'), + kwargs: contrib_mod_args, +) +contrib_targets += seg + +install_data( + 'seg.control', + 'seg--1.0--1.1.sql', + 'seg--1.1--1.2.sql', + 'seg--1.1.sql', + 'seg--1.2--1.3.sql', + 'seg--1.3--1.4.sql', + kwargs: contrib_data_args, +) + +install_headers( + 'segdata.h', + install_dir: dir_include_extension / 'seg', +) + +tests += { + 'name': 'seg', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': [ + 'seg', + ], + }, +} diff --git a/contrib/sepgsql/meson.build b/contrib/sepgsql/meson.build new file mode 100644 index 00000000000..60a95e17c2f --- /dev/null +++ b/contrib/sepgsql/meson.build @@ -0,0 +1,34 @@ +if not selinux.found() + subdir_done() +endif + +sepgsql_sources = files( + 'database.c', + 'dml.c', + 'hooks.c', + 'label.c', + 'proc.c', + 'relation.c', + 'schema.c', + 'selinux.c', + 'uavc.c', +) + +sepgsql = shared_module('sepgsql', + sepgsql_sources, + kwargs: contrib_mod_args + { + 'dependencies': [selinux, contrib_mod_args['dependencies']], + } +) +contrib_targets += sepgsql + +custom_target('sepgsql.sql', + input: 'sepgsql.sql.in', + output: 'sepgsql.sql', + command: [sed, '-e', 's,MODULE_PATHNAME,$libdir/sepgsql,g', '@INPUT@'], + capture: true, + install: true, + install_dir: contrib_data_args['install_dir'], +) + +# TODO: implement sepgsql tests diff --git a/contrib/spi/meson.build b/contrib/spi/meson.build new file mode 100644 index 00000000000..98008980ec2 --- /dev/null +++ b/contrib/spi/meson.build @@ -0,0 +1,50 @@ +autoinc = shared_module('autoinc', + ['autoinc.c'], + kwargs: contrib_mod_args, +) +contrib_targets += autoinc + +install_data('autoinc.control', 'autoinc--1.0.sql', + kwargs: contrib_data_args, +) + + +insert_username = shared_module('insert_username', + ['insert_username.c'], + kwargs: contrib_mod_args, +) +contrib_targets += insert_username + +install_data( + 'insert_username.control', + 'insert_username--1.0.sql', + kwargs: contrib_data_args, +) + + +moddatetime = shared_module('moddatetime', + ['moddatetime.c'], + kwargs: contrib_mod_args, +) +contrib_targets += moddatetime + +install_data( + 'moddatetime.control', + 'moddatetime--1.0.sql', + kwargs: contrib_data_args, +) + +# this is needed for the regression tests; +# comment out if you want a quieter refint package for other uses +refint_cflags = ['-DREFINT_VERBOSE'] + +refint = shared_module('refint', + ['refint.c'], + c_args: refint_cflags, + kwargs: contrib_mod_args, +) +contrib_targets += refint + +install_data('refint.control', 'refint--1.0.sql', + kwargs: contrib_data_args, +) diff --git a/contrib/sslinfo/meson.build b/contrib/sslinfo/meson.build new file mode 100644 index 00000000000..53f752a08ac --- /dev/null +++ b/contrib/sslinfo/meson.build @@ -0,0 +1,21 @@ +if not ssl.found() + subdir_done() +endif + +sslinfo = shared_module('sslinfo', + files( + 'sslinfo.c', + ), + kwargs: contrib_mod_args + { + 'dependencies': [ssl, contrib_mod_args['dependencies']], + } +) +contrib_targets += sslinfo + +install_data( + 'sslinfo--1.0--1.1.sql', + 'sslinfo--1.1--1.2.sql', + 'sslinfo--1.2.sql', + 'sslinfo.control', + kwargs: contrib_data_args, +) diff --git a/contrib/tablefunc/meson.build b/contrib/tablefunc/meson.build new file mode 100644 index 00000000000..f4230096c0c --- /dev/null +++ b/contrib/tablefunc/meson.build @@ -0,0 +1,24 @@ +tablefunc = shared_module('tablefunc', + files( + 'tablefunc.c', + ), + kwargs: contrib_mod_args, +) +contrib_targets += tablefunc + +install_data( + 'tablefunc--1.0.sql', + 'tablefunc.control', + kwargs: contrib_data_args, +) + +tests += { + 'name': 'tablefunc', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': [ + 'tablefunc', + ], + }, +} diff --git a/contrib/tcn/meson.build b/contrib/tcn/meson.build new file mode 100644 index 00000000000..c3a025247d4 --- /dev/null +++ b/contrib/tcn/meson.build @@ -0,0 +1,25 @@ +tcn = shared_module('tcn', + files( + 'tcn.c', + ), + kwargs: contrib_mod_args, +) +contrib_targets += tcn + +install_data( + 'tcn--1.0.sql', + 'tcn.control', + kwargs: contrib_data_args, +) + +tests += { + 'name': 'tcn', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'isolation': { + 'specs': [ + 'tcn', + ], + 'regress_args': ['--load-extension=tcn'], + }, +} diff --git a/contrib/test_decoding/meson.build b/contrib/test_decoding/meson.build new file mode 100644 index 00000000000..dd7cb0101ad --- /dev/null +++ b/contrib/test_decoding/meson.build @@ -0,0 +1,63 @@ +test_decoding_sources = files( + 'test_decoding.c', +) + +test_decoding = shared_module('test_decoding', + test_decoding_sources, + kwargs: contrib_mod_args, +) +contrib_targets += test_decoding + +tests += { + 'name': 'test_decoding', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': [ + 'ddl', + 'xact', + 'rewrite', + 'toast', + 'permissions', + 'decoding_in_xact', + 'decoding_into_rel', + 'binary', + 'prepared', + 'replorigin', + 'time', + 'messages', + 'spill', + 'slot', + 'truncate', + 'stream', + 'stats', + 'twophase', + 'twophase_stream', + ], + 'regress_args': [ + '--temp-config', files('logical.conf'), + ], + }, + 'isolation': { + 'specs': [ + 'mxact', + 'delayed_startup', + 'ondisk_startup', + 'concurrent_ddl_dml', + 'oldest_xmin', + 'snapshot_transfer', + 'subxact_without_top', + 'concurrent_stream', + 'twophase_snapshot', + 'slot_creation_error', + ], + 'regress_args': [ + '--temp-config', files('logical.conf'), + ], + }, + 'tap': { + 'tests': [ + 't/001_repl_stats.pl', + ], + }, +} diff --git a/contrib/tsm_system_rows/meson.build b/contrib/tsm_system_rows/meson.build new file mode 100644 index 00000000000..b9cd42115a8 --- /dev/null +++ b/contrib/tsm_system_rows/meson.build @@ -0,0 +1,24 @@ +tsm_system_rows = shared_module('tsm_system_rows', + files( + 'tsm_system_rows.c', + ), + kwargs: contrib_mod_args, +) +contrib_targets += tsm_system_rows + +install_data( + 'tsm_system_rows--1.0.sql', + 'tsm_system_rows.control', + kwargs: contrib_data_args, +) + +tests += { + 'name': 'tsm_system_rows', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': [ + 'tsm_system_rows', + ], + }, +} diff --git a/contrib/tsm_system_time/meson.build b/contrib/tsm_system_time/meson.build new file mode 100644 index 00000000000..18015912ffb --- /dev/null +++ b/contrib/tsm_system_time/meson.build @@ -0,0 +1,24 @@ +tsm_system_time = shared_module('tsm_system_time', + files( + 'tsm_system_time.c', + ), + kwargs: contrib_mod_args, +) +contrib_targets += tsm_system_time + +install_data( + 'tsm_system_time--1.0.sql', + 'tsm_system_time.control', + kwargs: contrib_data_args, +) + +tests += { + 'name': 'tsm_system_time', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': [ + 'tsm_system_time', + ], + }, +} diff --git a/contrib/unaccent/meson.build b/contrib/unaccent/meson.build new file mode 100644 index 00000000000..872b76e3223 --- /dev/null +++ b/contrib/unaccent/meson.build @@ -0,0 +1,32 @@ +unaccent = shared_module('unaccent', + files( + 'unaccent.c', + ), + kwargs: contrib_mod_args, +) +contrib_targets += unaccent + +install_data( + 'unaccent--1.0--1.1.sql', + 'unaccent--1.1.sql', + 'unaccent.control', + kwargs: contrib_data_args, +) + +install_data( + 'unaccent.rules', + install_dir: dir_data / 'tsearch_data' +) + +# XXX: Implement downlo +tests += { + 'name': 'unaccent', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': [ + 'unaccent', + ], + 'regress_args': ['--encoding=UTF8'], + }, +} diff --git a/contrib/uuid-ossp/meson.build b/contrib/uuid-ossp/meson.build new file mode 100644 index 00000000000..da6d1d75c12 --- /dev/null +++ b/contrib/uuid-ossp/meson.build @@ -0,0 +1,31 @@ +if not uuid.found() + subdir_done() +endif + +uuid_ossp = shared_module('uuid-ossp', + files( + 'uuid-ossp.c', + ), + kwargs: contrib_mod_args + { + 'dependencies': [uuid, contrib_mod_args['dependencies']], + }, +) +contrib_targets += uuid_ossp + +install_data( + 'uuid-ossp--1.0--1.1.sql', + 'uuid-ossp--1.1.sql', + 'uuid-ossp.control', + kwargs: contrib_data_args, +) + +tests += { + 'name': 'uuid-ossp', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': [ + 'uuid_ossp', + ], + }, +} diff --git a/contrib/vacuumlo/meson.build b/contrib/vacuumlo/meson.build new file mode 100644 index 00000000000..7a632b87d1b --- /dev/null +++ b/contrib/vacuumlo/meson.build @@ -0,0 +1,17 @@ +vacuumlo = executable('vacuumlo', + ['vacuumlo.c'], + dependencies: [frontend_code, libpq], + kwargs: default_bin_args, +) +contrib_targets += vacuumlo + +tests += { + 'name': 'vacuumlo', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'tap': { + 'tests': [ + 't/001_basic.pl', + ], + }, +} diff --git a/contrib/xml2/meson.build b/contrib/xml2/meson.build new file mode 100644 index 00000000000..9c0b56f01f6 --- /dev/null +++ b/contrib/xml2/meson.build @@ -0,0 +1,32 @@ +if not libxml.found() + subdir_done() +endif + +xml2 = shared_module('pgxml', + files( + 'xpath.c', + 'xslt_proc.c', + ), + kwargs: contrib_mod_args + { + 'dependencies': [libxml, libxslt, contrib_mod_args['dependencies']], + }, +) +contrib_targets += xml2 + +install_data( + 'xml2--1.0--1.1.sql', + 'xml2--1.1.sql', + 'xml2.control', + kwargs: contrib_data_args, +) + +tests += { + 'name': 'xml2', + 'sd': meson.current_source_dir(), + 'bd': meson.current_build_dir(), + 'regress': { + 'sql': [ + 'xml2', + ], + }, +} |