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

@@ -9,7 +9,7 @@
# the GNU General Public License
#
ifneq ($(wildcard ../menuselect.makeopts),)
ifneq ($(wildcard $(ASTTOPDIR)/menuselect.makeopts),)
include ../menuselect.makeopts
include ../menuselect.makedeps
endif
@@ -17,7 +17,12 @@ endif
C_MODS:=$(filter-out $(MENUSELECT_FORMATS),$(patsubst %.c,%,$(wildcard format_*.c)))
CC_MODS:=$(filter-out $(MENUSELECT_FORMATS),$(patsubst %.cc,%,$(wildcard format_*.cc)))
SELECTED_MODS:=$(C_MODS) $(CC_MODS)
LOADABLE_MODS:=$(C_MODS) $(CC_MODS)
ifneq ($(findstring formats,$(MENUSELECT_EMBED)),)
EMBEDDED_MODS:=$(LOADABLE_MODS)
LOADABLE_MODS:=
endif
all: _all

View File

@@ -148,27 +148,16 @@ static const struct ast_format g723_1_f = {
.tell = g723_tell,
.read = g723_read,
.buf_size = G723_MAX_SIZE + AST_FRIENDLY_OFFSET,
.module = &mod_data, /* XXX */
};
static int load_module(void *mod)
static int load_module(void)
{
return ast_format_register(&g723_1_f);
}
static int unload_module(void *mod)
static int unload_module(void)
{
return ast_format_unregister(g723_1_f.name);
}
static const char *description(void)
{
return "G.723.1 Simple Timestamp File Format";
}
static const char *key(void)
{
return ASTERISK_GPL_KEY;
}
STD_MOD1;
AST_MODULE_INFO_STANDARD("G.723.1 Simple Timestamp File Format", ASTERISK_GPL_KEY);

View File

