]>
Commit | Line | Data |
---|---|---|
16feadf2 | 1 | #! /bin/bash |
d4697bc9 | 2 | # Copyright (C) 2005-2014 Free Software Foundation, Inc. |
16feadf2 UD |
3 | # This file is part of the GNU C Library. |
4 | ||
5 | # The GNU C Library is free software; you can redistribute it and/or | |
6 | # modify it under the terms of the GNU Lesser General Public | |
7 | # License as published by the Free Software Foundation; either | |
8 | # version 2.1 of the License, or (at your option) any later version. | |
9 | ||
10 | # The GNU C Library is distributed in the hope that it will be useful, | |
11 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
13 | # Lesser General Public License for more details. | |
14 | ||
15 | # You should have received a copy of the GNU Lesser General Public | |
59ba27a6 PE |
16 | # License along with the GNU C Library; if not, see |
17 | # <http://www.gnu.org/licenses/>. | |
16feadf2 UD |
18 | # |
19 | includedir="$1" | |
20 | objpfx="$2" | |
21 | ||
22 | # To avoid long paths. | |
23 | cd "$objpfx" | |
24 | ||
3d9b46b3 L |
25 | # OK if *.os is missing. |
26 | shopt -s nullglob | |
27 | ||
16feadf2 UD |
28 | # Search all dependency files for file names in the include directory. |
29 | # There are a few system headers we are known to use. | |
a93f9cbc PT |
30 | # These include Linux kernel headers (asm*, arch, and linux), |
31 | # and Mach kernel headers (mach). | |
ea5ee9f7 RM |
32 | exec ${AWK} -v includedir="$includedir" ' |
33 | BEGIN { | |
34 | status = 0 | |
35 | exclude = "^" includedir \ | |
a93f9cbc | 36 | "/(.*-.*-.*/|)(asm[-/]|arch|linux/|selinux/|mach/|gd|nss3/|c\\+\\+/|sys/(capability|sdt(|-config))\\.h|libaudit\\.h)" |
ea5ee9f7 RM |
37 | } |
38 | /^[^ ]/ && $1 ~ /.*:/ { obj = $1 } | |
39 | { | |
40 | for (i = 1; i <= NF; ++i) { | |
41 | if ($i ~ ("^" includedir) && $i !~ exclude) { | |
42 | print "***", obj, "uses", $i | |
43 | status = 1 | |
44 | } | |
45 | } | |
46 | } | |
47 | END { exit status }' */*.{o,os,oS}.d |