]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
add mono 2.8 patch file see FS-2774
authorJeff Lenk <jeff@jefflenk.com>
Wed, 24 Nov 2010 15:50:50 +0000 (09:50 -0600)
committerJeff Lenk <jeff@jefflenk.com>
Wed, 24 Nov 2010 15:50:50 +0000 (09:50 -0600)
src/mod/languages/mod_managed/mono28.patch [new file with mode: 0644]

diff --git a/src/mod/languages/mod_managed/mono28.patch b/src/mod/languages/mod_managed/mono28.patch
new file mode 100644 (file)
index 0000000..7ec60f5
--- /dev/null
@@ -0,0 +1,75 @@
+diff --git a/src/mod/languages/mod_managed/Makefile b/src/mod/languages/mod_managed/Makefile
+index 0ac49b4..ec44ff5 100644
+--- a/src/mod/languages/mod_managed/Makefile
++++ b/src/mod/languages/mod_managed/Makefile
+@@ -1,6 +1,6 @@
+-LOCAL_INSERT_CFLAGS= /usr/bin/pkg-config mono --cflags\r
+-LOCAL_INSERT_LDFLAGS= /usr/bin/pkg-config mono --libs\r
+-#MOD_CFLAGS=-D_REENTRANT -pthread -I/opt/mono-1.9/lib/pkgconfig/../../include/mono-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -lmono\r
++LOCAL_INSERT_CFLAGS= /usr/bin/pkg-config mono-2 --cflags\r
++LOCAL_INSERT_LDFLAGS= /usr/bin/pkg-config mono-2 --libs\r
++#MOD_CFLAGS=-D_REENTRANT -pthread -I/usr/lib/mono -lmono\r
+ BASE=../../../..\r
+ VERBOSE=1\r
+ include $(BASE)/build/modmake.rules\r
+diff --git a/src/mod/languages/mod_managed/freeswitch.i b/src/mod/languages/mod_managed/freeswitch.i
+index ffbdf9b..117d58c 100644
+--- a/src/mod/languages/mod_managed/freeswitch.i
++++ b/src/mod/languages/mod_managed/freeswitch.i
+@@ -8,7 +8,6 @@
\r
+ /* Callback for returning strings to C# without leaking memory */\r
+ #ifndef _MANAGED\r
+-#include <glib.h>\r
+ #include <mono/jit/jit.h>\r
+ #include <mono/metadata/environment.h>\r
+ #include <mono/metadata/mono-config.h>\r
+diff --git a/src/mod/languages/mod_managed/freeswitch_managed.h b/src/mod/languages/mod_managed/freeswitch_managed.h
+index 1d0b6a7..13ffe5d 100644
+--- a/src/mod/languages/mod_managed/freeswitch_managed.h
++++ b/src/mod/languages/mod_managed/freeswitch_managed.h
+@@ -40,7 +40,6 @@ typedef void (*hangupFunction) (void);
+ typedef char *(*inputFunction) (void *, switch_input_type_t);
+ #ifndef _MANAGED
+-#include <glib.h>
+ #include <mono/jit/jit.h>
+ #include <mono/metadata/assembly.h>
+ #include <mono/metadata/environment.h>
+@@ -73,7 +72,7 @@ extern mod_managed_globals globals;
+ #ifdef WIN32
+ #define RESULT_FREE(x) CoTaskMemFree(x)
+ #else
+-#define RESULT_FREE(x) g_free(x)
++#define RESULT_FREE(x) mono_free(x)
+ #endif
+ SWITCH_END_EXTERN_C
+diff --git a/src/mod/languages/mod_managed/mod_managed.cpp b/src/mod/languages/mod_managed/mod_managed.cpp
+index ec2d866..87e831f 100644
+--- a/src/mod/languages/mod_managed/mod_managed.cpp
++++ b/src/mod/languages/mod_managed/mod_managed.cpp
+@@ -208,18 +208,13 @@ switch_status_t loadRuntime()
+       }\r
\r
+       /* Already loaded? */\r
+-      MonoAssemblyName name;\r
+-      name.name = MOD_MANAGED_ASM_NAME;\r
+-      name.major = MOD_MANAGED_ASM_V1;\r
+-      name.minor = MOD_MANAGED_ASM_V2;\r
+-      name.revision = MOD_MANAGED_ASM_V3;\r
+-      name.build = MOD_MANAGED_ASM_V4;\r
+-      name.culture = "";\r
+-      name.hash_value = "";\r
+-\r
++      MonoAssemblyName *name = mono_assembly_name_new (MOD_MANAGED_ASM_NAME);\r
++      //Note also that it can't be allocated on the stack anymore and you'll need to create and destroy it with the following API:\r
++      //mono_assembly_name_free (name);\r
++      \r
+       switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Calling mono_assembly_loaded.\n");\r
\r
+-      if (!(globals.mod_mono_asm = mono_assembly_loaded(&name))) {\r
++      if (!(globals.mod_mono_asm = mono_assembly_loaded(name))) {\r
+               /* Open the assembly */ \r
+               switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Calling mono_domain_assembly_open.\n");\r
+               globals.mod_mono_asm = mono_domain_assembly_open(globals.domain, filename);\r