]> granicus.if.org Git - python/commitdiff
Issue #22199: Make get_makefile_filename() available in Lib/sysconfig.py
authorNed Deily <nad@acm.org>
Fri, 22 Aug 2014 20:48:06 +0000 (13:48 -0700)
committerNed Deily <nad@acm.org>
Fri, 22 Aug 2014 20:48:06 +0000 (13:48 -0700)
for 2.7 to match other versions of sysconfig.

Doc/library/sysconfig.rst
Lib/sysconfig.py
Lib/test/test_sysconfig.py

index a745a3d9d63424ebac5ebc23f0823f1f5bb54dee..9dd0b1e8d4d0161a076bcba00084ecfabf26b30f 100644 (file)
@@ -221,3 +221,7 @@ Other functions
 .. function:: get_config_h_filename()
 
    Return the path of :file:`pyconfig.h`.
+
+.. function:: get_makefile_filename()
+
+   Return the path of :file:`Makefile`.
index aa69351bf0ebd892d9a055d892eb08df8b232825..2a1da5a03b19d148a8040a989cc1677ab9468c3f 100644 (file)
@@ -273,17 +273,21 @@ def _parse_makefile(filename, vars=None):
     return vars
 
 
-def _get_makefile_filename():
+def get_makefile_filename():
+    """Return the path of the Makefile."""
     if _PYTHON_BUILD:
         return os.path.join(_PROJECT_BASE, "Makefile")
     return os.path.join(get_path('platstdlib'), "config", "Makefile")
 
+# Issue #22199: retain undocumented private name for compatibility
+_get_makefile_filename = get_makefile_filename
+
 def _generate_posix_vars():
     """Generate the Python module containing build-time variables."""
     import pprint
     vars = {}
     # load the installed Makefile:
-    makefile = _get_makefile_filename()
+    makefile = get_makefile_filename()
     try:
         _parse_makefile(makefile, vars)
     except IOError, e:
index 755f35f0324036bfc87a7014fbdf88afc1ce263e..a0b65dfc10b910b09171cc0b60b22dca81275386 100644 (file)
@@ -243,6 +243,14 @@ class TestSysConfig(unittest.TestCase):
                   'posix_home', 'posix_prefix', 'posix_user')
         self.assertEqual(get_scheme_names(), wanted)
 
+    @unittest.skipIf(sys.platform.startswith('win'),
+                     'Test is not Windows compatible')
+    def test_get_makefile_filename(self):
+        makefile = sysconfig.get_makefile_filename()
+        self.assertTrue(os.path.isfile(makefile), makefile)
+        # Issue 22199
+        self.assertEqual(sysconfig._get_makefile_filename(), makefile)
+
     def test_symlink(self):
         # Issue 7880
         symlink = get_attribute(os, "symlink")