Files
asterisk/build_tools/prep_moduledeps
Russell Bryant 58ed1b07ab Work around an issue that caused menuselect to display a bogus description for
app_voicemail and chan_zap.  These modules use some preprocessor directives to
determine what it will report to Asterisk as its description.  However, the way
we extract this information from the source files for menuselect is not smart
enough to figure this out.
(issue #8326, #8328)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@47391 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-09 21:26:27 +00:00

49 lines
1.4 KiB
Bash
Executable File

#!/bin/sh
get_description() {
TDESC=`grep -m 1 -e AST_MODULE_INFO ${1} | cut -d '"' -f 2`
}
process_dir() {
dir=${1}
prefix=${2}_
catsuffix=${3}
displayname=${4}
echo -e "\t<category name=\"MENUSELECT_${catsuffix}\" displayname=\"${displayname}\" remove_on_change=\"${dir}/modules.link\">"
for file in `ls ${dir}/${prefix}*.c ${dir}/${prefix}*.cc 2> /dev/null | sort`
do
if [ ! -f ${file} ]; then
continue
fi
fname=`basename ${file} .c`
fname=`basename ${fname} .cc`
get_description ${file}
desc=${TDESC}
echo -e "\t\t<member name=\"${fname}\" displayname=\"${desc}\" remove_on_change=\"${dir}/${fname}.o ${dir}/${fname}.oo ${dir}/${fname}.so\">"
awk -f build_tools/get_moduleinfo ${file}
echo -e "\t\t</member>"
awk -f build_tools/get_makeopts ${file} >> .makeoptstmp
done
echo -e "\t</category>"
}
echo "<?xml version=\"1.0\"?>"
echo
echo "<menu name=\"Asterisk Module Selection\">"
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 .makeoptstmp
cat build_tools/cflags.xml
cat build_tools/embed_modules.xml
cat sounds/sounds.xml
rm -f .makeoptstmp
echo "</menu>"