remove patches
[platform/upstream/nss.git] / coreconf / coreconf.pl
1 #
2 # This Source Code Form is subject to the terms of the Mozilla Public
3 # License, v. 2.0. If a copy of the MPL was not distributed with this
4 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
5 sub recursive_copy {
6     local($fromdir);
7     local($todir);
8     local(@dirlist);
9     $fromdir = shift;
10     $todir = shift;
11   
12     print STDERR "recursive copy called with $fromdir, $todir\n";
13
14 #remove any trailing slashes.
15     $fromdir =~ s/\/$//;
16     $todir =~ s/\/$//;
17     
18     opendir(DIR, $fromdir);
19     @dirlist = readdir DIR;
20     close DIR;
21
22
23     foreach $file (@dirlist) {
24         if  (! (($file eq "." ) || ($file eq "..") )) {
25             
26             if (-d "$fromdir/$file") {
27                 print STDERR "handling directory $todir/$file\n";
28                 &rec_mkdir("$todir/$file");
29                 &recursive_copy("$fromdir/$file","$todir/$file");
30             }
31             else {
32                 print STDERR "handling file $fromdir/$file\n";
33                 &my_copy("$fromdir/$file","$todir/$file");
34             }
35         }
36     }
37 }
38
39 sub parse_argv {
40
41 #    print STDERR "Parsing Variables\n";
42
43     foreach $q ( @ARGV ) {
44         if (! ($q =~ /=/)) {
45             $var{$lastassigned} .= " $q";
46         }
47         else {
48            $q =~ /^([^=]*)=(.*)/;
49            $left = $1;
50            $right = $2;
51         
52            $right =~ s/ *$//;
53            $var{$left} = $right;
54
55            $lastassigned = $left;
56         
57            }
58         print STDERR "Assigned $lastassigned = $var{$lastassigned}\n";
59     }
60 }
61
62
63 # usage: &my_copy("dir/fromfile","dir2/tofile");
64 # do a 'copy' - files only, 'to' MUST be a filename, not a directory.
65
66 # fix this to be able to use copy on win nt.
67
68 sub my_copy {
69     local($from);
70     local($to);
71     local($cpcmd);
72
73     $from = shift;
74     $to = shift;
75
76     if ( ! defined $var{OS_ARCH}) {
77         die "OS_ARCH not defined!";
78     }
79     else {
80         if ($var{OS_ARCH} eq 'WINNT') {
81             $cpcmd = 'cp';
82                 }
83         else {
84             $cpcmd = 'cp';
85             }
86         print STDERR "COPYING: $cpcmd $from $to\n";
87         system("$cpcmd $from $to");
88     }
89 }
90
91
92 sub old_my_copy {
93     local($from);
94     local($to);
95
96     $from = shift;
97     $to = shift;
98     open(FIN, "<$from") || die("Can't read from file $from\n");
99     if ( ! open(FOUT,">$to")) {
100         close FIN;
101         die "Can't write to file $to\n";
102     }
103     while (read(FIN, $buf, 100000)) {
104         print FOUT $buf;
105     }
106     close (FIN);
107     close (FOUT);
108 }
109
110 sub rec_mkdir {
111     local($arg);
112     local($t);
113     local($q);
114
115     $arg = shift;
116     $t = "";
117     foreach $q (split(/\//,$arg)) {
118         $t .= $q;
119         if (! ($t =~ /\.\.$/)) {
120             if ($t =~ /./) {
121                 mkdir($t,0775);
122             }
123         }
124         $t.= '/';
125     }
126 }
127
128 1;