提交 f81b1be4 编写于 作者: G Guennadi Liakhovetski 提交者: Michal Marek

tags: include headers before source files

Currently looking up a structure definition in TAGS / tags takes one to
one of multiple "static struct X" definitions in arch sources, which makes
it for many structs practically impossible to get to the required header.
This patch changes the order of sources being tagged to first scan
architecture includes, then the top-level include/ directory, and only
then the rest. It also takes into account, that many architectures have
more than one include directory, i.e., not only arch/$ARCH/include, but
also arch/$ARCH/mach-X/include etc.
Signed-off-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de>
Reviewed-by: NWANG Cong <xiyou.wangcong@gmail.com>
[mmarek@suse.cz: fix 'var+=text' bashism]
Signed-off-by: NMichal Marek <mmarek@suse.cz>
上级 d0679c73
......@@ -32,13 +32,20 @@ fi
# find sources in arch/$ARCH
find_arch_sources()
{
find ${tree}arch/$1 $ignore -name "$2" -print;
for i in $archincludedir; do
prune="$prune -wholename $i -prune -o"
done
find ${tree}arch/$1 $ignore $prune -name "$2" -print;
}
# find sources in arch/$1/include
find_arch_include_sources()
{
find ${tree}arch/$1/include $ignore -name "$2" -print;
include=$(find ${tree}arch/$1/ -name include -type d);
if [ -n "$include" ]; then
archincludedir="$archincludedir $include"
find $include $ignore -name "$2" -print;
fi
}
# find sources in include/
......@@ -63,14 +70,15 @@ find_sources()
all_sources()
{
for arch in $ALLSOURCE_ARCHS
do
find_sources $arch '*.[chS]'
done
find_arch_include_sources ${ARCH} '*.[chS]'
if [ ! -z "$archinclude" ]; then
find_arch_include_sources $archinclude '*.[chS]'
fi
find_include_sources '*.[chS]'
for arch in $ALLSOURCE_ARCHS
do
find_sources $arch '*.[chS]'
done
find_other_sources '*.[chS]'
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册