@@ -204,7 +204,6 @@ static const struct ast_format f[] = {
.read = g726_read,
.buf_size = BUF_SIZE + AST_FRIENDLY_OFFSET,
.desc_size = sizeof(struct g726_desc),
.module = &mod_data, /* XXX */
},
{
.name = "g726-32",
@@ -219,7 +218,6 @@ static const struct ast_format f[] = {
.read = g726_read,
.buf_size = BUF_SIZE + AST_FRIENDLY_OFFSET,
.desc_size = sizeof(struct g726_desc),
.module = &mod_data, /* XXX */
},
{
.name = "g726-24",
@@ -234,7 +232,6 @@ static const struct ast_format f[] = {
.read = g726_read,
.buf_size = BUF_SIZE + AST_FRIENDLY_OFFSET,
.desc_size = sizeof(struct g726_desc),
.module = &mod_data, /* XXX */
},
{
.name = "g726-16",
@@ -249,15 +246,11 @@ static const struct ast_format f[] = {
.read = g726_read,
.buf_size = BUF_SIZE + AST_FRIENDLY_OFFSET,
.desc_size = sizeof(struct g726_desc),
.module = &mod_data, /* XXX */
},
{ .format = 0 } /* terminator */
};
/*
* Module interface (load_module, unload_module, usecount, description, key)
*/
static int load_module(void *mod)
static int load_module(void)
{
int i;
@@ -270,7 +263,7 @@ static int load_module(void *mod)
return 0;
}
static int unload_module(void *mod)
static int unload_module(void)
{
int i;
@@ -281,14 +274,4 @@ static int unload_module(void *mod)
return(0);
}
static const char *description(void)
{
return "Raw G.726 (16/24/32/40kbps) data";
}
static const char *key(void)
{
return ASTERISK_GPL_KEY;
}
STD_MOD1;
AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Raw G.726 (16/24/32/40kbps) data");

View File

@@ -144,27 +144,16 @@ static const struct ast_format g729_f = {
.tell = g729_tell,
.read = g729_read,
.buf_size = BUF_SIZE + AST_FRIENDLY_OFFSET,
.module = &mod_data, /* XXX */
};
static int load_module(void *mod)
static int load_module(void)
{
return ast_format_register(&g729_f);
}
static int unload_module(void *mod)
static int unload_module(void)
{
return ast_format_unregister(g729_f.name);
}
static const char *description(void)
{
return "Raw G729 data";
}
static const char *key(void)
{
return ASTERISK_GPL_KEY;
}
STD_MOD1;
AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Raw G729 data");

View File

@@ -166,27 +166,16 @@ static const struct ast_format gsm_f = {
.tell = gsm_tell,
.read = gsm_read,
.buf_size = 2*GSM_FRAME_SIZE + AST_FRIENDLY_OFFSET, /* 2 gsm frames */
.module = &mod_data, /* XXX */
};
static int load_module(void *mod)
static int load_module(void)
{
return ast_format_register(&gsm_f);
}
static int unload_module(void *mod)
static int unload_module(void)
{
return ast_format_unregister(gsm_f.name);
}
static const char *description(void)
{
return "Raw GSM data";
}
static const char *key(void)
{
return ASTERISK_GPL_KEY;
}
STD_MOD1;
AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Raw GSM data");

View File

@@ -182,27 +182,16 @@ static const struct ast_format h263_f = {
.read = h263_read,
.buf_size = BUF_SIZE + AST_FRIENDLY_OFFSET,
.desc_size = sizeof(struct h263_desc),
.module = &mod_data, /* XXX */
};
static int load_module(void *mod)
static int load_module(void)
{
return ast_format_register(&h263_f);
}
static int unload_module(void *mod)
static int unload_module(void)
{
return ast_format_unregister(h263_f.name);
}
static const char *description(void)
{
return "Raw h263 data";
}
static const char *key(void)
{
return ASTERISK_GPL_KEY;
}
STD_MOD1;
AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Raw H.263 data");

View File

@@ -171,27 +171,16 @@ static const struct ast_format h264_f = {
.read = h264_read,
.buf_size = BUF_SIZE + AST_FRIENDLY_OFFSET,
.desc_size = sizeof(struct h264_desc),
.module = &mod_data, /* XXX */
};
static int load_module(void *mod)
static int load_module(void)
{
return ast_format_register(&h264_f);
}
static int unload_module(void *mod)
static int unload_module(void)
{
return ast_format_unregister(h264_f.name);
}
static const char *description(void)
{
return "Raw h264 data";
}
static const char *key(void)
{
return ASTERISK_GPL_KEY;
}
STD_MOD1;
AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Raw H.264 data");

View File

@@ -142,27 +142,16 @@ static const struct ast_format ilbc_f = {
.tell = ilbc_tell,
.read = ilbc_read,
.buf_size = ILBC_BUF_SIZE + AST_FRIENDLY_OFFSET,
.module = &mod_data, /* XXX */
};
static int load_module(void *mod)
static int load_module(void)
{
return ast_format_register(&ilbc_f);
}
static int unload_module(void *mod)
static int unload_module(void)
{
return ast_format_unregister(ilbc_f.name);
}
static const char *description(void)
{
return "Raw iLBC data";
}
static const char *key(void)
{
return ASTERISK_GPL_KEY;
}
STD_MOD1;
AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Raw iLBC data");

View File

@@ -47,9 +47,6 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/lock.h"
#include "asterisk/endian.h"
static char *desc = "JPEG (Joint Picture Experts Group) Image Format";
static struct ast_frame *jpeg_read_image(int fd, int len)
{
struct ast_frame fr;
@@ -115,25 +112,16 @@ static struct ast_imager jpeg_format = {
jpeg_write_image,
};
static int load_module(void *mod)
static int load_module(void)
{
return ast_image_register(&jpeg_format);
}
static int unload_module(void *mod)
static int unload_module(void)
{
ast_image_unregister(&jpeg_format);
return 0;
}
static const char *description(void)
{
return desc;
}
static const char *key(void)
{
return ASTERISK_GPL_KEY;
}
STD_MOD(MOD_1 | NO_USECOUNT, NULL, NULL, NULL);
AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "JPEG (Joint Picture Experts Group) Image Format");

View File

@@ -21,6 +21,10 @@
* \ingroup formats
*/
/* the order of these dependencies is important... it also specifies
the link order of the libraries during linking
*/
/*** MODULEINFO
<depend>vorbis</depend>
<depend>ogg</depend>
@@ -542,28 +546,17 @@ static const struct ast_format vorbis_f = {
.close = ogg_vorbis_close,
.buf_size = BUF_SIZE + AST_FRIENDLY_OFFSET,
.desc_size = sizeof(struct vorbis_desc),
.module = &mod_data, /* XXX */
};
static int load_module(void *mod)
static int load_module(void)
{
return ast_format_register(&vorbis_f);
}
static int unload_module(void *mod)
static int unload_module(void)
{
return ast_format_unregister(vorbis_f.name);
}
static const char *description(void)
{
return "OGG/Vorbis audio";
}
static const char *key(void)
{
return ASTERISK_GPL_KEY;
}
STD_MOD1;
AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "OGG/Vorbis audio");

View File

