r26290: build: split add_dir() into add_dir_str() and add_dir_array()
authorStefan Metzmacher <metze@samba.org>
Tue, 4 Dec 2007 13:18:58 +0000 (14:18 +0100)
committerStefan Metzmacher <metze@samba.org>
Fri, 21 Dec 2007 04:48:10 +0000 (05:48 +0100)
metze
(This used to be commit e0754868dfa868900f84266f155a236fd13b0ea3)

source4/build/smb_build/output.pm

index 17d5755348028c196b232393ae7fb3f32fab93bd..d9c05530b379f590a67b58b64b83fc6ea32d5c86 100644 (file)
@@ -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 @@ sub create_output($$)
                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}});