use $INCLUDE path (Mark Hammond)

This commit is contained in:
Guido van Rossum 1995-01-17 17:01:40 +00:00
parent 3256e87dbc
commit 514d351d45
1 changed files with 26 additions and 7 deletions

View File

@ -38,6 +38,14 @@ p_char = regex.compile("'\(\\\\.[^\\\\]*\|[^\\\\]\)'")
filedict = {}
try:
searchdirs=string.splitfields(os.environ['include'],';')
except KeyError:
try:
searchdirs=string.splitfields(os.environ['INCLUDE'],';')
except KeyError:
searchdirs=['/usr/include']
def main():
opts, args = getopt.getopt(sys.argv[1:], 'i:')
for o, a in opts:
@ -59,8 +67,10 @@ def main():
outfp = open(outfile, 'w')
outfp.write('# Generated by h2py from %s\n' % filename)
filedict = {}
if filename[:13] == '/usr/include/':
filedict[filename[13:]] = None
for dir in searchdirs:
if filename[:len(dir)] == dir:
filedict[filename[len(dir)+1:]] = None # no '/' trailing
break
process(fp, outfp)
outfp.close()
fp.close()
@ -114,9 +124,18 @@ def process(fp, outfp, env = {}):
filename = line[a:b]
if not filedict.has_key(filename):
filedict[filename] = None
outfp.write(
'\n# Included from %s\n' % filename)
inclfp = open('/usr/include/' + filename, 'r')
process(inclfp, outfp, env)
main()
inclfp = None
for dir in searchdirs:
try:
inclfp = open(dir + '/' + filename, 'r')
break
except IOError:
pass
if inclfp:
outfp.write(
'\n# Included from %s\n' % filename)
process(inclfp, outfp, env)
else:
sys.stderr.write('Warning - could not find file %s' % filename)
main()