aboutsummaryrefslogtreecommitdiffstats
path: root/build_tools
diff options
context:
space:
mode:
authorkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2006-08-21 02:11:39 +0000
committerkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2006-08-21 02:11:39 +0000
commit8b0c007ad990aa27d9868da49215fd1076ac77cc (patch)
tree270b9c46c1e644483d6d2a35b509f43218ba3252 /build_tools
parenta42edc84034f91932a3e12d503e07f76a6eb498a (diff)
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: http://svn.digium.com/svn/asterisk/trunk@40722 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'build_tools')
-rw-r--r--build_tools/cflags.xml5
-rw-r--r--build_tools/embed_modules.xml18
-rw-r--r--build_tools/menuselect-deps.in3
-rwxr-xr-xbuild_tools/prep_moduledeps35
4 files changed, 31 insertions, 30 deletions
diff --git a/build_tools/cflags.xml b/build_tools/cflags.xml
index 1fe28f30d..7b251650d 100644
--- a/build_tools/cflags.xml
+++ b/build_tools/cflags.xml
@@ -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>
diff --git a/build_tools/embed_modules.xml b/build_tools/embed_modules.xml
new file mode 100644
index 000000000..85c3d6298
--- /dev/null
+++ b/build_tools/embed_modules.xml
@@ -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>
diff --git a/build_tools/menuselect-deps.in b/build_tools/menuselect-deps.in
index 96b4c5d1b..005e1537b 100644
--- a/build_tools/menuselect-deps.in
+++ b/build_tools/menuselect-deps.in
@@ -29,3 +29,6 @@ VPBAPI=@PBX_VPB@
WIN32=@OSISWIN32@
ZAPTEL=@PBX_ZAPTEL@
ZLIB=@PBX_ZLIB@
+ISDNNET=@PBX_ISDNNET@
+MISDN=@PBX_MISDN@
+SUPPSERV=@PBX_SUPPSERV@
diff --git a/build_tools/prep_moduledeps b/build_tools/prep_moduledeps
index 0e35cb0ec..7e6b7d332 100755
--- a/build_tools/prep_moduledeps
+++ b/build_tools/prep_moduledeps
@@ -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 .makeoptstmp
cat build_tools/cflags.xml
+cat build_tools/embed_modules.xml
cat sounds/sounds.xml
-cat .makeoptstmp
rm -f .makeoptstmp
echo "</menu>"