Patchwork mono runtime porting to buildroot

login
register
mail settings
Submitter Alexander Varnin
Date Dec. 10, 2013, 4:05 p.m.
Message ID <52A73BCC.30309@mail.ru>
Download mbox | patch
Permalink /patch/299488/
State New
Headers show

Comments

Alexander Varnin - Dec. 10, 2013, 4:05 p.m.
There was letter by kerim.fryer@gmail.com from 01.11.2013, and he
provided mono package:
http://lists.busybox.net/pipermail/buildroot/2013-November/081553.html

I have also made a package for mono, just before I saw above package.
So I have a patch that is not well tested. I am attaching my patch so
you can try it if you want.

If you find something that fits your need, you can try making good patch
for upstream.

02.12.2013 14:52, Linas Lisauskas пишет:
>
> Hi,
>
> I have a question. Maybe somebody of Your team tried to port mono
> project for buildroot. I was using openembedded dist, but is the
> requirement to use buildroot dist and mono project. Can anyone help
> write *.mk file for this? I have cross compiled mono project with
> native buildroot toolchain.
>
> Thanks.
>
> ------------
>
> Best regards,
>
> Embedded Software Engineer
>
> Linas Lisauskas
>
> Elgama Sistemos, Ltd.
>
>
>
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

Patch

From d72ce3f308fc5a89ff108187d33aac71bbefcc76 Mon Sep 17 00:00:00 2001
From: Alexander Varnin <fenixk19@mail.ru>
Date: Tue, 10 Dec 2013 19:53:05 +0400
Subject: [PATCH] mono: new package Signed-off-by: Alexander Varnin
 <fenixk19@mail.ru>

---
 package/Config.in              |    1 +
 package/mono/Config.in         |   11 +++++++++++
 package/mono/mono-uclibc.patch |   15 +++++++++++++++
 package/mono/mono.mk           |   16 ++++++++++++++++
 4 files changed, 43 insertions(+)
 create mode 100644 package/mono/Config.in
 create mode 100644 package/mono/mono-uclibc.patch
 create mode 100644 package/mono/mono.mk

diff --git a/package/Config.in b/package/Config.in
index 311cc6c..1dee967 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -752,6 +752,7 @@  source "package/empty/Config.in"
 source "package/googlefontdirectory/Config.in"
 source "package/mcrypt/Config.in"
 source "package/mobile-broadband-provider-info/Config.in"
+source "package/mono/Config.in"
 source "package/shared-mime-info/Config.in"
 source "package/snowball-init/Config.in"
 source "package/sound-theme-borealis/Config.in"
diff --git a/package/mono/Config.in b/package/mono/Config.in
new file mode 100644
index 0000000..90f7972
--- /dev/null
+++ b/package/mono/Config.in
@@ -0,0 +1,11 @@ 
+config BR2_PACKAGE_MONO
+	bool "mono"
+	select BR2_PACKAGE_LIBGLIB2
+	select BR2_PACKAGE_PKG_CONFIG
+	select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
+	help
+	  Mono is a free and open source project to create an Ecma 
+          standard-compliant, .NET Framework-compatible set of tools 
+          including, among others, a C# compiler and a Common Language 
+          Runtime.
+
diff --git a/package/mono/mono-uclibc.patch b/package/mono/mono-uclibc.patch
new file mode 100644
index 0000000..6fcccb4
--- /dev/null
+++ b/package/mono/mono-uclibc.patch
@@ -0,0 +1,15 @@ 
+--- mono-3.2.5.orig/libgc/include/gc.h	2005-12-09 20:26:20 +0000
++++ mono-3.2.5/libgc/include/gc.h	2005-12-09 20:27:22 +0000
+@@ -483,12 +483,6 @@
+
+ #ifdef __linux__
+ # include <features.h>
+-# if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \
+-     && !defined(__ia64__)
+-#   ifndef GC_HAVE_BUILTIN_BACKTRACE
+-#     define GC_HAVE_BUILTIN_BACKTRACE
+-#   endif
+-# endif
+ # if defined(__i386__) || defined(__x86_64__)
+ #   define GC_CAN_SAVE_CALL_STACKS
+ # endif
diff --git a/package/mono/mono.mk b/package/mono/mono.mk
new file mode 100644
index 0000000..b40d1c9
--- /dev/null
+++ b/package/mono/mono.mk
@@ -0,0 +1,16 @@ 
+################################################################################
+#
+# mono
+#
+################################################################################
+
+MONO_VERSION        = 3.2.5
+MONO_SOURCE	     = mono-$(MONO_VERSION).tar.bz2
+MONO_SITE            = http://download.mono-project.com/sources/mono/
+MONO_LICENSE         = GPLv2 LGPLv2.1+
+MONO_LICENSE_FILES   = COPYING LGPL-2.1
+MONO_DEPENDENCIES    = libglib2 pkg-config
+
+MONO_CONF_OPT += --with-tls=pthread --with-sigaltstack=no --disable-mono-debugger --disable-backtrace
+
+$(eval $(autotools-package))
-- 
1.7.10.4