aboutsummaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2006-06-16 16:17:43 +0000
committerrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2006-06-16 16:17:43 +0000
commit1fdf1962e91d3577a40a8fedf85540f3bedf236e (patch)
tree7c63656e4c28b1abffd628690ab0151d75d64712 /apps
parent02ea98e80cf5c98b7fae54cfdb7eaa88bd439cb9 (diff)
add support for setting the CFLAGS for voicemail storage options in menuselect
Thanks to kpfleming for the Makefile magic :) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@34492 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps')
-rw-r--r--apps/Makefile11
-rw-r--r--apps/app_voicemail.c31
2 files changed, 26 insertions, 16 deletions
diff --git a/apps/Makefile b/apps/Makefile
index 4d6f0bb55..740f69993 100644
--- a/apps/Makefile
+++ b/apps/Makefile
@@ -15,17 +15,10 @@ include ../menuselect.makeopts
SELECTED_MODS:=$(filter-out $(MENUSELECT_APPS),$(patsubst %.c,%,$(wildcard app_*.c)))
-# If you have UnixODBC you can use ODBC voicemail
-# storage
-#
-# Uncomment to use ODBC storage
-#CFLAGS+=-DUSE_ODBC_STORAGE
-# Uncomment for extended ODBC voicemail storage
-#CFLAGS+=-DEXTENDED_ODBC_STORAGE
-# See doc/README.odbcstorage for more information
-
MODS:=$(patsubst %,%.so,$(SELECTED_MODS))
+app_voicemail.o: CFLAGS+=$(patsubst %,-D%,$(MENUSELECT_app_voicemail))
+
all: $(MODS)
clean-depend:
diff --git a/apps/app_voicemail.c b/apps/app_voicemail.c
index 4ef68cc55..8ab00658f 100644
--- a/apps/app_voicemail.c
+++ b/apps/app_voicemail.c
@@ -41,6 +41,23 @@
* Bartosz Supczinski <Bartosz.Supczinski@dir.pl>
*/
+/*** MAKEOPTS
+<category name="MENUSELECT_app_voicemail" displayname="Voicemail Build Options" positive_output="yes" force_clean_on_change="yes">
+ <member name="IMAP_STORAGE" displayname="Storage of Voicemail using IMAP">
+ <depend>cc-client</depend>
+ <defaultenabled>no</defaultenabled>
+ </member>
+ <member name="ODBC_STORAGE" displayname="Storage of Voicemail using ODBC">
+ <depend>unixodbc</depend>
+ <defaultenabled>no</defaultenabled>
+ </member>
+ <member name="EXTENDED_ODBC_STORAGE" displayname="Storage of Voicemail using ODBC (extended)">
+ <depend>unixodbc</depend>
+ <defaultenabled>no</defaultenabled>
+ </member>
+</category>
+ ***/
+
#include "asterisk.h"
ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
@@ -77,7 +94,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/stringfields.h"
#include "asterisk/smdi.h"
#define SMDI_MWI_WAIT_TIMEOUT 1000 /* 1 second */
-#ifdef USE_ODBC_STORAGE
+#ifdef ODBC_STORAGE
#include "asterisk/res_odbc.h"
#endif
@@ -289,7 +306,7 @@ static int vm_play_folder_name(struct ast_channel *chan, char *mbox);
static void apply_options(struct ast_vm_user *vmu, const char *options);
-#ifdef USE_ODBC_STORAGE
+#ifdef ODBC_STORAGE
static char odbc_database[80];
static char odbc_table[80];
#define RETRIEVE(a,b) retrieve_file(a,b)
@@ -838,7 +855,7 @@ static int vm_lock_path(const char *path)
}
-#ifdef USE_ODBC_STORAGE
+#ifdef ODBC_STORAGE
static int retrieve_file(char *dir, int msgnum)
{
int x = 0;
@@ -1290,7 +1307,7 @@ static int store_file(char *dir, char *mailboxuser, char *mailboxcontext, int ms
}
fdlen = lseek(fd, 0, SEEK_END);
lseek(fd, 0, SEEK_SET);
- printf("Length is %d\n", fdlen);
+ printf("Length is %zd\n", fdlen);
fdm = mmap(NULL, fdlen, PROT_READ | PROT_WRITE, MAP_SHARED,fd, 0);
if (!fdm) {
ast_log(LOG_WARNING, "Memory map failed!\n");
@@ -2015,7 +2032,7 @@ static const char *mbox(int id)
return (id >= 0 && id < (sizeof(msgs)/sizeof(msgs[0]))) ? msgs[id] : "Unknown";
}
-#ifdef USE_ODBC_STORAGE
+#ifdef ODBC_STORAGE
static int inboxcount(const char *mailbox, int *newmsgs, int *oldmsgs)
{
int x = -1;
@@ -6183,7 +6200,7 @@ static int load_config(void)
astsearch = "no";
ast_set2_flag((&globalflags), ast_true(astsearch), VM_SEARCH);
-#ifdef USE_ODBC_STORAGE
+#ifdef ODBC_STORAGE
strcpy(odbc_database, "asterisk");
if ((thresholdstr = ast_variable_retrieve(cfg, "general", "odbcstorage"))) {
ast_copy_string(odbc_database, thresholdstr, sizeof(odbc_database));
@@ -6614,7 +6631,7 @@ static int load_module(void *mod)
ast_install_vm_functions(has_voicemail, inboxcount, messagecount);
-#if defined(USE_ODBC_STORAGE) && !defined(EXTENDED_ODBC_STORAGE)
+#if defined(ODBC_STORAGE) && !defined(EXTENDED_ODBC_STORAGE)
ast_log(LOG_WARNING, "The current ODBC storage table format will be changed soon."
"Please update your tables as per the README and edit the apps/Makefile "
"and uncomment the line containing EXTENDED_ODBC_STORAGE to enable the "