Remove building with NOCRYPTO option
[minix.git] / external / bsd / bind / dist / unit / atf-src / admin / check-style.sh
bloba4f2410ddcc262c19900cf0e996a88efddcea43f
1 #! /bin/sh
3 # Automated Testing Framework (atf)
5 # Copyright (c) 2007 The NetBSD Foundation, Inc.
6 # All rights reserved.
8 # Redistribution and use in source and binary forms, with or without
9 # modification, are permitted provided that the following conditions
10 # are met:
11 # 1. Redistributions of source code must retain the above copyright
12 # notice, this list of conditions and the following disclaimer.
13 # 2. Redistributions in binary form must reproduce the above copyright
14 # notice, this list of conditions and the following disclaimer in the
15 # documentation and/or other materials provided with the distribution.
17 # THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND
18 # CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
19 # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
20 # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
21 # IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS BE LIABLE FOR ANY
22 # DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23 # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
24 # GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25 # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
26 # IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
27 # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
28 # IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 # A utility to sanity check the coding style of all source files in the
33 # project tree.
36 Prog_Name=${0##*/}
39 # err message
41 err() {
42 echo "${Prog_Name}: ${@}" 1>&2
43 exit 1
47 # warn message
49 warn() {
50 echo "${Prog_Name}: ${@}" 1>&2
54 # guess_topdir
56 # Locates the project's top directory and prints its path. The caller
57 # must verify if the result is correct or not.
59 guess_topdir() {
60 olddir=$(pwd)
61 topdir=$(pwd)
62 while [ ${topdir} != / ]; do
63 if [ -f ./atf-c.h ]; then
64 break
65 else
66 cd ..
67 topdir=$(pwd)
69 done
70 cd ${olddir}
71 echo ${topdir}
75 # find_sources
77 # Locates all source files within the project, relative to the current
78 # directory, and prints their paths.
80 find_sources() {
81 find . \( -name "AUTHORS" -o \
82 -name "COPYING" -o \
83 -name "ChangeLog" -o \
84 -name "NEWS" -o \
85 -name "README" -o \
86 -name "TODO" -o \
87 -name "*.[0-9]" -o \
88 -name "*.ac" -o \
89 -name "*.at" -o \
90 -name "*.awk" -o \
91 -name "*.c" -o \
92 -name "*.cpp" -o \
93 -name "*.h" -o \
94 -name "*.h.in" -o \
95 -name "*.hpp" -o \
96 -name "*.m4" -o \
97 -name "*.sh" \
98 \) -a \( \
99 \! -path "*/atf-[0-9]*" -a \
100 \! -path "*autom4te*" -a \
101 -type f -a \
102 \! -name "aclocal.m4" \
103 \! -name "bconfig.h" \
104 \! -name "defs.h" \
105 \! -name "libtool.m4" \
106 \! -name "ltoptions.m4" \
107 \! -name "ltsugar.m4" \
108 \! -name "lt~obsolete.m4" \
109 \! -name "*.so.*" \
114 # guess_formats file
116 # Guesses the formats applicable to the given file and prints the resulting
117 # list.
119 guess_formats() {
120 case ${1} in
121 */ltmain.sh)
123 *.[0-9])
124 echo common man
126 *.c|*.h)
127 echo common c
129 *.cpp|*.hpp)
130 echo common cpp
132 *.sh)
133 echo common shell
136 echo common
138 esac
142 # check_file file
144 # Checks the validity of the given file.
146 check_file() {
147 err=0
148 for format in $(guess_formats ${1}); do
149 awk -f ${topdir}/admin/check-style-${format}.awk ${1} || err=1
150 done
152 return ${err}
156 # main [file list]
158 # Entry point.
160 main() {
161 topdir=$(guess_topdir)
162 if [ ! -f ${topdir}/atf-c.h ]; then
163 err "Could not locate the project's top directory"
166 if [ ${#} -gt 0 ]; then
167 sources=${@}
168 else
169 cd ${topdir}
170 sources=$(find_sources)
173 ok=0
174 for file in ${sources}; do
175 file=$(echo ${file} | sed -e "s,\\./,,")
177 if [ ! -f ${file} ]; then
178 err "Could not open ${file}"
179 else
180 check_file ${file} || ok=1
182 done
184 return ${ok}
187 main "${@}"
189 # vim: syntax=sh:expandtab:shiftwidth=4:softtabstop=4