]>
git.saurik.com Git - apple/ld64.git/blob - unit-tests/bin/make-recursive.pl
10 $ENV{'LD_NO_CLASSSIC_LINKER'} = '1';
11 $ENV{'LD_NO_CLASSSIC_LINKER_STATIC'} = '1';
21 'wanted' => \
&find_callback
,
35 my $max_keyword_len = 0;
36 foreach $keyword (keys %$keywords)
37 { if($max_keyword_len < length($keyword)) { $max_keyword_len = length($keyword); } }
39 $max_keyword_len += length($delim) + length(' ');
41 my $last_keyword = '';
45 my ($keyword, $val) = @_;
47 if(!exists($$keywords{$keyword}))
49 print STDERR
"error: keyword $keyword not in \$keywords set\n";
55 if($keyword ne $last_keyword)
57 print("$keyword"); print($delim);
58 $keyword_len = length($keyword) + length($delim);
60 if($max_keyword_len > $keyword_len)
62 my $num_spaces = $max_keyword_len - $keyword_len;
63 print(' ' x
$num_spaces);
68 $last_keyword = $keyword;
73 $root = &realpath
($root);
74 print_line
("root", "$root\n");
76 find
($find_opts, $root);
80 if(exists($$makefiles{$_}))
83 my $reldir = $File::Find
::dir
;
84 $reldir =~ s
|^$root/||;
86 &print_line
("cwd", "\$root/$reldir\n");
89 my $arg; foreach $arg (@ARGV) { push @$cmd, $arg; } # better way to do this?
90 &print_line
("cmd", "@$cmd\n");
92 open(SAVEOUT
, ">&STDOUT") || die("$!");
93 open(SAVEERR
, ">&STDERR") || die("$!");
94 open(STDOUT
, ">/tmp/unit-tests-stdout") || die("$!");
95 open(STDERR
, ">/tmp/unit-tests-stderr") || die("$!");
97 $ENV{UNIT_TEST_NAME
} = $reldir;
98 my $exit = system(@$cmd);
100 close(STDOUT
) || die("$!");
101 close(STDERR
) || die("$!");
102 open(STDOUT
, ">&SAVEOUT") || die("$!");
103 open(STDERR
, ">&SAVEERR") || die("$!");
105 &print_line
("exit", "$exit\n");
107 open(OUT
, "</tmp/unit-tests-stdout") || die("$!");
110 &print_line
("stdout", "$_");
112 close(OUT
) || die("$!");
113 unlink("/tmp/unit-tests-stdout");
115 open(ERR
, "</tmp/unit-tests-stderr") || die("$!");
118 &print_line
("stderr", "$_");
120 close(ERR
) || die("$!");
122 unlink("/tmp/unit-tests-stderr");