]>
git.proxmox.com Git - mirror_ovs.git/blob - build-aux/sodepends.py
3 # Copyright (c) 2008, 2011, 2017 Nicira, Inc.
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at:
9 # http://www.apache.org/licenses/LICENSE-2.0
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
17 from build
import soutil
21 def sodepends(include_dirs
, filenames
, dst
):
23 print("# Generated automatically -- do not modify! "
24 "-*- buffer-read-only: t -*-")
25 for toplevel
in sorted(filenames
):
26 # Skip names that don't end in .in.
27 if not toplevel
.endswith('.in'):
31 fn
= soutil
.find_file(include_dirs
, toplevel
)
38 sys
.stderr
.write("%s: open: %s\n" % (fn
, e
.strerror
))
44 line
= outer
.readline()
48 name
= soutil
.extract_include_directive(line
)
50 if soutil
.find_file(include_dirs
, name
):
51 dependencies
.append(name
)
55 dst
.write("\n%s:" % toplevel
[:-3])
56 for s
in [toplevel
] + sorted(dependencies
):
57 dst
.write(' \\\n\t%s' % s
)
59 for s
in [toplevel
] + sorted(dependencies
):
60 dst
.write('%s:\n' % s
)
64 if __name__
== '__main__':
65 include_dirs
, args
= soutil
.parse_include_dirs()
66 error
= not sodepends(include_dirs
, args
, sys
.stdout
)
67 sys
.exit(1 if error
else 0)