mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-31 10:47:18 +00:00 
			
		
		
		
	add support for setting the CFLAGS for voicemail storage options in menuselect
Thanks to kpfleming for the Makefile magic :) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@34492 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
		| @@ -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: | ||||
|   | ||||
| @@ -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 " | ||||
|   | ||||
		Reference in New Issue
	
	Block a user