3 if [ -z $XDG_CACHE_HOME ]
5 XDG_CACHE_HOME
="$HOME/.cache"
12 PROGDIR
=.
# `dirname $0`
14 ANJUTA_TAGS_BIN
="@bindir@/anjuta-tags"
18 if [ -x "$ANJUTA_TAGS_BIN" ]
22 infile
=`echo $cflag | sed 's/^-I//'`
23 if [ -d "$infile" -a "$infile" != "/usr/include" -a "$infile" != "/usr/local/include" ]
25 FILES
="$FILES \"$infile/*.h\" \"$infile/*/*.h\" \"$infile/*/*/*.h\""
26 elif [ ! -d "$infile" -a -e "$infile" ]
28 FILES
="$FILES $infile"
32 echo "Can not execute $ANJUTA_TAGS_BIN"
38 FILES_COUNT
=`echo $FILES | wc -w`
40 echo "Creating $OUTPUT_FILE"
41 echo "Number of files to scan: $FILES_COUNT"
42 echo "Files to scan: $FILES"
44 if [ $FILES_COUNT -gt 0 ] ; then
46 $ANJUTA_TAGS_BIN $OUTPUT_FILE $FILES >"$OUTPUT_FILE.log" 2>&1
48 # If global tags file could not be generated
49 if [ ! -e $OUTPUT_FILE ] ; then
50 echo "WARNING: Could not create tags file $OUTPUT_FILE!" >&2
57 ## FILES="\"/usr/include/*.h\" \"/usr/local/include/*.h\""
60 PROGDIR
=.
# `dirname $0`
63 echo "Generating System tags..."
65 mkdir
-p "$XDG_CACHE_HOME/anjuta/tags/"
67 # pkg-config libraries
68 PKG_CONFIG
=`which pkg-config 2>/dev/null`
69 if ( [ ! -z $PKG_CONFIG ] && [ -x $PKG_CONFIG ] ) ; then
71 ## We are scaning .pc files directly because --cflags option
72 ## produces include paths and flags for other packages depended by
73 ## the packages, which we don't like. We only want cflags relevent
74 ## to the packages alone.
76 PKG_DEFAULT_CONFIG_PATH
=`echo $PKG_CONFIG | sed -e 's/\/bin\/pkg-config/\/lib\/pkgconfig'/`
77 PKG_CONFIG_PATH
="$PKG_CONFIG_PATH:$PKG_DEFAULT_CONFIG_PATH"
78 PKG_DEFAULT_CONFIG_PATH
=`echo $PKG_CONFIG | sed -e 's/\/bin\/pkg-config/\/lib64\/pkgconfig'/`
79 PKG_CONFIG_PATH
="$PKG_CONFIG_PATH:$PKG_DEFAULT_CONFIG_PATH"
81 PKG_CONFIG_PATH_PROPER
=`echo $PKG_CONFIG_PATH | sed -e 's/\:/ /g'`
84 for pkg_path
in $PKG_CONFIG_PATH_PROPER; do
85 for pkg_file
in `find "$pkg_path" -name '*.pc' 2>/dev/null`; do
86 pkg_files_count
=`expr $pkg_files_count + 1`
90 ## This line is important for the progress bar. Don't change it.
91 echo "Scanning $pkg_files_count packages"
93 for pkg_path
in $PKG_CONFIG_PATH_PROPER; do
94 for pkg_file
in `find "$pkg_path" -name '*.pc' 2>/dev/null`; do
95 # echo "Scanning package: $pkg_file"
96 PKG_CFLAGS
=`grep -e '^\(\w\+=\|\s*Cflags:\)' "$pkg_file"|sed -e 's/Cflags:\s*"\?\(.*\)"\?\s*/echo "\1"/' -e 's/^\(\w\+\)=\("\([^"]*\)"\|\(.*\)\)/\1="\3\4"/'|sh`
98 package
=`basename "$pkg_file" '.pc'`
99 # if [ ! -e $BASEDIR/tags/$package.anjutatags.gz ] ; then
100 echo "Creating tags file: $XDG_CACHE_HOME/anjuta/tags/$package.anjutatags.gz ..."
101 anjuta_tags
"$XDG_CACHE_HOME/anjuta/tags/$package.anjutatags" $PKG_CFLAGS > /dev
/null
106 echo "This is just a timestamp" > $XDG_CACHE_HOME/anjuta
/system-tags.cache