Adding test
[mozilla-central.git] / security / coreconf / coreconf.pl
blobce97535a088ece531dad1ab54c757eb943ff4946
2 # ***** BEGIN LICENSE BLOCK *****
3 # Version: MPL 1.1/GPL 2.0/LGPL 2.1
5 # The contents of this file are subject to the Mozilla Public License Version
6 # 1.1 (the "License"); you may not use this file except in compliance with
7 # the License. You may obtain a copy of the License at
8 # http://www.mozilla.org/MPL/
10 # Software distributed under the License is distributed on an "AS IS" basis,
11 # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
12 # for the specific language governing rights and limitations under the
13 # License.
15 # The Original Code is the Netscape security libraries.
17 # The Initial Developer of the Original Code is
18 # Netscape Communications Corporation.
19 # Portions created by the Initial Developer are Copyright (C) 1994-2000
20 # the Initial Developer. All Rights Reserved.
22 # Contributor(s):
24 # Alternatively, the contents of this file may be used under the terms of
25 # either the GNU General Public License Version 2 or later (the "GPL"), or
26 # the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
27 # in which case the provisions of the GPL or the LGPL are applicable instead
28 # of those above. If you wish to allow use of your version of this file only
29 # under the terms of either the GPL or the LGPL, and not to allow others to
30 # use your version of this file under the terms of the MPL, indicate your
31 # decision by deleting the provisions above and replace them with the notice
32 # and other provisions required by the GPL or the LGPL. If you do not delete
33 # the provisions above, a recipient may use your version of this file under
34 # the terms of any one of the MPL, the GPL or the LGPL.
36 # ***** END LICENSE BLOCK *****
37 sub recursive_copy {
38 local($fromdir);
39 local($todir);
40 local(@dirlist);
41 $fromdir = shift;
42 $todir = shift;
44 print STDERR "recursive copy called with $fromdir, $todir\n";
46 #remove any trailing slashes.
47 $fromdir =~ s/\/$//;
48 $todir =~ s/\/$//;
50 opendir(DIR, $fromdir);
51 @dirlist = readdir DIR;
52 close DIR;
55 foreach $file (@dirlist) {
56 if (! (($file eq "." ) || ($file eq "..") )) {
58 if (-d "$fromdir/$file") {
59 print STDERR "handling directory $todir/$file\n";
60 &rec_mkdir("$todir/$file");
61 &recursive_copy("$fromdir/$file","$todir/$file");
63 else {
64 print STDERR "handling file $fromdir/$file\n";
65 &my_copy("$fromdir/$file","$todir/$file");
71 sub parse_argv {
73 # print STDERR "Parsing Variables\n";
75 foreach $q ( @ARGV ) {
76 if (! ($q =~ /=/)) {
77 $var{$lastassigned} .= " $q";
79 else {
80 $q =~ /^([^=]*)=(.*)/;
81 $left = $1;
82 $right = $2;
84 $right =~ s/ *$//;
85 $var{$left} = $right;
87 $lastassigned = $left;
90 print STDERR "Assigned $lastassigned = $var{$lastassigned}\n";
95 # usage: &my_copy("dir/fromfile","dir2/tofile");
96 # do a 'copy' - files only, 'to' MUST be a filename, not a directory.
98 # fix this to be able to use copy on win nt.
100 sub my_copy {
101 local($from);
102 local($to);
103 local($cpcmd);
105 $from = shift;
106 $to = shift;
108 if ( ! defined $var{OS_ARCH}) {
109 die "OS_ARCH not defined!";
111 else {
112 if ($var{OS_ARCH} eq 'WINNT') {
113 $cpcmd = 'cp';
115 else {
116 $cpcmd = 'cp';
118 print STDERR "COPYING: $cpcmd $from $to\n";
119 system("$cpcmd $from $to");
124 sub old_my_copy {
125 local($from);
126 local($to);
128 $from = shift;
129 $to = shift;
130 open(FIN, "<$from") || die("Can't read from file $from\n");
131 if ( ! open(FOUT,">$to")) {
132 close FIN;
133 die "Can't write to file $to\n";
135 while (read(FIN, $buf, 100000)) {
136 print FOUT $buf;
138 close (FIN);
139 close (FOUT);
142 sub rec_mkdir {
143 local($arg);
144 local($t);
145 local($q);
147 $arg = shift;
148 $t = "";
149 foreach $q (split(/\//,$arg)) {
150 $t .= $q;
151 if (! ($t =~ /\.\.$/)) {
152 if ($t =~ /./) {
153 mkdir($t,0775);
156 $t.= '/';