joes        2003/05/30 14:43:32

  Modified:    build    xsbuilder.pl
  Log:
  Override find_includes to work around ParseSource.pm bug
  
  Revision  Changes    Path
  1.3       +29 -0     httpd-apreq-2/build/xsbuilder.pl
  
  Index: xsbuilder.pl
  ===================================================================
  RCS file: /home/cvs/httpd-apreq-2/build/xsbuilder.pl,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- xsbuilder.pl      30 May 2003 19:17:13 -0000      1.2
  +++ xsbuilder.pl      30 May 2003 21:43:32 -0000      1.3
  @@ -67,6 +67,35 @@
   
   # ParseSource.pm v 0.23 bug: line 214 should read
   # my @dirs = @{$self->include_dirs};
  +# for now, we override it here just to work around the bug
  +
  +sub find_includes {
  +    my $self = shift;
  +    return $self->{includes} if $self->{includes};
  +    require File::Find;
  +    my(@dirs) = @{$self->include_dirs};
  +    unless (-d $dirs[0]) {
  +        die "could not find include directory";
  +    }
  +    # print "Will search @dirs for include files...\n" if ($verbose) ;
  +    my @includes;
  +    my $unwanted = join '|', @{$self -> unwanted_includes} ;
  +
  +    for my $dir (@dirs) {
  +        File::Find::finddepth({
  +                               wanted => sub {
  +                                   return unless /\.h$/;
  +                                   return if ($unwanted && 
(/^($unwanted)/o));
  +                                   my $dir = $File::Find::dir;
  +                                   push @includes, "$dir/$_";
  +                               },
  +                               follow => $^O ne 'MSWin32',
  +                              }, $dir);
  +    }
  +    return $self->{includes} = $self -> sort_includes ([EMAIL PROTECTED]) ;
  +}
  +
  +
   sub include_dirs {["$base_dir/src",]}# "$base_dir/glue/perl/xsinclude"]}
   
   sub preprocess
  
  
  

Reply via email to