merge new_loader_completion branch, including (at least):

- restructured build tree and makefiles to eliminate recursion problems
  - support for embedded modules
  - support for static builds
  - simpler cross-compilation support
  - simpler module/loader interface (no exported symbols)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@40722 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Kevin P. Fleming
2006-08-21 02:11:39 +00:00
parent f60ada0be2
commit 0a27d8bfe5
398 changed files with 5967 additions and 7194 deletions

View File

@@ -21,4 +21,9 @@
</member>
<member name="TRACE_FRAMES" displayname="Trace Frame Allocations">
</member>
<member name="STATIC_BUILD" displayname="Build static binaries">
</member>
<member name="LOADABLE_MODULES" displayname="Runtime module loading">
<defaultenabled>yes</defaultenabled>
</member>
</category>

View File

@@ -0,0 +1,18 @@
<category name="MENUSELECT_EMBED" displayname="Module Embedding" positive_output="yes" remove_on_change="main/asterisk">
<member name="apps" displayname="Applications" remove_on_change="apps/*.o">
</member>
<member name="cdr" displayname="Call Detail Recording" remove_on_change="cdr/*.o">
</member>
<member name="channels" displayname="Channels" remove_on_change="channels/*.o channels/misdn/*.o">
</member>
<member name="codecs" displayname="Coders/Decoders" remove_on_change="codecs/*.o">
</member>
<member name="formats" displayname="File Formats" remove_on_change="formats/*.o">
</member>
<member name="funcs" displayname="Dialplan Functions" remove_on_change="funcs/*.o">
</member>
<member name="pbx" displayname="PBX Functionality" remove_on_change="pbx/*.o pbx/ael/*.o">
</member>
<member name="res" displayname="Resource Modules" remove_on_change="res/*.o res/snmp/*.o">
</member>
</category>

View File

@@ -29,3 +29,6 @@ VPBAPI=@PBX_VPB@
WIN32=@OSISWIN32@
ZAPTEL=@PBX_ZAPTEL@
ZLIB=@PBX_ZLIB@
ISDNNET=@PBX_ISDNNET@
MISDN=@PBX_MISDN@
SUPPSERV=@PBX_SUPPSERV@

View File

@@ -1,29 +1,7 @@
#!/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
TDESC=`grep -e AST_MODULE_INFO ${1} | cut -d '"' -f 2`
}
process_dir() {
@@ -32,7 +10,7 @@ process_dir() {
catsuffix=${3}
displayname=${4}
echo -e "\t<category name=\"MENUSELECT_${catsuffix}\" displayname=\"${displayname}\">"
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
@@ -45,13 +23,9 @@ process_dir() {
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>"
done
echo -e "\t</category>"
for file in ${dir}/${prefix}*.c
do
awk -f build_tools/get_makeopts ${file} >> .makeoptstmp
done
echo -e "\t</category>"
}
echo "<?xml version="1.0"?>"
@@ -66,8 +40,9 @@ 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
cat build_tools/cflags.xml
cat build_tools/embed_modules.xml
cat sounds/sounds.xml
rm -f .makeoptstmp
echo "</menu>"