|
|
|
@ -52,6 +52,20 @@ class Python3Module(ExtensionModule): |
|
|
|
|
raise mesonlib.MesonException('language_version() takes no arguments.') |
|
|
|
|
return ModuleReturnValue(sysconfig.get_python_version(), []) |
|
|
|
|
|
|
|
|
|
def sysconfig_path(self, state, args, kwargs): |
|
|
|
|
if len(args) != 1: |
|
|
|
|
raise mesonlib.MesonException('sysconfig_path() requires passing the name of path to get.') |
|
|
|
|
if kwargs: |
|
|
|
|
raise mesonlib.MesonException('sysconfig_path() does not accept keywords.') |
|
|
|
|
path_name = args[0] |
|
|
|
|
valid_names = sysconfig.get_path_names() |
|
|
|
|
if path_name not in valid_names: |
|
|
|
|
raise mesonlib.MesonException('{} is not a valid path name {}.'.format(path_name, valid_names)) |
|
|
|
|
|
|
|
|
|
# Get a relative path without a prefix, e.g. lib/python3.6/site-packages |
|
|
|
|
path = sysconfig.get_path(path_name, vars={'base': ''})[1:] |
|
|
|
|
return ModuleReturnValue(path, []) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def initialize(): |
|
|
|
|
return Python3Module() |
|
|
|
|