Merge commit '42a3762d0138d6dd0c0f96964be98d0b21ab6bef'
[unleashed.git] / usr / src / tools / scripts / hdrchk.py
blob8c529b8c3d9ad1bee92c8fe46cea836e61564f98
1 #!@PYTHON@
3 # CDDL HEADER START
5 # The contents of this file are subject to the terms of the
6 # Common Development and Distribution License (the "License").
7 # You may not use this file except in compliance with the License.
9 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10 # or http://www.opensolaris.org/os/licensing.
11 # See the License for the specific language governing permissions
12 # and limitations under the License.
14 # When distributing Covered Code, include this CDDL HEADER in each
15 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16 # If applicable, add the following below this CDDL HEADER, with the
17 # fields enclosed by brackets "[]" replaced with your own identifying
18 # information: Portions Copyright [yyyy] [name of copyright owner]
20 # CDDL HEADER END
24 # Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
28 # Check header files conform to ON standards.
31 import sys, os, getopt
33 sys.path.insert(1, os.path.join(os.path.dirname(__file__), "..", "lib",
34 "python%d.%d" % sys.version_info[:2]))
36 # Allow running from the source tree, using the modules in the source tree
37 sys.path.insert(2, os.path.join(os.path.dirname(__file__), '..'))
39 from onbld.Checks.HdrChk import hdrchk
41 def usage():
42 progname = os.path.split(sys.argv[0])[1]
43 msg = ['Usage: %s [-a] file [file...]\n' % progname,
44 ' -a\tApply (more lenient) application header rules\n']
45 sys.stderr.writelines(msg)
48 try:
49 opts, args = getopt.getopt(sys.argv[1:], 'a')
50 except getopt.GetoptError:
51 usage()
52 sys.exit(2)
54 lenient = False
55 for opt, arg in opts:
56 if opt == '-a':
57 lenient = True
59 ret = 0
60 for filename in args:
61 try:
62 fh = open(filename, 'r')
63 except IOError, e:
64 sys.stderr.write("failed to open '%s': %s\n" %
65 (e.filename, e.strerror))
66 else:
67 ret |= hdrchk(fh, lenient=lenient, output=sys.stderr)
68 fh.close()
69 sys.exit(ret)