Skip to content

Commit

Permalink
tags: include headers before source files
Browse files Browse the repository at this point in the history
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: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Reviewed-by: WANG Cong <xiyou.wangcong@gmail.com>
[mmarek@suse.cz: fix 'var+=text' bashism]
Signed-off-by: Michal Marek <mmarek@suse.cz>
  • Loading branch information
Guennadi Liakhovetski authored and Michal Marek committed Feb 17, 2010
1 parent d0679c7 commit f81b1be
Showing 1 changed file with 14 additions and 6 deletions.
20 changes: 14 additions & 6 deletions scripts/tags.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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/
Expand All @@ -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]'
}

Expand Down

0 comments on commit f81b1be

Please sign in to comment.