@@ -424,7 +424,6 @@ static const struct ast_format alaw_f = {
.tell = pcm_tell,
.read = pcm_read,
.buf_size = BUF_SIZE + AST_FRIENDLY_OFFSET,
.module = &mod_data, /* XXX */
#ifdef REALTIME_WRITE
.open = pcma_open,
.rewrite = pcma_rewrite,
@@ -442,7 +441,6 @@ static const struct ast_format pcm_f = {
.tell = pcm_tell,
.read = pcm_read,
.buf_size = BUF_SIZE + AST_FRIENDLY_OFFSET,
.module = &mod_data, /* XXX */
};
static const struct ast_format au_f = {
@@ -457,10 +455,9 @@ static const struct ast_format au_f = {
.tell = au_tell,
.read = pcm_read,
.buf_size = BUF_SIZE + AST_FRIENDLY_OFFSET, /* this many shorts */
.module = &mod_data, /* XXX */
};
static int load_module(void *mod)
static int load_module(void)
{
int index;
@@ -474,20 +471,10 @@ static int load_module(void *mod)
|| ast_format_register(&au_f);
}
static int unload_module(void *mod)
static int unload_module(void)
{
return ast_format_unregister(pcm_f.name) || ast_format_unregister(alaw_f.name)
|| ast_format_unregister(au_f.name);
}
static const char *description(void)
{
return "Raw/Sun uLaw/ALaw 8khz Audio support (PCM,PCMA,AU)";
}
static const char *key(void)
{
return ASTERISK_GPL_KEY;
}
STD_MOD1;
AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Raw/Sun uLaw/ALaw 8khz Audio support (PCM,PCMA,AU)");

View File

@@ -126,27 +126,16 @@ static const struct ast_format slin_f = {
.tell = slinear_tell,
.read = slinear_read,
.buf_size = BUF_SIZE + AST_FRIENDLY_OFFSET,
.module = &mod_data, /* XXX */
};
static int load_module(void *mod)
static int load_module(void)
{
return ast_format_register(&slin_f);
}
static int unload_module(void *mod)
static int unload_module(void)
{
return ast_format_unregister(slin_f.name);
}
static const char *description(void)
{
return "Raw Signed Linear Audio support (SLN)";
}
static const char *key(void)
{
return ASTERISK_GPL_KEY;
}
STD_MOD1;
AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Raw Signed Linear Audio support (SLN)");

View File

@@ -131,27 +131,16 @@ static const struct ast_format vox_f = {
.tell = vox_tell,
.read = vox_read,
.buf_size = BUF_SIZE + AST_FRIENDLY_OFFSET,
.module = &mod_data, /* XXX */
};
static int load_module(void *mod)
static int load_module(void)
{
return ast_format_register(&vox_f);
}
static int unload_module(void *mod)
static int unload_module(void)
{
return ast_format_unregister(vox_f.name);
}
static const char *description(void)
{
return "Dialogic VOX (ADPCM) File Format";
}
static const char *key(void)
{
return ASTERISK_GPL_KEY;
}
STD_MOD1;
AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Dialogic VOX (ADPCM) File Format");

View File

@@ -512,27 +512,16 @@ static const struct ast_format wav_f = {
.close = wav_close,
.buf_size = WAV_BUF_SIZE + AST_FRIENDLY_OFFSET,
.desc_size = sizeof(struct wav_desc),
.module = &mod_data, /* XXX */
};
static int load_module(void *mod)
static int load_module(void)
{
return ast_format_register(&wav_f);
}
static int unload_module(void *mod)
static int unload_module(void)
{
return ast_format_unregister(wav_f.name);
}
static const char *description(void)
{
return "Microsoft WAV format (8000hz Signed Linear)";
}
static const char *key(void)
{
return ASTERISK_GPL_KEY;
}
STD_MOD1;
AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Microsoft WAV format (8000Hz Signed Linear)");

View File

@@ -555,27 +555,16 @@ static const struct ast_format wav49_f = {
.close = wav_close,
.buf_size = 2*GSM_FRAME_SIZE + AST_FRIENDLY_OFFSET,
.desc_size = sizeof(struct wavg_desc),
.module = &mod_data, /* XXX */
};
static int load_module(void *mod)
static int load_module(void)
{
return ast_format_register(&wav49_f);
}
static int unload_module(void *mod)
static int unload_module(void)
{
return ast_format_unregister(wav49_f.name);
}
static const char *description(void)
{
return "Microsoft WAV format (Proprietary GSM)";
}
static const char *key(void)
{
return ASTERISK_GPL_KEY;
}
STD_MOD1;
AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Microsoft WAV format (Proprietary GSM)");