diff options
author | Tarek Ziadé <ziade.tarek@gmail.com> | 2010-02-02 22:50:23 (GMT) |
---|---|---|
committer | Tarek Ziadé <ziade.tarek@gmail.com> | 2010-02-02 22:50:23 (GMT) |
commit | cc118178083c99bea93cae9551e0e74bdc505d1d (patch) | |
tree | 9328b85a92495070651db08ac7f4b708803cdd6b /Lib/sysconfig.py | |
parent | 526e421b12654368443926b83fb0ca1e7ff027b4 (diff) | |
download | cpython-cc118178083c99bea93cae9551e0e74bdc505d1d.zip cpython-cc118178083c99bea93cae9551e0e74bdc505d1d.tar.gz cpython-cc118178083c99bea93cae9551e0e74bdc505d1d.tar.bz2 |
module reorganization + missing doctests
Diffstat (limited to 'Lib/sysconfig.py')
-rw-r--r-- | Lib/sysconfig.py | 80 |
1 files changed, 43 insertions, 37 deletions
diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py index 4552959..1d35082 100644 --- a/Lib/sysconfig.py +++ b/Lib/sysconfig.py @@ -235,49 +235,12 @@ def _parse_makefile(filename, vars=None): vars.update(done) return vars -def parse_config_h(fp, vars=None): - """Parse a config.h-style file. - - A dictionary containing name/value pairs is returned. If an - optional dictionary is passed in as the second argument, it is - used instead of a new dictionary. - """ - import re - if vars is None: - vars = {} - define_rx = re.compile("#define ([A-Z][A-Za-z0-9_]+) (.*)\n") - undef_rx = re.compile("/[*] #undef ([A-Z][A-Za-z0-9_]+) [*]/\n") - - while True: - line = fp.readline() - if not line: - break - m = define_rx.match(line) - if m: - n, v = m.group(1, 2) - try: v = int(v) - except ValueError: pass - vars[n] = v - else: - m = undef_rx.match(line) - if m: - vars[m.group(1)] = 0 - return vars def _get_makefile_filename(): if _PYTHON_BUILD: return os.path.join(_PROJECT_BASE, "Makefile") return os.path.join(get_path('stdlib'), "config", "Makefile") -def get_config_h_filename(): - if _PYTHON_BUILD: - if os.name == "nt": - inc_dir = os.path.join(_PROJECT_BASE, "PC") - else: - inc_dir = _PROJECT_BASE - else: - inc_dir = get_path('platinclude') - return os.path.join(inc_dir, 'pyconfig.h') def _init_posix(vars): """Initialize the module as appropriate for POSIX systems.""" @@ -337,10 +300,53 @@ def _init_non_posix(vars): # public APIs # + +def parse_config_h(fp, vars=None): + """Parse a config.h-style file. + + A dictionary containing name/value pairs is returned. If an + optional dictionary is passed in as the second argument, it is + used instead of a new dictionary. + """ + import re + if vars is None: + vars = {} + define_rx = re.compile("#define ([A-Z][A-Za-z0-9_]+) (.*)\n") + undef_rx = re.compile("/[*] #undef ([A-Z][A-Za-z0-9_]+) [*]/\n") + + while True: + line = fp.readline() + if not line: + break + m = define_rx.match(line) + if m: + n, v = m.group(1, 2) + try: v = int(v) + except ValueError: pass + vars[n] = v + else: + m = undef_rx.match(line) + if m: + vars[m.group(1)] = 0 + return vars + +def get_config_h_filename(): + """Returns the path of pyconfig.h.""" + if _PYTHON_BUILD: + if os.name == "nt": + inc_dir = os.path.join(_PROJECT_BASE, "PC") + else: + inc_dir = _PROJECT_BASE + else: + inc_dir = get_path('platinclude') + return os.path.join(inc_dir, 'pyconfig.h') + def get_scheme_names(): + """Returns a tuple containing the schemes names.""" return _INSTALL_SCHEMES.keys() def get_path_names(): + """Returns a tuple containing the paths names.""" return _SCHEME_KEYS def get_paths(scheme=_get_default_scheme(), vars=None, expand=True): |