Drop feature_args call in favor of letting pkgconfig do this directly

pull/2263/head
Matthias Klumpp 8 years ago
parent 6cd3f066b4
commit 75fdf413e4
  1. 7
      mesonbuild/interpreter.py
  2. 8
      mesonbuild/modules/pkgconfig.py

@ -655,7 +655,6 @@ class CompilerHolder(InterpreterObject):
'get_supported_arguments': self.get_supported_arguments_method,
'first_supported_argument': self.first_supported_argument_method,
'unittest_args': self.unittest_args_method,
'feature_args': self.feature_args_method,
'symbols_have_underscore_prefix': self.symbols_have_underscore_prefix_method,
})
@ -752,12 +751,6 @@ class CompilerHolder(InterpreterObject):
'''
return self.compiler.symbols_have_underscore_prefix(self.environment)
def feature_args_method(self, args, kwargs):
# At time, only D compilers have this feature.
if not hasattr(self.compiler, 'get_feature_args'):
raise InterpreterException('This {} compiler has no feature arguments.'.format(self.compiler.get_display_language()))
return self.compiler.get_feature_args(kwargs)
def unittest_args_method(self, args, kwargs):
'''
This function is deprecated and should not be used.

@ -121,7 +121,7 @@ class PkgConfigModule(ExtensionModule):
@permittedKwargs({'libraries', 'version', 'name', 'description', 'filebase',
'subdirs', 'requires', 'requires_private', 'libraries_private',
'install_dir', 'extra_cflags', 'variables', 'url'})
'install_dir', 'extra_cflags', 'variables', 'url', 'd_feature_versions'})
def generate(self, state, args, kwargs):
if len(args) > 0:
raise mesonlib.MesonException('Pkgconfig_gen takes no positional arguments.')
@ -148,6 +148,12 @@ class PkgConfigModule(ExtensionModule):
conflicts = mesonlib.stringlistify(kwargs.get('conflicts', []))
extra_cflags = mesonlib.stringlistify(kwargs.get('extra_cflags', []))
dversions = kwargs.get('d_feature_versions', None)
if dversions:
compiler = state.environment.coredata.compilers.get('d')
if compiler:
extra_cflags.extend(compiler.get_feature_args({'versions': dversions}))
def parse_variable_list(stringlist):
reserved = ['prefix', 'libdir', 'includedir']
variables = []

Loading…
Cancel
Save