Issue 9877: expose sysconfig.get_makefile_filename() in the public API.

This commit is contained in:
Barry Warsaw 2010-09-20 15:29:53 +00:00
parent 18cc344c0f
commit ebbef6fef2
4 changed files with 25 additions and 5 deletions

View File

@ -217,6 +217,10 @@ Other functions
Return the path of :file:`pyconfig.h`. Return the path of :file:`pyconfig.h`.
.. function:: get_makefile_filename()
Return the path of :file:`Makefile`.
Using :mod:`sysconfig` as a script Using :mod:`sysconfig` as a script
---------------------------------- ----------------------------------

View File

@ -5,9 +5,19 @@ import sys
import os import os
from os.path import pardir, realpath from os.path import pardir, realpath
__all__ = ['parse_config_h', 'get_config_h_filename', 'get_scheme_names', __all__ = [
'get_path_names', 'get_paths', 'get_path', 'get_config_vars', 'get_config_h_filename',
'get_config_var', 'get_platform', 'get_python_version'] 'get_config_var',
'get_config_vars',
'get_makefile_filename',
'get_path',
'get_path_names',
'get_paths',
'get_platform',
'get_python_version',
'get_scheme_names',
'parse_config_h',
]
_INSTALL_SCHEMES = { _INSTALL_SCHEMES = {
'posix_prefix': { 'posix_prefix': {
@ -291,7 +301,7 @@ def _parse_makefile(filename, vars=None):
return vars return vars
def _get_makefile_filename(): def get_makefile_filename():
if _PYTHON_BUILD: if _PYTHON_BUILD:
return os.path.join(_PROJECT_BASE, "Makefile") return os.path.join(_PROJECT_BASE, "Makefile")
return os.path.join(get_path('stdlib'), "config", "Makefile") return os.path.join(get_path('stdlib'), "config", "Makefile")
@ -300,7 +310,7 @@ def _get_makefile_filename():
def _init_posix(vars): def _init_posix(vars):
"""Initialize the module as appropriate for POSIX systems.""" """Initialize the module as appropriate for POSIX systems."""
# load the installed Makefile: # load the installed Makefile:
makefile = _get_makefile_filename() makefile = get_makefile_filename()
try: try:
_parse_makefile(makefile, vars) _parse_makefile(makefile, vars)
except IOError as e: except IOError as e:

View File

@ -234,6 +234,10 @@ class TestSysConfig(unittest.TestCase):
config_h = sysconfig.get_config_h_filename() config_h = sysconfig.get_config_h_filename()
self.assertTrue(os.path.isfile(config_h), config_h) self.assertTrue(os.path.isfile(config_h), config_h)
def test_get_makefile_filename(self):
makefile = sysconfig.get_makefile_filename()
self.assertTrue(os.path.isfile(makefile), makefile)
def test_get_scheme_names(self): def test_get_scheme_names(self):
wanted = ('nt', 'nt_user', 'os2', 'os2_home', 'osx_framework_user', wanted = ('nt', 'nt_user', 'os2', 'os2_home', 'osx_framework_user',
'posix_home', 'posix_prefix', 'posix_user') 'posix_home', 'posix_prefix', 'posix_user')

View File

@ -55,6 +55,8 @@ Core and Builtins
Library Library
------- -------
- Issue #9877: Expose sysconfig.get_makefile_filename()
- logging: Added hasHandlers() method to Logger and LoggerAdapter. - logging: Added hasHandlers() method to Logger and LoggerAdapter.
- Issue #1686: Fix string.Template when overriding the pattern attribute. - Issue #1686: Fix string.Template when overriding the pattern attribute.