Files
asterisk/build_tools/prep_moduledeps
Kevin P. Fleming e49a367ecf commit russell's menuselect/buildoptions work with some changes:
reverted per-directory .cleancount support
  added ability for 'remove_on_change' to support multiple filenames
  add 'remove_on_change' support to members, not just categories
  only do 'remove_on_change' removals if the config is actually saved
  add a 'remove_on_change' entry for each module found by prep_moduledeps so that if it gets turned off any existing .o/.so files will disappear


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@34577 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-18 12:52:08 +00:00

70 lines
1.9 KiB
Bash
Executable File

#!/bin/sh
get_description() {
x=${1}
TDESC=`cat $x | grep -e *tdesc | cut -f 2 -d '"'`
if [ "$TDESC" = "" ]; then
TDESC=`cat $x | grep -A 2 -e *description | grep -e '\"' | cut -f 2 -d '"'`
fi
if [ "$TDESC" = "" ]; then
TDESC=`cat $x | grep -e MODULE_DESCRIPTION | grep -v return | cut -f 2 -d '"'`
fi
if [ "$TDESC" = "" ]; then
TDESC=`cat $x | grep -e tdesc\\\[\\\] | cut -f 2 -d '"'`
fi
if [ "$TDESC" = "" ]; then
TDESC=`cat $x | grep -e desc\\\[\\\] | grep -v description | cut -f 2 -d '"'`
fi
if [ "$TDESC" = "" ]; then
TDESC=`cat $x | grep -e *desc | grep -v descrip | cut -f 2 -d '"'`
fi
if [ "$TDESC" = "" ]; then
TDESC=`cat $x | grep -e *dtext | grep static | cut -f 2 -d '"'`
fi
if [ "$TDESC" = "" ]; then
TDESC=`cat $x | grep -A 2 -e *synopsis | grep -e '\"' | cut -f 2 -d '"'`
fi
}
process_dir() {
dir=${1}
prefix=${2}_
catsuffix=${3}
displayname=${4}
echo -e "\t<category name=\"MENUSELECT_${catsuffix}\" displayname=\"${displayname}\">"
for file in ${dir}/${prefix}*.c
do
fname=${file##${dir}/}
get_description ${file}
desc=${TDESC}
echo -e "\t\t<member name=\"${fname%%.c}\" displayname=\"${desc}\" remove_on_change=\"${dir}/${fname%%.c}.o ${dir}/${fname%%.c}.so\">"
awk -f build_tools/get_moduleinfo ${file}
echo -e "\t\t</member>"
done
echo -e "\t</category>"
for file in ${dir}/${prefix}*.c
do
awk -f build_tools/get_makeopts ${file} >> .makeoptstmp
done
}
echo "<?xml version="1.0"?>"
echo
echo "<menu>"
rm -f .makeoptstmp
process_dir apps app APPS Applications
process_dir cdr cdr CDR "Call Detail Recording"
process_dir channels chan CHANNELS "Channel Drivers"
process_dir codecs codec CODECS "Codec Translators"
process_dir formats format FORMATS "Format Interpreters"
process_dir funcs func FUNCS "Dialplan Functions"
process_dir pbx pbx PBX "PBX Modules"
process_dir res res RES "Resource Modules"
cat build_tools/cflags.xml
cat sounds/sounds.xml
cat .makeoptstmp
rm -f .makeoptstmp
echo "</menu>"