]>
Commit | Line | Data |
---|---|---|
a14bc59f BP |
1 | # Copyright (c) 2008 Nicira Networks. |
2 | # | |
3 | # Licensed under the Apache License, Version 2.0 (the "License"); | |
4 | # you may not use this file except in compliance with the License. | |
5 | # You may obtain a copy of the License at: | |
6 | # | |
7 | # http://www.apache.org/licenses/LICENSE-2.0 | |
8 | # | |
9 | # Unless required by applicable law or agreed to in writing, software | |
10 | # distributed under the License is distributed on an "AS IS" BASIS, | |
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
12 | # See the License for the specific language governing permissions and | |
13 | # limitations under the License. | |
14 | ||
064af421 BP |
15 | use strict; |
16 | use warnings; | |
17 | use Getopt::Long; | |
18 | ||
19 | my ($exit_code) = 0; | |
20 | my (@include_dirs); | |
21 | Getopt::Long::Configure ("bundling"); | |
22 | GetOptions("I|include=s" => \@include_dirs) or exit(1); | |
23 | @include_dirs = ('.') if !@include_dirs; | |
24 | OUTER: while (<STDIN>) { | |
25 | if (my ($name) = /^\.so (\S+)$/) { | |
26 | foreach my $dir (@include_dirs, '.') { | |
27 | if (open(INNER, "$dir/$name")) { | |
28 | while (<INNER>) { | |
29 | print $_; | |
30 | } | |
31 | close(INNER); | |
32 | next OUTER; | |
33 | } | |
34 | } | |
35 | print STDERR "$name not found in: ", join(' ', @include_dirs), "\n"; | |
36 | $exit_code = 1; | |
37 | } | |
38 | print $_; | |
39 | } | |
40 | exit $exit_code; |