Author: metze Date: 2007-12-04 14:18:58 +0000 (Tue, 04 Dec 2007) New Revision: 26290
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=26290 Log: build: split add_dir() into add_dir_str() and add_dir_array() metze Modified: branches/SAMBA_4_0/source/build/smb_build/output.pm Changeset: Modified: branches/SAMBA_4_0/source/build/smb_build/output.pm =================================================================== --- branches/SAMBA_4_0/source/build/smb_build/output.pm 2007-12-04 14:17:26 UTC (rev 26289) +++ branches/SAMBA_4_0/source/build/smb_build/output.pm 2007-12-04 14:18:58 UTC (rev 26290) @@ -8,26 +8,35 @@ package output; use strict; -sub add_dir($$) +sub add_dir_str($$) { - my ($dir,$files) = @_; - my @ret = (); + my ($dir,$file) = @_; my $dirsep = "/"; $dir =~ s/^\.$//g; $dir =~ s/^\.\///g; $dirsep = "" if ($dir eq ""); - - foreach (@$files) { - if (substr($_, 0, 1) ne "\$") { - $_ = "$dir$dirsep$_"; - s/([^\/\.]+)\/\.\.\///g; - s/([^\/\.]+)\/\.\.\///g; - } - push (@ret, $_); + + my $ret = $file; + if (substr($ret, 0, 1) ne "\$") { + $ret = "$dir$dirsep$file"; + $ret =~ s/([^\/\.]+)\/\.\.\///g; + $ret =~ s/([^\/\.]+)\/\.\.\///g; } - + + return $ret; +} + +sub add_dir_array($$) +{ + my ($dir,$files) = @_; + my @ret = (); + + foreach (@{$files}) { + push (@ret, add_dir_str($dir, $_)); + } + return @ret; } @@ -136,7 +145,8 @@ next unless(defined($part->{OUTPUT_TYPE})); # Combine object lists - push(@{$part->{OBJ_LIST}}, add_dir($part->{BASEDIR}, $part->{OBJ_FILES})) if defined($part->{OBJ_FILES}); + my @list = add_dir_array($part->{BASEDIR}, $part->{OBJ_FILES}); + push(@{$part->{OBJ_LIST}}, @list) if defined($part->{OBJ_FILES}); generate_binary($part) if grep(/BINARY/, @{$part->{OUTPUT_TYPE}}); generate_shared_library($part) if grep(/SHARED_LIBRARY/, @{$part->{OUTPUT_TYPE}});
