]>
Commit | Line | Data |
---|---|---|
16feadf2 | 1 | #! /bin/bash |
3d9b46b3 | 2 | # Copyright (C) 2005-2012 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. | |
9f45bfe7 | 30 | # These include Linux kernel headers (asm*, arch, and linux). |
ea5ee9f7 RM |
31 | exec ${AWK} -v includedir="$includedir" ' |
32 | BEGIN { | |
33 | status = 0 | |
34 | exclude = "^" includedir \ | |
4da224a2 | 35 | "/(.*-.*-.*/|)(asm[-/]|arch|linux/|selinux/|gd|nss3/|c\\+\\+/|sys/(capability|sdt(|-config))\\.h|libaudit\\.h)" |
ea5ee9f7 RM |
36 | } |
37 | /^[^ ]/ && $1 ~ /.*:/ { obj = $1 } | |
38 | { | |
39 | for (i = 1; i <= NF; ++i) { | |
40 | if ($i ~ ("^" includedir) && $i !~ exclude) { | |
41 | print "***", obj, "uses", $i | |
42 | status = 1 | |
43 | } | |
44 | } | |
45 | } | |
46 | END { exit status }' */*.{o,os,oS}.d |