mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-06 04:30:28 +00:00
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
49 lines
1.4 KiB
Bash
Executable File
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>"
|