| 1 | | Compilation failure on R5: requires pthreads among others. |
| 2 | | |
| 3 | | ~~{{{autogen.sh}}} fails on Haiku, not finding libtool for some reason ([http://dev.haiku-os.org/ticket/2130 Ticket]); use {{{LIBTOOL=/boot/home/config/bin/libtool ./autogen.sh}}} as workaround.~~ (fixed) |
| 4 | | |
| 5 | | [source:haikuports/trunk/dev-lang/mono/mono-trunk.diff Patch] |
| | 1 | Mono will not easily run on BeOS, it requires pthreads among other things. |
| | 2 | |
| | 3 | == Getting Mono == |
| | 4 | |
| | 5 | Either checkout mono and mcs from SVN ([http://www.mono-project.com/AnonSVN]) and apply patches, or use my [http://repo.or.cz/w/mono/afaerber.git?a=shortlog;h=refs/heads/haiku "haiku" Git branch] of mono with mcs from SVN or Git. |
| | 6 | |
| | 7 | Something like this: |
| | 8 | {{{ |
| | 9 | git clone git://repo.or.cz/mono.git |
| | 10 | cd mono |
| | 11 | git remote add afaerber git://repo.or.cz/mono/afaerber.git |
| | 12 | git checkout --track -b haiku afaerber/haiku |
| | 13 | cd .. |
| | 14 | svn co svn://anonsvn.mono-project.com/source/trunk/mcs |
| | 15 | }}} |
| | 16 | |
| | 17 | == Building Mono == |
| | 18 | |
| | 19 | To do a VPATH build, run (from the {{{mono}}} dir) |
| | 20 | {{{ |
| | 21 | NOCONFIGURE=1 ./autogen.sh |
| | 22 | (cd eglib; NOCONFIGURE=1 ./autogen.sh |
| | 23 | }}} |
| | 24 | followed by (from your chosen build dir) |
| | 25 | {{{ |
| | 26 | path/to/configure --prefix=/boot/home/config --with-glib=embedded --with-gc=none --with-ikvm-native=no \ |
| | 27 | --enable-maintainer-mode --enable-compile-warnings \ |
| | 28 | CPPFLAGS=/boot/home/config/include LDFLAGS=/boot/home/config/lib |
| | 29 | make |
| | 30 | }}} |
| | 31 | This avoids pulling in the full [wiki:dev-libs/glib GLib] dependency but needs [wiki:dev-libs/libiconv libiconv] installed (cf. {{{CPPFLAGS}}}, {{{LDFLAGS}}}) (or will later fail to link). |
| | 32 | It also disables the Garbage Collector to rule that out as source of errors. Support for Java (IKVM) is only disabled to speed up the build. |
| | 33 | |
| | 34 | == Progress == |
| | 35 | |
| | 36 | ~~{{{autogen.sh}}} fails on Haiku, not finding libtool for some reason ([http://dev.haiku-os.org/ticket/2130 Ticket]); use {{{LIBTOOL=/boot/home/config/bin/libtool ./autogen.sh}}} as workaround.~~ (fixed in Haiku !r25190) |
| | 37 | |
| | 38 | ~~[source:haikuports/trunk/dev-lang/mono/mono-trunk.diff Old patch]~~ |