39c39
< from os.path import basename, exists, isdir, isfile, join as joinpath
---
> from os.path import basename, dirname, exists, isdir, isfile, join as joinpath
216a217,219
> for extra_dir in extras_dir_list:
> env.Append(CPPPATH=Dir(extra_dir))
>
225,230c228,232
< for base_dir in base_dir_list:
< here = Dir('.').srcnode().abspath
< for root, dirs, files in os.walk(base_dir, topdown=True):
< if root == here:
< # we don't want to recurse back into this SConscript
< continue
---
> here = Dir('.').srcnode().abspath
> for root, dirs, files in os.walk(base_dir, topdown=True):
> if root == here:
> # we don't want to recurse back into this SConscript
> continue
231a234,240
> if 'SConscript' in files:
> build_dir = joinpath(env['BUILDDIR'], root[len(base_dir) + 1:])
> SConscript(joinpath(root, 'SConscript'), build_dir=build_dir)
>
> for extra_dir in extras_dir_list:
> prefix_len = len(dirname(extra_dir)) + 1
> for root, dirs, files in os.walk(extra_dir, topdown=True):
233c242
< build_dir = joinpath(env['BUILDDIR'], root[len(base_dir) + 1:])
---
> build_dir = joinpath(env['BUILDDIR'], root[prefix_len:])