| # Copyright (c) 2022-2023, PostgreSQL Global Development Group |
| |
| if not python3_dep.found() |
| subdir_done() |
| endif |
| |
| plpython_sources = files( |
| 'plpy_cursorobject.c', |
| 'plpy_elog.c', |
| 'plpy_exec.c', |
| 'plpy_main.c', |
| 'plpy_planobject.c', |
| 'plpy_plpymodule.c', |
| 'plpy_procedure.c', |
| 'plpy_resultobject.c', |
| 'plpy_spi.c', |
| 'plpy_subxactobject.c', |
| 'plpy_typeio.c', |
| 'plpy_util.c', |
| ) |
| |
| plpython_sources += custom_target('spiexceptions.h', |
| input: files('../../backend/utils/errcodes.txt'), |
| output: 'spiexceptions.h', |
| command: [perl, files('generate-spiexceptions.pl'), '@INPUT@'], |
| capture: true, |
| ) |
| |
| |
| # FIXME: need to duplicate import library ugliness? |
| plpython_inc = include_directories('.') |
| |
| if host_system == 'windows' |
| plpython_sources += rc_lib_gen.process(win32ver_rc, extra_args: [ |
| '--NAME', 'plpython3', |
| '--FILEDESC', 'PL/Python - procedural language',]) |
| endif |
| |
| plpython = shared_module('plpython3', |
| plpython_sources, |
| c_pch: pch_postgres_h, |
| include_directories: [plpython_inc, postgres_inc], |
| kwargs: pg_mod_args + { |
| 'dependencies': [python3_dep, pg_mod_args['dependencies']], |
| }, |
| ) |
| pl_targets += plpython |
| |
| # FIXME: Only install the relevant versions |
| install_data( |
| 'plpython3u.control', |
| 'plpython3u--1.0.sql', |
| install_dir: dir_data_extension, |
| ) |
| |
| install_headers( |
| 'plpy_cursorobject.h', |
| 'plpy_elog.h', |
| 'plpy_exec.h', |
| 'plpy_main.h', |
| 'plpy_planobject.h', |
| 'plpy_plpymodule.h', |
| 'plpy_procedure.h', |
| 'plpy_resultobject.h', |
| 'plpy_spi.h', |
| 'plpy_subxactobject.h', |
| 'plpy_typeio.h', |
| 'plpy_util.h', |
| 'plpython.h', |
| 'plpython_system.h', |
| install_dir: dir_include_server, |
| ) |
| |
| plpython_regress = [ |
| 'plpython_schema', |
| 'plpython_populate', |
| 'plpython_test', |
| 'plpython_do', |
| 'plpython_global', |
| 'plpython_import', |
| 'plpython_spi', |
| 'plpython_newline', |
| 'plpython_void', |
| 'plpython_call', |
| 'plpython_params', |
| 'plpython_setof', |
| 'plpython_record', |
| 'plpython_trigger', |
| 'plpython_types', |
| 'plpython_error', |
| 'plpython_ereport', |
| 'plpython_unicode', |
| 'plpython_quote', |
| 'plpython_composite', |
| 'plpython_subtransaction', |
| 'plpython_transaction', |
| 'plpython_drop', |
| ] |
| |
| tests += { |
| 'name': 'plpython', |
| 'sd': meson.current_source_dir(), |
| 'bd': meson.current_build_dir(), |
| 'regress': { |
| 'sql': plpython_regress, |
| }, |
| } |
| |
| subdir('po', if_found: libintl) |