summaryrefslogtreecommitdiff
path: root/recipes/mono/README
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/mono/README')
-rw-r--r--recipes/mono/README45
1 files changed, 45 insertions, 0 deletions
diff --git a/recipes/mono/README b/recipes/mono/README
new file mode 100644
index 0000000000..b80b5bbbe6
--- /dev/null
+++ b/recipes/mono/README
@@ -0,0 +1,45 @@
+Notes on Mono support in OE.
+
+===============================
+Mono 2.2 rc1 status
+- still needs quite a bit of packaging TLC
+- applied patch for "need OABI" issue
+- overall seems to be running well
+
+===============================
+Mono 1.9.1 status
+
+- mono-native and mono-mcs-intermediate error out during compile, but in a
+ dev shell they compile fine -- very strange.
+
+===============================
+Cross Compiling Mono
+
+Cross compiling mono requires a two stage build because the mono mcs directory
+cannot be built while cross compiling (http://www.mono-project.com/Mono:ARM).
+The recommended way to cross compile mono is to
+
+ 1. do a complete build on the host system, and install.
+ 2. cross compile mono which will only build the native target code and
+ overlay the target binaries on the host install.
+
+The MCS build (step 1) is implemented by the mono-mcs-intermediate* recipe.
+This recipe is very similiar to the native build, except it uses standard
+install prefixes and the install directory is tar'd up, and placed in staging
+for use by the cross build.
+
+During the mono cross build, the first step during the install is to untar
+the install results of the mcs-intermediate build. The cross build install
+then proceeds to overlay the native binaries in the install directory.
+
+================================
+mono.bbclass
+
+Has a function mono_do_clilibs and inserts that function into PACKAGEFUNCS.
+This function calls mono_find_provides_and_requires which finds out (through
+calls to monodis --assembly and monodis --assemblyref) which assemblies are
+provided and required by a particular package. mono_do_clilibs then
+puts the information about provided assemblies into
+${CLILIBSDIR}/${packagename}.list and information about the
+required packages into ${PKGDEST}/{packagename}.clilibdeps where it
+will later be picked up by read_shlibdeps.