92 lines
2.2 KiB
Meson
92 lines
2.2 KiB
Meson
plpgsql_sources = files(
|
|
'pl_comp.c',
|
|
'pl_exec.c',
|
|
'pl_funcs.c',
|
|
'pl_handler.c',
|
|
'pl_scanner.c',
|
|
)
|
|
|
|
pl_gram = custom_target('gram',
|
|
input: 'pl_gram.y',
|
|
kwargs: bison_kw,
|
|
)
|
|
generated_sources += pl_gram.to_list()
|
|
plpgsql_sources += pl_gram
|
|
|
|
gen_plerrcodes = files('generate-plerrcodes.pl')
|
|
pl_errcodes = custom_target('plerrcodes',
|
|
input: ['../../../../src/backend/utils/errcodes.txt'],
|
|
output: ['plerrcodes.h'],
|
|
command: [perl, gen_plerrcodes, '@INPUT0@'],
|
|
capture: true,
|
|
)
|
|
generated_sources += pl_errcodes
|
|
plpgsql_sources += pl_errcodes
|
|
|
|
gen_keywordlist = files('../../../../src/tools/gen_keywordlist.pl')
|
|
pl_reserved = custom_target('pl_reserved_kwlist',
|
|
input: ['pl_reserved_kwlist.h'],
|
|
output: ['pl_reserved_kwlist_d.h'],
|
|
command: [perl, '-I', '@SOURCE_ROOT@/src/tools', gen_keywordlist, '--output', '@OUTDIR@', '--varname', 'ReservedPLKeywords', '@INPUT@']
|
|
)
|
|
generated_sources += pl_reserved
|
|
plpgsql_sources += pl_reserved
|
|
|
|
pl_unreserved = custom_target('pl_unreserved_kwlist',
|
|
input: ['pl_unreserved_kwlist.h'],
|
|
output: ['pl_unreserved_kwlist_d.h'],
|
|
command: [perl, '-I', '@SOURCE_ROOT@/src/tools', gen_keywordlist, '--output', '@OUTDIR@', '--varname', 'UnreservedPLKeywords', '@INPUT@']
|
|
)
|
|
generated_sources += pl_unreserved
|
|
plpgsql_sources += pl_unreserved
|
|
|
|
if host_system == 'windows'
|
|
plpgsql_sources += rc_lib_gen.process(win32ver_rc, extra_args: [
|
|
'--NAME', 'plpgsql',
|
|
'--FILEDESC', 'PL/pgSQL - procedural language',])
|
|
endif
|
|
|
|
plpgsql = shared_module('plpgsql',
|
|
plpgsql_sources,
|
|
c_pch: pch_postgres_h,
|
|
include_directories: include_directories('.'),
|
|
kwargs: pg_mod_args,
|
|
)
|
|
pl_targets += plpgsql
|
|
|
|
install_data(
|
|
'plpgsql.control',
|
|
'plpgsql--1.0.sql',
|
|
install_dir: dir_data_extension,
|
|
)
|
|
|
|
install_headers(
|
|
'plpgsql.h',
|
|
install_dir: dir_include_server
|
|
)
|
|
|
|
|
|
tests += {
|
|
'name': 'plpgsql',
|
|
'sd': meson.current_source_dir(),
|
|
'bd': meson.current_build_dir(),
|
|
'regress': {
|
|
'sql': [
|
|
'plpgsql_array',
|
|
'plpgsql_call',
|
|
'plpgsql_control',
|
|
'plpgsql_copy',
|
|
'plpgsql_domain',
|
|
'plpgsql_record',
|
|
'plpgsql_cache',
|
|
'plpgsql_simple',
|
|
'plpgsql_transaction',
|
|
'plpgsql_trap',
|
|
'plpgsql_trigger',
|
|
'plpgsql_varprops',
|
|
],
|
|
},
|
|
}
|
|
|
|
subdir('po', if_found: libintl)
|