]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
use $INCLUDE path (Mark Hammond)
authorGuido van Rossum <guido@python.org>
Tue, 17 Jan 1995 17:01:40 +0000 (17:01 +0000)
committerGuido van Rossum <guido@python.org>
Tue, 17 Jan 1995 17:01:40 +0000 (17:01 +0000)
Tools/scripts/h2py.py

index db0dbd826a676c4cca164be3d4db5d9f14e4d6ed..4cea2353cb7595dbb95886b0cbc023bf7f5f448b 100755 (executable)
@@ -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()