summaryrefslogtreecommitdiff
path: root/sys/src/cmd/python/Tools/freeze/parsesetup.py
diff options
context:
space:
mode:
authorOri Bernstein <ori@eigenstate.org>2021-06-14 00:00:37 +0000
committerOri Bernstein <ori@eigenstate.org>2021-06-14 00:00:37 +0000
commita73a964e51247ed169d322c725a3a18859f109a3 (patch)
tree3f752d117274d444bda44e85609aeac1acf313f3 /sys/src/cmd/python/Tools/freeze/parsesetup.py
parente64efe273fcb921a61bf27d33b230c4e64fcd425 (diff)
python, hg: tow outside the environment.
they've served us well, and can ride off into the sunset.
Diffstat (limited to 'sys/src/cmd/python/Tools/freeze/parsesetup.py')
-rw-r--r--sys/src/cmd/python/Tools/freeze/parsesetup.py112
1 files changed, 0 insertions, 112 deletions
diff --git a/sys/src/cmd/python/Tools/freeze/parsesetup.py b/sys/src/cmd/python/Tools/freeze/parsesetup.py
deleted file mode 100644
index 856234d44..000000000
--- a/sys/src/cmd/python/Tools/freeze/parsesetup.py
+++ /dev/null
@@ -1,112 +0,0 @@
-# Parse Makefiles and Python Setup(.in) files.
-
-import re
-
-
-# Extract variable definitions from a Makefile.
-# Return a dictionary mapping names to values.
-# May raise IOError.
-
-makevardef = re.compile('^([a-zA-Z0-9_]+)[ \t]*=(.*)')
-
-def getmakevars(filename):
- variables = {}
- fp = open(filename)
- pendingline = ""
- try:
- while 1:
- line = fp.readline()
- if pendingline:
- line = pendingline + line
- pendingline = ""
- if not line:
- break
- if line.endswith('\\\n'):
- pendingline = line[:-2]
- matchobj = makevardef.match(line)
- if not matchobj:
- continue
- (name, value) = matchobj.group(1, 2)
- # Strip trailing comment
- i = value.find('#')
- if i >= 0:
- value = value[:i]
- value = value.strip()
- variables[name] = value
- finally:
- fp.close()
- return variables
-
-
-# Parse a Python Setup(.in) file.
-# Return two dictionaries, the first mapping modules to their
-# definitions, the second mapping variable names to their values.
-# May raise IOError.
-
-setupvardef = re.compile('^([a-zA-Z0-9_]+)=(.*)')
-
-def getsetupinfo(filename):
- modules = {}
- variables = {}
- fp = open(filename)
- pendingline = ""
- try:
- while 1:
- line = fp.readline()
- if pendingline:
- line = pendingline + line
- pendingline = ""
- if not line:
- break
- # Strip comments
- i = line.find('#')
- if i >= 0:
- line = line[:i]
- if line.endswith('\\\n'):
- pendingline = line[:-2]
- continue
- matchobj = setupvardef.match(line)
- if matchobj:
- (name, value) = matchobj.group(1, 2)
- variables[name] = value.strip()
- else:
- words = line.split()
- if words:
- modules[words[0]] = words[1:]
- finally:
- fp.close()
- return modules, variables
-
-
-# Test the above functions.
-
-def test():
- import sys
- import os
- if not sys.argv[1:]:
- print 'usage: python parsesetup.py Makefile*|Setup* ...'
- sys.exit(2)
- for arg in sys.argv[1:]:
- base = os.path.basename(arg)
- if base[:8] == 'Makefile':
- print 'Make style parsing:', arg
- v = getmakevars(arg)
- prdict(v)
- elif base[:5] == 'Setup':
- print 'Setup style parsing:', arg
- m, v = getsetupinfo(arg)
- prdict(m)
- prdict(v)
- else:
- print arg, 'is neither a Makefile nor a Setup file'
- print '(name must begin with "Makefile" or "Setup")'
-
-def prdict(d):
- keys = d.keys()
- keys.sort()
- for key in keys:
- value = d[key]
- print "%-15s" % key, str(value)
-
-if __name__ == '__main__':
- test()