Add 'install' keyword to the gettext macro

pull/2350/head
Corentin Noël 7 years ago
parent 96e24a50f9
commit 6a2926870c
  1. 27
      mesonbuild/modules/i18n.py

@ -81,7 +81,7 @@ class I18nModule(ExtensionModule):
ct = build.CustomTarget(kwargs['output'] + '_merge', state.subdir, kwargs) ct = build.CustomTarget(kwargs['output'] + '_merge', state.subdir, kwargs)
return ModuleReturnValue(ct, [ct]) return ModuleReturnValue(ct, [ct])
@permittedKwargs({'po_dir', 'data_dirs', 'type', 'languages', 'args', 'preset'}) @permittedKwargs({'po_dir', 'data_dirs', 'type', 'languages', 'args', 'preset', 'install'})
def gettext(self, state, args, kwargs): def gettext(self, state, args, kwargs):
if len(args) != 1: if len(args) != 1:
raise coredata.MesonException('Gettext requires one positional argument (package name).') raise coredata.MesonException('Gettext requires one positional argument (package name).')
@ -126,16 +126,21 @@ class I18nModule(ExtensionModule):
updatepoargs.append(extra_args) updatepoargs.append(extra_args)
updatepotarget = build.RunTarget(packagename + '-update-po', updatepoargs[0], updatepoargs[1:], [], state.subdir) updatepotarget = build.RunTarget(packagename + '-update-po', updatepoargs[0], updatepoargs[1:], [], state.subdir)
script = state.environment.get_build_command() targets = [pottarget, gmotarget, updatepotarget]
args = ['--internal', 'gettext', 'install',
'--subdir=' + state.subdir, install = kwargs.get('install') if ('install' in kwargs) else True
'--localedir=' + state.environment.coredata.get_builtin_option('localedir'), if install:
pkg_arg] script = state.environment.get_build_command()
if lang_arg: args = ['--internal', 'gettext', 'install',
args.append(lang_arg) '--subdir=' + state.subdir,
iscript = build.RunScript(script, args) '--localedir=' + state.environment.coredata.get_builtin_option('localedir'),
pkg_arg]
return ModuleReturnValue(None, [pottarget, gmotarget, iscript, updatepotarget]) if lang_arg:
args.append(lang_arg)
iscript = build.RunScript(script, args)
targets.append(iscript)
return ModuleReturnValue(None, targets)
def initialize(): def initialize():
return I18nModule() return I18nModule()

Loading…
Cancel
Save