X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senfscons%2FInstallIncludes.py;h=d9bb8f443840687466a8b0e2b530a89fa1b8711d;hb=28489b2b034740ce21bcce6f38b8fa1701948b03;hp=754dfccc843306ea635689873b368a686eaa77cf;hpb=5fbfcae374466c0d8d631d93e1fd58a5b7eea7d3;p=senf.git diff --git a/senfscons/InstallIncludes.py b/senfscons/InstallIncludes.py index 754dfcc..d9bb8f4 100644 --- a/senfscons/InstallIncludes.py +++ b/senfscons/InstallIncludes.py @@ -17,16 +17,20 @@ def recursiveChildren(f): rv = {} map(rv.setdefault,f) for c in f: - map(rv.setdefault,recursiveChildren(c.children())) + if c is not None : map(rv.setdefault,recursiveChildren(c.children())) return rv.keys() def filterIncludes(files, extensions): return [ f for f in files - if f.get_suffix() in extensions ] + if f is not None and f.get_suffix() in extensions ] + +def filterIncludesInv(files, extensions): + return [ f for f in files + if f is not None and '.' + str(f).split('.',1)[-1] not in extensions ] def filterDirectory(files, dir): return [ f for f in files - if f.abspath.startswith(dir.abspath) ] + if f is not None and f.abspath.startswith(dir.abspath) ] def excludeDirectories(files, dirs): return [ f for f in files @@ -35,6 +39,7 @@ def excludeDirectories(files, dirs): def emitter(target, source, env): source = recursiveChildren(source) source = filterIncludes(source, env['CPP_INCLUDE_EXTENSIONS']) + source = filterIncludesInv(source, env['CPP_EXCLUDE_EXTENSIONS']) source = filterDirectory(source, env['INSTALL_BASE']) source = excludeDirectories(source, env['INCLUDE_IGNORED_DIRECTORIES'])