-rwxr-xr-x | scripts/deps.pl | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/scripts/deps.pl b/scripts/deps.pl index 56c4e77..feced6e 100755 --- a/scripts/deps.pl +++ b/scripts/deps.pl @@ -1,73 +1,77 @@ #!/usr/bin/perl -w use strict; my %depends; my %tokenpath; sub getdepends ($$) { my ($token, $path, $intoken); $token = shift || return; $token =~ s/CONFIG_//; $path = shift || return; #print "opening $path/config.in\n"; # print "token is $token\n"; open( FILE, "< $path/config.in" ) || return; $intoken = 0; while( <FILE> ) { if( $intoken == 1 ) { /depends\S*(.*)/ && return $1; if( /\S*(config|menu)/ ) { $intoken = 0; return; } } else { /$token/ || next; $intoken = 1; } /$token/ || next; } close( FILE ); return; } sub makedepends ($$) { my ($depends, $tokenpath, $token, $depword, $mustbesep, $state); $depends = shift || return; $tokenpath = shift || return; $mustbesep = 0; for $token (keys %$depends){ print ${$tokenpath}{$token} . " : "; for (split(/\s+/, ${$depends}{$token})){ /^\s+$/ && next; /\&\&/ && next; /\|\|/ && next; /^$/ && next; + /^\($/ && next; + /^\)$/ && next; + /^on$/ && next; + /^!$/ && next; if(defined(${$tokenpath}{"CONFIG_" . $_})){ print '$(if $(CONFIG_' . $_ . '),' . ${$tokenpath}{"CONFIG_" . $_} . ') '; } else { - print STDERR "ERROR in dependency generation, unable to locate path for token CONFIG_$_\n"; + print STDERR "Warning: unable to locate path for token CONFIG_$_\n"; } } print "\n"; } } while( <> ) { my $dep; my ($token, $path, $pro); chomp; s/^\s*//g; s/\s*$//g; ($token, $path, $pro) = split(/\s+/,$_); $tokenpath{$token} = $path; $dep = getdepends($token, $path); if( $dep ) { $depends{$token} = $dep; } } makedepends(\%depends, \%tokenpath); |