diff options
Diffstat (limited to 'recipes/mono/README')
-rw-r--r-- | recipes/mono/README | 45 |
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. |