Hi Vladimir,

How did you search / find the references you posted.  Good stuff.

I hammered a little on the recursive-find rule of João Abecasis and arrived at the following interface:

#
#   Recursively find files matching a given pattern in a set of filesystem
#   trees.  Files that match a file-skip pattern (parameter skip-patterns-or-files)
#   are pruned from the result set.  Similarly, directories that match a
#   directory-skip pattern (parameter skip-patterns-or-dirs) are pruned.
#   The number of recursion levels can be limited with optional max-depth
#   argument.  For example, max-depth of 1 limits the search to 1 level of
#   subdirectories.  By default, there is no recursion limit.
#
#   Example:
#
#       [ recursive-find . : *.cpp *.h : bar* : bum* : 5 ]
#
#   searches the current directory (of invoking jamfile) for *.cpp and *.h
#   files, excluding any files that match "bar*" and excluding any
#   directories that match "bum*".  Subdirectory depth is limited to 5.
#
rule recursive-find (
      search-dirs +                 # trees to search
    : patterns-or-files *           # patterns to search for
    : skip-patterns-or-files *      # patterns for files to be pruned
    : skip-patterns-or-dirs *       # patterns for directories to be pruned
    : max-depth ?                   # maximum number of recursion levels
)

Changes from the original are:
  - addition of skip-patterns-or-dirs parameter;  this parameter applies
    to directories while skip-patterns-or-files applies to files.
  - addition of max-depth parameter
 
Attached is recursive-find.jam file.  Would you suggest incorporating this into the bjam distribution (either as a stand-alone util/recursive-find.jam module or as an addition to util/path.jam)?  I would like to write a python test script except that I haven't got past python hanging (on Cygwin) as I reported yesterday.  Do you know if anyone has had success in running the python test suite on Cygwin?

Best regards,
Mark