blob: 1512081ee6602ddf2763015d30a4235b941da3d5 [file]
subdir('lib1')
subdir('lib2')
subdir('lib3')
main = executable('say', 'main.c', link_with: [lib2], include_directories: lib2_includes)
main_pot = i18n.xgettext('main', main, args: xgettext_args, install: true, install_dir: 'intl', install_tag: 'intl', recursive: true)
shmain = executable('shsay', 'main.c', link_with: [shlib2], include_directories: lib2_includes)
shmain_pot = i18n.xgettext('shmain', shmain, args: xgettext_args, recursive: true)
verify = find_program('verify.py')
# main links lib2 and lib2 links lib1, but main does not link lib1 directly.
# With recursive: true, the .pot must pick up lib1's "Something!" transitively
# through lib2, not just lib2's own "Something else!".
test(
'recursive xgettext through static libraries',
verify,
args: [main_pot, 'Something else!', 'Something!'],
)
# Same chain, but with shared libraries. Unlike static libraries, shared
# libraries do not pull in their dependencies' objects, so shlib1 is not part
# of shmain.get_dependencies(). Recursive xgettext must still descend through
# shlib2 to reach shlib1's strings.
test(
'recursive xgettext through shared libraries',
verify,
args: [shmain_pot, 'Something else!', 'Something!'],
)