]>
git.proxmox.com Git - ceph.git/blob - ceph/src/seastar/dpdk/devtools/build-tags.sh
2 # SPDX-License-Identifier: BSD-3-Clause
3 # Copyright(c) 2017 Cavium, Inc
7 # Generate tags or gtags or cscope or etags files
21 echo "Usage: $(basename $0) [-h] [-v] tags|cscope|gtags|etags [config]"
22 echo "Valid configs are:"
23 make showconfigs |
sed 's,^,\t,'
26 # Move to the root of the git tree
29 while getopts hv ARG
; do
32 h
) print_usage
; exit 0 ;;
33 ?
) print_usage
; exit 1 ;;
36 shift $
(($OPTIND - 1))
38 #ignore version control files
39 ignore
="( -name .svn -o -name CVS -o -name .hg -o -name .git ) -prune -o"
41 source_dirs
="app buildtools drivers examples lib"
43 skip_bsd
="( -name freebsd ) -prune -o"
44 skip_linux
="( -name linux ) -prune -o"
45 skip_arch
="( -name arch ) -prune -o"
46 skip_sse
="( -name *_sse*.[chS] ) -prune -o"
47 skip_avx
="( -name *_avx*.[chS] ) -prune -o"
48 skip_neon
="( -name *_neon*.[chS] ) -prune -o"
49 skip_altivec
="( -name *_altivec*.[chS] ) -prune -o"
50 skip_arm64
="( -name *arm64*.[chS] ) -prune -o"
51 skip_x86
="( -name *x86*.[chS] ) -prune -o"
52 skip_32b_files
="( -name *_32.h ) -prune -o"
53 skip_64b_files
="( -name *_64.h ) -prune -o"
55 skiplist
="$skip_bsd $skip_linux $skip_arch $skip_sse $skip_avx \
56 $skip_neon $skip_altivec $skip_x86 $skip_arm64"
60 find $1 $ignore $3 -name $2 -not -type l
-print
65 find_sources
"$source_dirs" '*.[chS]' "$skiplist"
70 find_sources
"lib/librte_eal/linux" '*.[chS]'
75 find_sources
"lib/librte_eal/freebsd" '*.[chS]'
80 find_sources
"lib/librte_eal/common/arch/arm" '*.[chS]'
81 find_sources
"$source_dirs" '*neon*.[chS]'
87 find_sources
"lib/librte_eal/common/include/arch/arm" '*.[chS]' \
94 find_sources
"lib/librte_eal/common/include/arch/arm" '*.[chS]' \
96 find_sources
"$source_dirs" '*arm64.[chS]'
101 find_sources
"lib/librte_eal/common/arch/x86" '*.[chS]'
103 find_sources
"examples/performance-thread/common/arch/x86" '*.[chS]'
104 find_sources
"$source_dirs" '*_sse*.[chS]'
105 find_sources
"$source_dirs" '*_avx*.[chS]'
106 find_sources
"$source_dirs" '*x86.[chS]'
112 find_sources
"lib/librte_eal/common/include/arch/x86" '*.[chS]' \
119 find_sources
"lib/librte_eal/common/include/arch/x86" '*.[chS]' \
125 find_sources
"lib/librte_eal/common/arch/ppc_64" '*.[chS]'
126 find_sources
"lib/librte_eal/common/include/arch/ppc_64" '*.[chS]'
127 find_sources
"$source_dirs" '*altivec*.[chS]'
132 if [ ! -f "config/defconfig_$1" ] ; then
133 echo "Invalid config: $1"
140 check_valid_target
$2
142 echo $2 |
grep -q "linux" || linux
=false
143 echo $2 |
grep -q "bsd" || bsd
=false
144 echo $2 |
grep -q "x86_64-" || x86_64
=false
145 echo $2 |
grep -q "arm-" || arm_32
=false
146 echo $2 |
grep -q "arm64-" || arm_64
=false
147 echo $2 |
grep -q "ppc_64-" || ppc_64
=false
148 echo $2 |
grep -q -e "i686-" -e "x32-" || x86_32
=false
154 if $linux ; then linux_sources
; fi
155 if $bsd ; then bsd_sources
; fi
156 if $x86_64 ; then x86_64_sources
; fi
157 if $x86_32 ; then x86_32_sources
; fi
158 if $ppc_64 ; then ppc_64_sources
; fi
159 if $arm_32 ; then arm_32_sources
; fi
160 if $arm_64 ; then arm_64_sources
; fi
170 echo "x86_32: $x86_32"
171 echo "x86_64: $x86_64"
172 echo "ppc_64: $ppc_64"
173 echo "arm_32: $arm_32"
174 echo "arm_64: $arm_64"
181 all_sources
> cscope.files
182 cscope
-q -b -f cscope.out
186 all_sources | gtags
-i -f -
191 all_sources |
xargs ctags
-a
196 all_sources |
xargs etags
-a
199 echo "Invalid mode: $1"