summaryrefslogtreecommitdiffstats
path: root/README
blob: a4301bd9d138bf6369e5b40051d373732a6ceabd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
1) Intro
2) Dependencies
3) Examples
4) Maintainer(s) & Patch policy
5) Copyright
6) Current State - x86
7) Current State - ARM vfp
8) Current State - ARM hardfp
9) Current State - MIPS
10) Current State - PPC
11) Current State - alpha, amd64, hppa, ia64, s390 & sparc
12) TODO

1) Intro

meta-mono is an OpenEmbedded layer that builds mono runtime and mono
libraries to allow users to run .NET applications under linux built
using OE. For more info about mono, see mono project's website. For
more info on OpenEmbedded, see OE's website.

This README pertains to meta-mono layer support for Mono 3.2.8 / 3 4.0

For Mono release notes please see:

http://www.mono-project.com/Release_Notes_Mono_3.2
http://www.mono-project.com/Release_Notes_Mono_3.4

NOTE: That as of Mono 3.2.7 there is initial support for the ARM hardfp ABI
      which should enable us to use hardfp builds of e.g. Yocto/Poky

2) Dependencies

On the host:
The host system must have the following packges:
gcc g++ patch diffstat texi2html texinfo cvs subversion gawk
chrpath make libgl1-mesa-dev libglu1-mesa-dev libsdl1.2-dev
git libxml-parser-perl bison gettext flex unzip rpm2cpio

On the target:
So far, Windows Forms applications have been tested under Sato.
Mono does not require Sato, it does require X if you want to run
Windows Forms applications. While mono can run w/o X, that recipe
is not supported currently. It is unlikely to be supported.

3) Build Examples

There are mono-helloworld and a mono-helloworld-xbuild recipes in recipes-mono

These show two ways of building C# projects for deployment to the target. Each
downloads a tarball release from a git repository, although they could just as
easily download and checkout a commit from the git repository.

mono-helloworld then implements the recommended autotools files for build with
autoconf. This is based on the Mono example, mono-skel.

For details see: http://mono-project.com/Guidelines:Application_Deployment

mono-helloworld-xbuild implements a Visual Studio 2010 solution and projects
which allow us to checkout and build using Visual Studio on a Windows host,
or alternatively using Mono xbuild within a Yocto/OpenEmbedded recipe.

4) Maintainer(s) & Patch policy

Alex J Lennon (ajlennon@dynamicdevices.co.uk)

Autif Khan (autif.mlist@gmail.com)
autif on #yocto on freenode

Follow Yocto change submission policy, detailed here

http://www.yoctoproject.org/docs/1.4.2/dev-manual/dev-manual.html#how-to-submit-a-change

Use the create-pull-request and send-pull-request scripts details in 3.9.1. Send 
to the maintainer and to yocto@yoctoproject.org

5) Copyright

MIT/GPLv2 - following the lead of libgdiplus and mono

6) Current State - x86: Works

25/02/2014

Alex J Lennon (ajlennon@dynamicdevices.co.uk) has tested a Poky 
build on a qemux86 platform, with a simple console application 
and a simple Windows Forms application. 

7) Current State - ARM vfp: Works

25/02/2014

Alex J Lennon (ajlennon@dynamicdevices.co.uk) has tested a Poky 
build on a Freescale i.MX6 platform, with a simple console application 
and a simple Windows Forms application. 

8) Current State - ARM hardfp: Works

22/04/2014

Builds and runs on i.MX6 platform with hardfp enabled. 

9) Current State - MIPS: Unknown

More investigation is needed, if there is an interest in getting
mono to work perfectly on MIPS, please contact the maintainer.

10) Current State - PPC

More investigation is needed, if there is an interest in getting
mono to work perfectly on PPC, please contact the maintainer.

11) Current State - alpha, amd64, hppa, ia64, s390 & sparc: Unknown

When qemu provided by Yocto supports one of these machines, the
maintainer will support these architectures.

12) TODO

10.1) see if mono works for amd64, seems like qemux86-64 is available
10.2) investigate why windows forms apps dont run on MIPS
10.2) investigate why compilation fails for PPC
10.3) run mono runtime tests for ARM
10.4) run mono runtime tests for MIPS
10.5) run mono runtime tests for PPC
10.6) run mono library tests for ARM
10.7) run mono library tests for MIPS
10.8) run mono library tests for PPC
10.9) write recipes to create packages for runtime tests
10.10) write recipes to create packages for mscorlib library tests
10.11) write recipes to create packages for System.dll library tests
10.12) try mono on beagleboard (email maintainer when you do this, he will thank you)
10.13) write a recipe for windows forms app (DONE)