Here is a patch that adds in NLS.There are some opportunities to improve this. For example, we could move the list of languages from the meson.build files into separate LINGUAS files, which could be shared with the makefile-based build system. I need to research this a bit more.
Also, this only covers the build and install phases of the NLS process. The xgettext and msgmerge aspects I haven't touched at all. There is more to research there as well.
The annoying thing is that the i18n module doesn't appear to have a way to communicate with feature options or dependencies, so there isn't a way to tell it to only do its things when some option is enabled, or conversely to check whether the module found the things it needs and to enable or disable an option based on that. So right now for example if you explicitly disable the 'nls' option, the binaries are built without NLS but the .mo files are still built and installed.
In any case, this works for the main use cases and gets us a step forward, so it's worth considering.
From ccfbff1beed568ef3ebe2e1af0701802d96b9017 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut <pe...@eisentraut.org> Date: Wed, 27 Apr 2022 17:57:04 +0200 Subject: [PATCH 7/7] meson: NLS support --- meson.build | 23 +++++++++++++++++++--- meson_options.txt | 3 +++ src/backend/meson.build | 2 ++ src/backend/po/meson.build | 3 +++ src/bin/initdb/meson.build | 2 ++ src/bin/initdb/po/meson.build | 3 +++ src/bin/pg_amcheck/meson.build | 2 ++ src/bin/pg_amcheck/po/meson.build | 3 +++ src/bin/pg_archivecleanup/meson.build | 2 ++ src/bin/pg_archivecleanup/po/meson.build | 3 +++ src/bin/pg_basebackup/meson.build | 2 ++ src/bin/pg_basebackup/po/meson.build | 3 +++ src/bin/pg_checksums/meson.build | 2 ++ src/bin/pg_checksums/po/meson.build | 3 +++ src/bin/pg_config/meson.build | 2 ++ src/bin/pg_config/po/meson.build | 3 +++ src/bin/pg_controldata/meson.build | 2 ++ src/bin/pg_controldata/po/meson.build | 3 +++ src/bin/pg_ctl/meson.build | 2 ++ src/bin/pg_ctl/po/meson.build | 3 +++ src/bin/pg_dump/meson.build | 2 ++ src/bin/pg_dump/po/meson.build | 3 +++ src/bin/pg_resetwal/meson.build | 2 ++ src/bin/pg_resetwal/po/meson.build | 3 +++ src/bin/pg_rewind/meson.build | 2 ++ src/bin/pg_rewind/po/meson.build | 3 +++ src/bin/pg_test_fsync/meson.build | 2 ++ src/bin/pg_test_fsync/po/meson.build | 3 +++ src/bin/pg_test_timing/meson.build | 2 ++ src/bin/pg_test_timing/po/meson.build | 3 +++ src/bin/pg_upgrade/meson.build | 2 ++ src/bin/pg_upgrade/po/meson.build | 3 +++ src/bin/pg_verifybackup/meson.build | 2 ++ src/bin/pg_verifybackup/po/meson.build | 3 +++ src/bin/pg_waldump/meson.build | 2 ++ src/bin/pg_waldump/po/meson.build | 3 +++ src/bin/psql/meson.build | 2 ++ src/bin/psql/po/meson.build | 3 +++ src/bin/scripts/meson.build | 2 ++ src/bin/scripts/po/meson.build | 3 +++ src/interfaces/ecpg/ecpglib/meson.build | 2 ++ src/interfaces/ecpg/ecpglib/po/meson.build | 3 +++ src/interfaces/ecpg/preproc/meson.build | 2 ++ src/interfaces/ecpg/preproc/po/meson.build | 3 +++ src/interfaces/libpq/meson.build | 5 ++++- src/interfaces/libpq/po/meson.build | 3 +++ src/pl/plperl/meson.build | 2 ++ src/pl/plperl/po/meson.build | 3 +++ src/pl/plpgsql/src/meson.build | 2 ++ src/pl/plpgsql/src/po/meson.build | 3 +++ src/pl/plpython/meson.build | 2 ++ src/pl/plpython/po/meson.build | 3 +++ src/pl/tcl/meson.build | 2 ++ src/pl/tcl/po/meson.build | 3 +++ 54 files changed, 155 insertions(+), 4 deletions(-) create mode 100644 src/backend/po/meson.build create mode 100644 src/bin/initdb/po/meson.build create mode 100644 src/bin/pg_amcheck/po/meson.build create mode 100644 src/bin/pg_archivecleanup/po/meson.build create mode 100644 src/bin/pg_basebackup/po/meson.build create mode 100644 src/bin/pg_checksums/po/meson.build create mode 100644 src/bin/pg_config/po/meson.build create mode 100644 src/bin/pg_controldata/po/meson.build create mode 100644 src/bin/pg_ctl/po/meson.build create mode 100644 src/bin/pg_dump/po/meson.build create mode 100644 src/bin/pg_resetwal/po/meson.build create mode 100644 src/bin/pg_rewind/po/meson.build create mode 100644 src/bin/pg_test_fsync/po/meson.build create mode 100644 src/bin/pg_test_timing/po/meson.build create mode 100644 src/bin/pg_upgrade/po/meson.build create mode 100644 src/bin/pg_verifybackup/po/meson.build create mode 100644 src/bin/pg_waldump/po/meson.build create mode 100644 src/bin/psql/po/meson.build create mode 100644 src/bin/scripts/po/meson.build create mode 100644 src/interfaces/ecpg/ecpglib/po/meson.build create mode 100644 src/interfaces/ecpg/preproc/po/meson.build create mode 100644 src/interfaces/libpq/po/meson.build create mode 100644 src/pl/plperl/po/meson.build create mode 100644 src/pl/plpgsql/src/po/meson.build create mode 100644 src/pl/plpython/po/meson.build create mode 100644 src/pl/tcl/po/meson.build diff --git a/meson.build b/meson.build index bd6f1759e8..d0bed5973b 100644 --- a/meson.build +++ b/meson.build @@ -1863,6 +1863,23 @@ endif +############################################################### +# NLS / Gettext +############################################################### + +i18n = import('i18n') + +cc.check_header('libintl.h', args: g_c_args, required: get_option('nls')) + +if get_option('nls').enabled() + cdata.set('ENABLE_NLS', 1) + libintl = dependency('intl', required: false) +else + libintl = dependency('', required: false) +endif + + + ############################################################### # Build ############################################################### @@ -2000,7 +2017,7 @@ frontend_shlib_code = declare_dependency( include_directories: [postgres_inc], link_with: [pgport_shlib, common_shlib], sources: generated_headers, - dependencies: os_deps, + dependencies: [os_deps, libintl], ) subdir('src/interfaces/libpq') @@ -2012,7 +2029,7 @@ frontend_code = declare_dependency( include_directories: [postgres_inc], link_with: [pgport_static, common_static, fe_utils], sources: generated_headers, - dependencies: os_deps, + dependencies: [os_deps, libintl], ) backend_code = declare_dependency( @@ -2020,7 +2037,7 @@ backend_code = declare_dependency( include_directories: [postgres_inc], link_with: [], sources: generated_headers + generated_backend_headers, - dependencies: [os_deps, ssl, lz4, zlib, icu, icu_i18n, ldap, gssapi, libxml, zstd, systemd], + dependencies: [os_deps, libintl, ssl, lz4, zlib, icu, icu_i18n, ldap, gssapi, libxml, zstd, systemd], ) # Note there's intentionally no dependency on pgport/common here - we want the diff --git a/meson_options.txt b/meson_options.txt index 4f90028936..e3e36678d1 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -71,6 +71,9 @@ option('llvm', type : 'feature', value: 'disabled', option('lz4', type : 'feature', value: 'auto', description: 'LZ4 support') +option('nls', type: 'feature', value: 'auto', + description: 'national language support') + option('plperl', type : 'feature', value: 'auto', description: 'build Perl modules (PL/Perl)') diff --git a/src/backend/meson.build b/src/backend/meson.build index 6814d5094c..55ea4635be 100644 --- a/src/backend/meson.build +++ b/src/backend/meson.build @@ -31,6 +31,8 @@ subdir('tcop') subdir('tsearch') subdir('utils') +subdir('po') + postgres_link_args = [] postgres_link_depends = [] diff --git a/src/backend/po/meson.build b/src/backend/po/meson.build new file mode 100644 index 0000000000..52ec64beb8 --- /dev/null +++ b/src/backend/po/meson.build @@ -0,0 +1,3 @@ +i18n.gettext('postgres-' + pg_version_major.to_string(), + languages: ['de', 'es', 'fr', 'id', 'it', 'ja', 'ko', 'pl', 'pt_BR', 'ru', 'sv', 'tr', 'uk', 'zh_CN'], + ) diff --git a/src/bin/initdb/meson.build b/src/bin/initdb/meson.build index 2395ed112a..ddfc7b7300 100644 --- a/src/bin/initdb/meson.build +++ b/src/bin/initdb/meson.build @@ -23,3 +23,5 @@ tap_tests += { 't/001_initdb.pl' ] } + +subdir('po') diff --git a/src/bin/initdb/po/meson.build b/src/bin/initdb/po/meson.build new file mode 100644 index 0000000000..5ac33eb8d4 --- /dev/null +++ b/src/bin/initdb/po/meson.build @@ -0,0 +1,3 @@ +i18n.gettext('initdb-' + pg_version_major.to_string(), + languages: ['cs', 'de', 'el', 'es', 'fr', 'he', 'it', 'ja', 'ko', 'pl', 'pt_BR', 'ru', 'sv', 'tr', 'uk', 'vi', 'zh_CN'], + ) diff --git a/src/bin/pg_amcheck/meson.build b/src/bin/pg_amcheck/meson.build index 69eaef8f14..23db08fe51 100644 --- a/src/bin/pg_amcheck/meson.build +++ b/src/bin/pg_amcheck/meson.build @@ -20,3 +20,5 @@ tap_tests += { 't/005_opclass_damage.pl', ] } + +subdir('po') diff --git a/src/bin/pg_amcheck/po/meson.build b/src/bin/pg_amcheck/po/meson.build new file mode 100644 index 0000000000..402e33b564 --- /dev/null +++ b/src/bin/pg_amcheck/po/meson.build @@ -0,0 +1,3 @@ +i18n.gettext('pg_amcheck-' + pg_version_major.to_string(), + languages: ['de', 'el', 'es', 'fr', 'zh_CN'], + ) diff --git a/src/bin/pg_archivecleanup/meson.build b/src/bin/pg_archivecleanup/meson.build index 27742fafab..2ed29a1548 100644 --- a/src/bin/pg_archivecleanup/meson.build +++ b/src/bin/pg_archivecleanup/meson.build @@ -12,3 +12,5 @@ tap_tests += { 't/010_pg_archivecleanup.pl' ] } + +subdir('po') diff --git a/src/bin/pg_archivecleanup/po/meson.build b/src/bin/pg_archivecleanup/po/meson.build new file mode 100644 index 0000000000..db0f0fbddc --- /dev/null +++ b/src/bin/pg_archivecleanup/po/meson.build @@ -0,0 +1,3 @@ +i18n.gettext('pg_archivecleanup-' + pg_version_major.to_string(), + languages: ['cs', 'de', 'el', 'es', 'fr', 'ja', 'ko', 'pl', 'ru', 'sv', 'tr', 'uk', 'vi', 'zh_CN'], + ) diff --git a/src/bin/pg_basebackup/meson.build b/src/bin/pg_basebackup/meson.build index b5617b818f..b2a82d015e 100644 --- a/src/bin/pg_basebackup/meson.build +++ b/src/bin/pg_basebackup/meson.build @@ -52,3 +52,5 @@ tap_tests += { 't/030_pg_recvlogical.pl', ] } + +subdir('po') diff --git a/src/bin/pg_basebackup/po/meson.build b/src/bin/pg_basebackup/po/meson.build new file mode 100644 index 0000000000..78637d9c59 --- /dev/null +++ b/src/bin/pg_basebackup/po/meson.build @@ -0,0 +1,3 @@ +i18n.gettext('pg_basebackup-' + pg_version_major.to_string(), + languages: ['cs', 'de', 'es', 'fr', 'he', 'it', 'ja', 'ko', 'pl', 'pt_BR', 'ru', 'sv', 'tr', 'uk', 'vi', 'zh_CN'], + ) diff --git a/src/bin/pg_checksums/meson.build b/src/bin/pg_checksums/meson.build index bbf9582b90..5c8135e2ef 100644 --- a/src/bin/pg_checksums/meson.build +++ b/src/bin/pg_checksums/meson.build @@ -14,3 +14,5 @@ tap_tests += { 't/002_actions.pl' ] } + +subdir('po') diff --git a/src/bin/pg_checksums/po/meson.build b/src/bin/pg_checksums/po/meson.build new file mode 100644 index 0000000000..fa8f3c869c --- /dev/null +++ b/src/bin/pg_checksums/po/meson.build @@ -0,0 +1,3 @@ +i18n.gettext('pg_checksums-' + pg_version_major.to_string(), + languages: ['cs', 'de', 'el', 'es', 'fr', 'ja', 'ko', 'ru', 'sv', 'tr', 'uk', 'zh_CN'], + ) diff --git a/src/bin/pg_config/meson.build b/src/bin/pg_config/meson.build index df0eb13f63..156b822305 100644 --- a/src/bin/pg_config/meson.build +++ b/src/bin/pg_config/meson.build @@ -12,3 +12,5 @@ tap_tests += { 't/001_pg_config.pl', ] } + +subdir('po') diff --git a/src/bin/pg_config/po/meson.build b/src/bin/pg_config/po/meson.build new file mode 100644 index 0000000000..ca8b767538 --- /dev/null +++ b/src/bin/pg_config/po/meson.build @@ -0,0 +1,3 @@ +i18n.gettext('pg_config-' + pg_version_major.to_string(), + languages: ['cs', 'de', 'el', 'es', 'fr', 'he', 'it', 'ja', 'ko', 'nb', 'pl', 'pt_BR', 'ro', 'ru', 'sv', 'ta', 'tr', 'uk', 'vi', 'zh_CN', 'zh_TW'], + ) diff --git a/src/bin/pg_controldata/meson.build b/src/bin/pg_controldata/meson.build index fa6057afa5..8361ecea62 100644 --- a/src/bin/pg_controldata/meson.build +++ b/src/bin/pg_controldata/meson.build @@ -12,3 +12,5 @@ tap_tests += { 't/001_pg_controldata.pl' ] } + +subdir('po') diff --git a/src/bin/pg_controldata/po/meson.build b/src/bin/pg_controldata/po/meson.build new file mode 100644 index 0000000000..40f7b47246 --- /dev/null +++ b/src/bin/pg_controldata/po/meson.build @@ -0,0 +1,3 @@ +i18n.gettext('pg_controldata-' + pg_version_major.to_string(), + languages: ['cs', 'de', 'el', 'es', 'fr', 'it', 'ja', 'ko', 'pl', 'pt_BR', 'ru', 'sv', 'tr', 'uk', 'vi', 'zh_CN'], + ) diff --git a/src/bin/pg_ctl/meson.build b/src/bin/pg_ctl/meson.build index ac0d4f1819..60b90b7d0f 100644 --- a/src/bin/pg_ctl/meson.build +++ b/src/bin/pg_ctl/meson.build @@ -15,3 +15,5 @@ tap_tests += { 't/004_logrotate.pl' ] } + +subdir('po') diff --git a/src/bin/pg_ctl/po/meson.build b/src/bin/pg_ctl/po/meson.build new file mode 100644 index 0000000000..3c21a9b2c5 --- /dev/null +++ b/src/bin/pg_ctl/po/meson.build @@ -0,0 +1,3 @@ +i18n.gettext('pg_ctl-' + pg_version_major.to_string(), + languages: ['cs', 'de', 'el', 'es', 'fr', 'he', 'it', 'ja', 'ko', 'pl', 'pt_BR', 'ru', 'sv', 'tr', 'uk', 'zh_CN'], + ) diff --git a/src/bin/pg_dump/meson.build b/src/bin/pg_dump/meson.build index ce5ef11eae..e3cf949a79 100644 --- a/src/bin/pg_dump/meson.build +++ b/src/bin/pg_dump/meson.build @@ -67,3 +67,5 @@ tap_tests += { 't/010_dump_connstr.pl', ] } + +subdir('po') diff --git a/src/bin/pg_dump/po/meson.build b/src/bin/pg_dump/po/meson.build new file mode 100644 index 0000000000..6340eac3ac --- /dev/null +++ b/src/bin/pg_dump/po/meson.build @@ -0,0 +1,3 @@ +i18n.gettext('pg_dump-' + pg_version_major.to_string(), + languages: ['cs', 'de', 'el', 'es', 'fr', 'he', 'it', 'ja', 'ko', 'pl', 'pt_BR', 'ru', 'sv', 'tr', 'uk', 'zh_CN'], + ) diff --git a/src/bin/pg_resetwal/meson.build b/src/bin/pg_resetwal/meson.build index 7450c0f643..01847e52c8 100644 --- a/src/bin/pg_resetwal/meson.build +++ b/src/bin/pg_resetwal/meson.build @@ -13,3 +13,5 @@ tap_tests += { 't/002_corrupted.pl' ] } + +subdir('po') diff --git a/src/bin/pg_resetwal/po/meson.build b/src/bin/pg_resetwal/po/meson.build new file mode 100644 index 0000000000..31886ff122 --- /dev/null +++ b/src/bin/pg_resetwal/po/meson.build @@ -0,0 +1,3 @@ +i18n.gettext('pg_resetwal-' + pg_version_major.to_string(), + languages: ['cs', 'de', 'es', 'fr', 'it', 'ja', 'ko', 'pl', 'pt_BR', 'ru', 'sv', 'tr', 'uk', 'zh_CN'], + ) diff --git a/src/bin/pg_rewind/meson.build b/src/bin/pg_rewind/meson.build index b1edeb82fe..81cc2a677a 100644 --- a/src/bin/pg_rewind/meson.build +++ b/src/bin/pg_rewind/meson.build @@ -32,3 +32,5 @@ tap_tests += { 't/008_min_recovery_point.pl', ] } + +subdir('po') diff --git a/src/bin/pg_rewind/po/meson.build b/src/bin/pg_rewind/po/meson.build new file mode 100644 index 0000000000..2704456cbb --- /dev/null +++ b/src/bin/pg_rewind/po/meson.build @@ -0,0 +1,3 @@ +i18n.gettext('pg_rewind-' + pg_version_major.to_string(), + languages: ['cs', 'de', 'es', 'fr', 'it', 'ja', 'ko', 'pl', 'pt_BR', 'ru', 'sv', 'tr', 'uk', 'zh_CN'], + ) diff --git a/src/bin/pg_test_fsync/meson.build b/src/bin/pg_test_fsync/meson.build index 527be88d12..a95e4522f6 100644 --- a/src/bin/pg_test_fsync/meson.build +++ b/src/bin/pg_test_fsync/meson.build @@ -12,3 +12,5 @@ tap_tests += { 't/001_basic.pl', ] } + +subdir('po') diff --git a/src/bin/pg_test_fsync/po/meson.build b/src/bin/pg_test_fsync/po/meson.build new file mode 100644 index 0000000000..5e69b57aed --- /dev/null +++ b/src/bin/pg_test_fsync/po/meson.build @@ -0,0 +1,3 @@ +i18n.gettext('pg_test_fsync-' + pg_version_major.to_string(), + languages: ['cs', 'de', 'el', 'es', 'fr', 'ja', 'ko', 'pl', 'ru', 'sv', 'tr', 'uk', 'vi', 'zh_CN'], + ) diff --git a/src/bin/pg_test_timing/meson.build b/src/bin/pg_test_timing/meson.build index c74577df49..983291e635 100644 --- a/src/bin/pg_test_timing/meson.build +++ b/src/bin/pg_test_timing/meson.build @@ -12,3 +12,5 @@ tap_tests += { 't/001_basic.pl' ] } + +subdir('po') diff --git a/src/bin/pg_test_timing/po/meson.build b/src/bin/pg_test_timing/po/meson.build new file mode 100644 index 0000000000..0832759a47 --- /dev/null +++ b/src/bin/pg_test_timing/po/meson.build @@ -0,0 +1,3 @@ +i18n.gettext('pg_test_timing-' + pg_version_major.to_string(), + languages: ['cs', 'de', 'el', 'es', 'fr', 'ja', 'ko', 'pl', 'ru', 'sv', 'tr', 'uk', 'vi', 'zh_CN'], + ) diff --git a/src/bin/pg_upgrade/meson.build b/src/bin/pg_upgrade/meson.build index 88d0e03446..9f6d797dff 100644 --- a/src/bin/pg_upgrade/meson.build +++ b/src/bin/pg_upgrade/meson.build @@ -24,3 +24,5 @@ pg_upgrade = executable('pg_upgrade', ) # FIXME: add test + +subdir('po') diff --git a/src/bin/pg_upgrade/po/meson.build b/src/bin/pg_upgrade/po/meson.build new file mode 100644 index 0000000000..268bcbfa43 --- /dev/null +++ b/src/bin/pg_upgrade/po/meson.build @@ -0,0 +1,3 @@ +i18n.gettext('pg_upgrade-' + pg_version_major.to_string(), + languages: ['cs', 'de', 'es', 'fr', 'ja', 'ko', 'ru', 'sv', 'tr', 'uk', 'zh_CN'], + ) diff --git a/src/bin/pg_verifybackup/meson.build b/src/bin/pg_verifybackup/meson.build index 2c87b907e6..69fa010ec6 100644 --- a/src/bin/pg_verifybackup/meson.build +++ b/src/bin/pg_verifybackup/meson.build @@ -26,3 +26,5 @@ tap_tests += { 't/010_client_untar.pl', ] } + +subdir('po') diff --git a/src/bin/pg_verifybackup/po/meson.build b/src/bin/pg_verifybackup/po/meson.build new file mode 100644 index 0000000000..3a190d096d --- /dev/null +++ b/src/bin/pg_verifybackup/po/meson.build @@ -0,0 +1,3 @@ +i18n.gettext('pg_verifybackup-' + pg_version_major.to_string(), + languages: ['de', 'el', 'es', 'fr', 'ja', 'ko', 'ru', 'sv', 'uk', 'zh_CN'], + ) diff --git a/src/bin/pg_waldump/meson.build b/src/bin/pg_waldump/meson.build index 8437c6c9b6..bb1fd835fc 100644 --- a/src/bin/pg_waldump/meson.build +++ b/src/bin/pg_waldump/meson.build @@ -21,3 +21,5 @@ tap_tests += { 't/001_basic.pl', ] } + +subdir('po') diff --git a/src/bin/pg_waldump/po/meson.build b/src/bin/pg_waldump/po/meson.build new file mode 100644 index 0000000000..b38f6a59bd --- /dev/null +++ b/src/bin/pg_waldump/po/meson.build @@ -0,0 +1,3 @@ +i18n.gettext('pg_waldump-' + pg_version_major.to_string(), + languages: ['cs', 'de', 'el', 'es', 'fr', 'ja', 'ko', 'ru', 'sv', 'tr', 'uk', 'vi', 'zh_CN'], + ) diff --git a/src/bin/psql/meson.build b/src/bin/psql/meson.build index f9e3b1a32b..8dacc61956 100644 --- a/src/bin/psql/meson.build +++ b/src/bin/psql/meson.build @@ -65,3 +65,5 @@ tap_tests += { 't/020_cancel.pl', ], } + +subdir('po') diff --git a/src/bin/psql/po/meson.build b/src/bin/psql/po/meson.build new file mode 100644 index 0000000000..77592ba13c --- /dev/null +++ b/src/bin/psql/po/meson.build @@ -0,0 +1,3 @@ +i18n.gettext('psql-' + pg_version_major.to_string(), + languages: ['cs', 'de', 'el', 'es', 'fr', 'he', 'it', 'ja', 'ko', 'pl', 'pt_BR', 'ru', 'sv', 'tr', 'uk', 'zh_CN', 'zh_TW'], + ) diff --git a/src/bin/scripts/meson.build b/src/bin/scripts/meson.build index 547a53500a..c48f7bb5c8 100644 --- a/src/bin/scripts/meson.build +++ b/src/bin/scripts/meson.build @@ -44,3 +44,5 @@ tap_tests += { 't/200_connstr.pl', ] } + +subdir('po') diff --git a/src/bin/scripts/po/meson.build b/src/bin/scripts/po/meson.build new file mode 100644 index 0000000000..d1b1a10839 --- /dev/null +++ b/src/bin/scripts/po/meson.build @@ -0,0 +1,3 @@ +i18n.gettext('pgscripts-' + pg_version_major.to_string(), + languages: ['cs', 'de', 'es', 'fr', 'he', 'it', 'ja', 'ko', 'pl', 'pt_BR', 'ru', 'sv', 'tr', 'uk', 'zh_CN'], + ) diff --git a/src/interfaces/ecpg/ecpglib/meson.build b/src/interfaces/ecpg/ecpglib/meson.build index c32fc13871..5856fc437c 100644 --- a/src/interfaces/ecpg/ecpglib/meson.build +++ b/src/interfaces/ecpg/ecpglib/meson.build @@ -15,3 +15,5 @@ ecpglib = library('ecpg', soversion: 6, install: true, ) + +subdir('po') diff --git a/src/interfaces/ecpg/ecpglib/po/meson.build b/src/interfaces/ecpg/ecpglib/po/meson.build new file mode 100644 index 0000000000..5a211cf3c8 --- /dev/null +++ b/src/interfaces/ecpg/ecpglib/po/meson.build @@ -0,0 +1,3 @@ +i18n.gettext('ecpglib' + '6' + '-' + pg_version_major.to_string(), + languages: ['cs', 'de', 'es', 'fr', 'it', 'ja', 'ko', 'pl', 'pt_BR', 'ru', 'sv', 'tr', 'uk', 'vi', 'zh_CN'], + ) diff --git a/src/interfaces/ecpg/preproc/meson.build b/src/interfaces/ecpg/preproc/meson.build index 4ae56f21d4..aa7b04e72d 100644 --- a/src/interfaces/ecpg/preproc/meson.build +++ b/src/interfaces/ecpg/preproc/meson.build @@ -53,3 +53,5 @@ executable('ecpg', dependencies: [frontend_shlib_code, libpq], kwargs: default_bin_args, ) + +subdir('po') diff --git a/src/interfaces/ecpg/preproc/po/meson.build b/src/interfaces/ecpg/preproc/po/meson.build new file mode 100644 index 0000000000..28849967ae --- /dev/null +++ b/src/interfaces/ecpg/preproc/po/meson.build @@ -0,0 +1,3 @@ +i18n.gettext('ecpg-' + pg_version_major.to_string(), + languages: ['cs', 'de', 'es', 'fr', 'it', 'ja', 'ko', 'pl', 'pt_BR', 'ru', 'sv', 'tr', 'uk', 'vi', 'zh_CN', 'zh_TW'], + ) diff --git a/src/interfaces/libpq/meson.build b/src/interfaces/libpq/meson.build index ce948e7568..349168b3b4 100644 --- a/src/interfaces/libpq/meson.build +++ b/src/interfaces/libpq/meson.build @@ -53,7 +53,7 @@ libpq_def = custom_target('libpq.def', # port needs to be in include path due to pthread-win32.h libpq_inc = include_directories('.', '../../port') -libpq_deps = [frontend_shlib_code, thread_dep, ssl, ldap, gssapi] +libpq_deps = [frontend_shlib_code, thread_dep, ssl, ldap, gssapi, libintl] libpq_link_depends = [] libpq_kwargs = default_lib_args + { @@ -115,3 +115,6 @@ tap_tests += { 't/001_uri.pl', ] } + + +subdir('po') diff --git a/src/interfaces/libpq/po/meson.build b/src/interfaces/libpq/po/meson.build new file mode 100644 index 0000000000..ba2b2abbe2 --- /dev/null +++ b/src/interfaces/libpq/po/meson.build @@ -0,0 +1,3 @@ +i18n.gettext('libpq' + '5' + '-' + pg_version_major.to_string(), + languages: ['cs', 'de', 'el', 'es', 'fr', 'he', 'it', 'ja', 'ko', 'pl', 'pt_BR', 'ru', 'sv', 'tr', 'uk', 'zh_CN', 'zh_TW'], + ) diff --git a/src/pl/plperl/meson.build b/src/pl/plperl/meson.build index dd7ecca67e..b44be23774 100644 --- a/src/pl/plperl/meson.build +++ b/src/pl/plperl/meson.build @@ -79,3 +79,5 @@ regress_tests += { 'plperl_transaction', ], } + +subdir('po') diff --git a/src/pl/plperl/po/meson.build b/src/pl/plperl/po/meson.build new file mode 100644 index 0000000000..846040383a --- /dev/null +++ b/src/pl/plperl/po/meson.build @@ -0,0 +1,3 @@ +i18n.gettext('plperl-' + pg_version_major.to_string(), + languages: ['cs', 'de', 'el', 'es', 'fr', 'it', 'ja', 'ko', 'pl', 'pt_BR', 'ro', 'ru', 'sv', 'tr', 'uk', 'vi', 'zh_CN', 'zh_TW'], + ) diff --git a/src/pl/plpgsql/src/meson.build b/src/pl/plpgsql/src/meson.build index b040e5e850..cc93f65b99 100644 --- a/src/pl/plpgsql/src/meson.build +++ b/src/pl/plpgsql/src/meson.build @@ -65,3 +65,5 @@ regress_tests += { 'plpgsql_varprops', ], } + +subdir('po') diff --git a/src/pl/plpgsql/src/po/meson.build b/src/pl/plpgsql/src/po/meson.build new file mode 100644 index 0000000000..775fd3326e --- /dev/null +++ b/src/pl/plpgsql/src/po/meson.build @@ -0,0 +1,3 @@ +i18n.gettext('plpgsql-' + pg_version_major.to_string(), + languages: ['cs', 'de', 'es', 'fr', 'it', 'ja', 'ko', 'pl', 'pt_BR', 'ro', 'ru', 'sv', 'tr', 'uk', 'vi', 'zh_CN', 'zh_TW'], + ) diff --git a/src/pl/plpython/meson.build b/src/pl/plpython/meson.build index cafb6fc087..ff3a2f7967 100644 --- a/src/pl/plpython/meson.build +++ b/src/pl/plpython/meson.build @@ -76,3 +76,5 @@ regress_tests += { 'bd': meson.current_build_dir(), 'sql': plpython_regress, } + +subdir('po') diff --git a/src/pl/plpython/po/meson.build b/src/pl/plpython/po/meson.build new file mode 100644 index 0000000000..788d0f8cdd --- /dev/null +++ b/src/pl/plpython/po/meson.build @@ -0,0 +1,3 @@ +i18n.gettext('plpython-' + pg_version_major.to_string(), + languages: ['cs', 'de', 'el', 'es', 'fr', 'it', 'ja', 'ko', 'pl', 'pt_BR', 'ru', 'sv', 'tr', 'uk', 'vi', 'zh_CN'], + ) diff --git a/src/pl/tcl/meson.build b/src/pl/tcl/meson.build index fe15041f52..52cdbcc5a3 100644 --- a/src/pl/tcl/meson.build +++ b/src/pl/tcl/meson.build @@ -49,3 +49,5 @@ regress_tests += { 'sql': pltcl_regress, 'regress_args': ['--load-extension=pltcl'] } + +subdir('po') diff --git a/src/pl/tcl/po/meson.build b/src/pl/tcl/po/meson.build new file mode 100644 index 0000000000..3302df5c54 --- /dev/null +++ b/src/pl/tcl/po/meson.build @@ -0,0 +1,3 @@ +i18n.gettext('pltcl-' + pg_version_major.to_string(), + languages: ['cs', 'de', 'el', 'es', 'fr', 'it', 'ja', 'ko', 'pl', 'pt_BR', 'ro', 'ru', 'sv', 'tr', 'uk', 'vi', 'zh_CN', 'zh_TW'], + ) -- 2.35.1