summaryrefslogtreecommitdiff
path: root/packages/mono
diff options
context:
space:
mode:
authorKoen Kooi <koen@openembedded.org>2007-12-23 10:50:30 +0000
committerKoen Kooi <koen@openembedded.org>2007-12-23 10:50:30 +0000
commite49ed8da00b7a5d874fd92a806c6b036a726069c (patch)
tree4c2986b1f377b0363e6637cc792e8e553c2b39a4 /packages/mono
parent95580064683ef83263017dce9b610c74306348bb (diff)
parenta5ab4c1e92a80b977b53072b349e05ab0f097dd1 (diff)
merge of '6765ce1f621a9ef917ba1521afc7b81013e14dc2'
and 'fcc520f13c2e5df6e6b7d52dcbfb32cb1750c941'
Diffstat (limited to 'packages/mono')
-rw-r--r--packages/mono/files/mono-libgc-configure.patch20
-rw-r--r--packages/mono/mono-1.2.6/.mtn2git_empty0
-rw-r--r--packages/mono/mono-1.2.6/configure.patch23
-rw-r--r--packages/mono/mono-mcs-intermediate_1.2.6.bb10
-rw-r--r--packages/mono/mono_1.2.6.bb78
-rw-r--r--packages/mono/mono_1.2.6.inc13
6 files changed, 144 insertions, 0 deletions
diff --git a/packages/mono/files/mono-libgc-configure.patch b/packages/mono/files/mono-libgc-configure.patch
new file mode 100644
index 0000000000..641635da3c
--- /dev/null
+++ b/packages/mono/files/mono-libgc-configure.patch
@@ -0,0 +1,20 @@
+Index: mono-1.2.6/libgc/configure.in
+===================================================================
+--- mono-1.2.6.orig/libgc/configure.in 2007-12-12 15:02:31.000000000 -0500
++++ mono-1.2.6/libgc/configure.in 2007-12-12 15:05:10.000000000 -0500
+@@ -17,6 +17,15 @@
+ AC_PREREQ(2.53)
+ AC_INIT(libgc-mono, 6.6, Hans_Boehm@hp.com)
+
++# the following is a very strange bug. CPPFLAGS does not get set correctly
++# if CPPFLAGS is set in the environment. The top level configure script
++# appends to the CPPFLAGS variable, and then exports it. This change should
++# be picked up by this configure script, but it is not. The original
++# env variable is still used for some reason. If CPPFLAGS is not set in the
++# environment, everything works fine.
++# Someone more experienced with autoconf will have to come up with a better fix.
++CPPFLAGS="$CPPFLAGS -DGC_LINUX_THREADS -D_GNU_SOURCE -D_REENTRANT -DUSE_MMAP -DUSE_MUNMAP -DUSE_COMPILER_TLS"
++echo "CPPFLAGS verify: start of libgc/configure.in, CPPFLAGS = $CPPFLAGS"
+ AM_INIT_AUTOMAKE(libgc-mono, 6.6, no-define)
+
+ AC_CONFIG_SRCDIR(gcj_mlc.c)
diff --git a/packages/mono/mono-1.2.6/.mtn2git_empty b/packages/mono/mono-1.2.6/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/mono/mono-1.2.6/.mtn2git_empty
diff --git a/packages/mono/mono-1.2.6/configure.patch b/packages/mono/mono-1.2.6/configure.patch
new file mode 100644
index 0000000000..f033248621
--- /dev/null
+++ b/packages/mono/mono-1.2.6/configure.patch
@@ -0,0 +1,23 @@
+Index: mono-1.2.6/configure.in
+===================================================================
+--- mono-1.2.6.orig/configure.in 2007-11-08 17:07:57.000000000 -0500
++++ mono-1.2.6/configure.in 2007-12-12 15:27:52.000000000 -0500
+@@ -1150,6 +1150,8 @@
+ ], [
+ AC_MSG_RESULT(no)
+ with_tls=pthread
++ ], [
++ AC_MSG_RESULT(yes)
+ ])
+ fi
+
+@@ -1252,6 +1254,9 @@
+ ], [
+ with_sigaltstack=no
+ AC_MSG_RESULT(no)
++ ], [
++ AC_MSG_RESULT(yes)
++ AC_DEFINE(HAVE_WORKING_SIGALTSTACK)
+ ])
+ fi
+
diff --git a/packages/mono/mono-mcs-intermediate_1.2.6.bb b/packages/mono/mono-mcs-intermediate_1.2.6.bb
new file mode 100644
index 0000000000..53ff1b25aa
--- /dev/null
+++ b/packages/mono/mono-mcs-intermediate_1.2.6.bb
@@ -0,0 +1,10 @@
+# This is a straw-man recipe for step 1 in the two-step build of
+# mono. Because it's impossible to build the mcs directory
+# in cross-compile mode, this recipe will do a native build,
+# then tar the resulting install tree for usage by the mono
+# package in step 2.
+# See http://www.mono-project.com/Mono:ARM
+
+require mono_1.2.6.inc
+require mono-mcs-intermediate.inc
+
diff --git a/packages/mono/mono_1.2.6.bb b/packages/mono/mono_1.2.6.bb
new file mode 100644
index 0000000000..5c5d8476bb
--- /dev/null
+++ b/packages/mono/mono_1.2.6.bb
@@ -0,0 +1,78 @@
+require mono_1.2.6.inc
+
+DEPENDS = "mono-native mono-mcs-intermediate glib-2.0 perl-native"
+
+PR = "r1"
+
+SRC_URI += "file://configure.patch;patch=1"
+
+# Per http://www.mono-project.com/Mono:ARM
+EXTRA_OECONF += " --disable-mcs-build "
+# Instead, get the mcs tree from a different build (see mono-mcs-intermediate)
+
+do_install_prepend() {
+ install -d ${D}
+ pushd ${D}
+ tar -xzf ${STAGING_DIR}/share/mono-mcs/mono-mcs-${PV}.tar.gz
+ popd
+}
+
+do_install_append() {
+ # mono-mcs-intermediate builds and installs jay (a Yacc for Java and C#),
+ # however, jay is not being cross-compiled and thus only
+ # available for the buildhost architecture, so remove it
+ # entirely
+ pushd ${D}
+ rm -rf ./usr/share/man/man1/jay.1 ./usr/share/jay \
+ ./usr/share/jay/README.jay \
+ ./usr/bin/jay
+ popd
+
+ # Not packaged with the default rules and apparently
+ # not used for anything
+ rm -rf ${D}${datadir}/mono-1.0/mono/cil/cil-opcodes.xml
+}
+
+inherit mono
+
+# Import file definitions from Debian
+require mono_1.2.5.1-files.inc
+
+# Add some packages
+PACKAGES_append = " mono-doc mono mono-runtime"
+
+FILES_mono-doc_append = " /usr/share/libgc-mono/ "
+
+FILES_mono = ""
+ALLOW_EMPTY_mono = "1"
+RDEPENDS_mono = "mono-common mono-jit"
+
+FILES_mono-runtime = ""
+ALLOW_EMPTY_mono-runtime = "1"
+RDEPENDS_mono-runtime = "mono-jit mono-gac"
+
+RDEPENDS_mono-jit = "mono-common"
+
+FILES_libmono-dev =+ " /usr/lib/libmono.la /usr/lib/libmono-profiler-cov.la /usr/lib/libmono-profiler-aot.la \
+ /usr/lib/libMonoPosixHelper.la /usr/lib/libMonoSupportW.la"
+FILES_libmono-dbg =+ " /usr/lib/.debug/libmono*.so.* /usr/lib/.debug/libikvm-native.so \
+ /usr/lib/.debug/libMonoPosixHelper.so /usr/lib/.debug/libMonoSupportW.so"
+
+# Packages not included in Debian
+PACKAGES_prepend = "libnunit2.2-cil-dbg libnunit2.2-cil-dev libnunit2.2-cil \
+ libmono-cecil0.5-cil-dbg libmono-cecil0.5-cil-dev libmono-cecil0.5-cil \
+ libmono-db2-1.0-cil-dbg libmono-db2-1.0-cil-dev libmono-db2-1.0-cil"
+
+FILES_libnunit2.2-cil = "/usr/lib/mono/gac/nunit.*/2.2.* /usr/lib/mono/1.0/nunit.*.dll"
+FILES_libnunit2.2-cil-dev = "/usr/lib/pkgconfig/mono-nunit.pc"
+FILES_libnunit2.2-cil-dbg = "/usr/lib/mono/gac/nunit*/2.2.*/nunit.*.dll.mdb"
+
+FILES_libmono-cecil0.5-cil = "/usr/lib/mono/gac/Mono.Cecil/0.5.*"
+FILES_libmono-cecil0.5-cil-dbg = "/usr/lib/mono/gac/Mono.Cecil/0.5.0.1__0738eb9f132ed756/Mono.Cecil.dll.mdb"
+
+FILES_libmono-db2-1.0-cil = "/usr/lib/mono/gac/IBM.Data.DB2/1.0* /usr/lib/mono/1.0/IBM.Data.DB2.dll"
+FILES_libmono-db2-1.0-cil-dbg = "/usr/lib/mono/gac/IBM.Data.DB2/1.0*/IBM.Data.DB2.dll.mdb"
+
+# Move .pc files
+FILES_libmono-cairo1.0-cil-dev = "/usr/lib/pkgconfig/mono-cairo.pc"
+PACKAGES =+ " libmono-cairo1.0-cil-dev "
diff --git a/packages/mono/mono_1.2.6.inc b/packages/mono/mono_1.2.6.inc
new file mode 100644
index 0000000000..c9644cbce5
--- /dev/null
+++ b/packages/mono/mono_1.2.6.inc
@@ -0,0 +1,13 @@
+DESCRIPTION = "Mono Programming Language"
+SECTION = "devel/mono"
+LICENSE = "GPL LGPL X11"
+
+SRC_URI = "http://go-mono.com/sources/mono/mono-1.2.6.tar.bz2 \
+ file://mono-libgc-configure.patch;patch=1"
+
+S = "${WORKDIR}/mono-1.2.6"
+
+inherit autotools
+EXTRA_OECONF_arm = "--without-tls"
+EXTRA_OECONF_mipsel = "--without-tls"
+