#! /usr/bin/env perl -w
    eval 'exec /usr/bin/env perl -S $0 ${1+"$@"}'
        if 0; #$running_under_some_shell

use strict;
use File::Find ();
use File::Path qw(mkpath);
use Cwd 'abs_path';

# Set the variable $File::Find::dont_use_nlink if you're using AFS,
# since AFS cheats.

# for the convenience of &wanted calls, including -eval statements:
use vars qw/*name *dir *prune/;
*name   = *File::Find::name;
*dir    = *File::Find::dir;
*prune  = *File::Find::prune;
my $builddir = abs_path($ENV{samba_builddir});
my $srcdir = abs_path($ENV{samba_srcdir});
sub wanted;



# Traverse desired filesystems
File::Find::find({wanted => \&wanted, no_chdir => 1}, $srcdir);
exit;


sub wanted {
    my ($dev,$ino,$mode,$nlink,$uid,$gid,$newdir);

    if ((($dev,$ino,$mode,$nlink,$uid,$gid) = lstat($_)) &&
	(-d _) && (($newdir = abs_path($_)) !~ /$builddir/)) 
        { 
	  $newdir =~ s!$srcdir!$builddir!; 
	  mkpath($newdir);
	  print("Creating $newdir\n");
	}
}