aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/mono
diff options
context:
space:
mode:
authorCliff Brake <cbrake@bec-systems.com>2009-07-29 11:14:50 -0400
committerCliff Brake <cbrake@bec-systems.com>2009-07-31 17:54:40 -0400
commit3e377a05c6cbbf90865fa81da621d5a36ec3b842 (patch)
tree845ded2876b9623360f2792b9de787051722b0fb /recipes/mono
parent5fe09b5028eac0d99a85e0f9e14b99892dd60fb2 (diff)
downloadopenembedded-3e377a05c6cbbf90865fa81da621d5a36ec3b842.tar.gz
mono: add 2.4.2.3 recipes
Diffstat (limited to 'recipes/mono')
-rw-r--r--recipes/mono/mono-2.4.2.3/0001-remove-docs-dir-from-build.patch30
-rw-r--r--recipes/mono/mono-2.4.2.3/configure.patch44
-rw-r--r--recipes/mono/mono-2.4.2.3/mini-arm.patch11
-rw-r--r--recipes/mono/mono-mcs-intermediate_2.4.2.3.bb17
-rw-r--r--recipes/mono/mono-native_2.4.2.3.bb20
-rw-r--r--recipes/mono/mono_2.4.2.3.bb85
-rw-r--r--recipes/mono/mono_2.4.2.3.inc21
-rw-r--r--recipes/mono/mono_svn.bb4
8 files changed, 230 insertions, 2 deletions
diff --git a/recipes/mono/mono-2.4.2.3/0001-remove-docs-dir-from-build.patch b/recipes/mono/mono-2.4.2.3/0001-remove-docs-dir-from-build.patch
new file mode 100644
index 0000000000..4e276e3f0c
--- /dev/null
+++ b/recipes/mono/mono-2.4.2.3/0001-remove-docs-dir-from-build.patch
@@ -0,0 +1,30 @@
+From 2ca04d7b2af1f1d690d918da047b03de768f1a8b Mon Sep 17 00:00:00 2001
+From: Cliff Brake <cbrake@bec-systems.com>
+Date: Fri, 31 Jul 2009 17:48:47 -0400
+Subject: [PATCH] remove docs dir from build
+
+---
+ Makefile.am | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index 083bb82..386ed91 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,11 +1,11 @@
+ AUTOMAKE_OPTIONS = foreign
+ ACLOCAL_AMFLAGS = -I .
+
+-SUBDIRS = po $(libgc_dir) $(eglib_dir) mono $(ikvm_native_dir) support data runtime scripts man samples web msvc docs
++SUBDIRS = po $(libgc_dir) $(eglib_dir) mono $(ikvm_native_dir) support data runtime scripts man samples web msvc
+
+ # Keep in sync with SUBDIRS
+ ## 'tools' is not normally built
+-DIST_SUBDIRS = po libgc $(eglib_dir) mono ikvm-native support data runtime scripts man samples web tools msvc docs
++DIST_SUBDIRS = po libgc $(eglib_dir) mono ikvm-native support data runtime scripts man samples web tools msvc
+
+ EXTRA_DIST= nls.m4 po.m4 progtest.m4 mono-uninstalled.pc.in build-mingw32.sh LICENSE mkinstalldirs
+
+--
+1.6.0.4
+
diff --git a/recipes/mono/mono-2.4.2.3/configure.patch b/recipes/mono/mono-2.4.2.3/configure.patch
new file mode 100644
index 0000000000..7ca874ab07
--- /dev/null
+++ b/recipes/mono/mono-2.4.2.3/configure.patch
@@ -0,0 +1,44 @@
+Index: mono-2.4.2.1/configure.in
+===================================================================
+--- mono-2.4.2.1.orig/configure.in 2008-11-13 18:22:29.000000000 -0500
++++ mono-2.4.2.1/configure.in 2008-12-10 16:03:11.000000000 -0500
+@@ -1155,6 +1155,8 @@
+ ], [
+ AC_MSG_RESULT(no)
+ with_tls=pthread
++ ], [
++ AC_MSG_RESULT(yes)
+ ])
+ fi
+
+@@ -1257,6 +1259,9 @@
+ ], [
+ with_sigaltstack=no
+ AC_MSG_RESULT(no)
++ ], [
++ AC_MSG_RESULT(yes)
++ AC_DEFINE(HAVE_WORKING_SIGALTSTACK)
+ ])
+ fi
+
+@@ -1746,6 +1751,7 @@
+
+ jit_wanted=false
+ interp_wanted=false
++echo "CLIFF: checking host = $host"
+ case "$host" in
+ # mips-sgi-irix5.* | mips-sgi-irix6.*)
+ # TARGET=MIPS;
+@@ -1882,10 +1888,12 @@
+ jit_wanted=true
+ ;;
+ arm*-linux*)
++ echo "CLIFF: found arm linux"
+ TARGET=ARM;
+ arch_target=arm;
+ ACCESS_UNALIGNED="no"
+ JIT_SUPPORTED=yes
++ CPPFLAGS="$CPPFLAGS -DARM_FPU_VFP=1"
+ jit_wanted=true
+ ;;
+ s390-*-linux*)
diff --git a/recipes/mono/mono-2.4.2.3/mini-arm.patch b/recipes/mono/mono-2.4.2.3/mini-arm.patch
new file mode 100644
index 0000000000..d517a5a276
--- /dev/null
+++ b/recipes/mono/mono-2.4.2.3/mini-arm.patch
@@ -0,0 +1,11 @@
+--- mono-2.4.2.1/mono/mini/mini-arm.h 2009-06-23 09:41:00.000000000 -0600
++++ mono-2.4.2.1/mono/mini/mini-arm.h 2009-06-23 09:40:27.000000000 -0600
+@@ -9,7 +9,7 @@
+ #endif
+
+ #ifdef ARM_FPU_VFP
+-#error "VFP support is not complete, try mono SVN for that."
++//#error "VFP support is not complete, try mono SVN for that."
+ #endif
+
+ #if defined(__ARM_EABI__)
diff --git a/recipes/mono/mono-mcs-intermediate_2.4.2.3.bb b/recipes/mono/mono-mcs-intermediate_2.4.2.3.bb
new file mode 100644
index 0000000000..258f812602
--- /dev/null
+++ b/recipes/mono/mono-mcs-intermediate_2.4.2.3.bb
@@ -0,0 +1,17 @@
+# 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_2.4.2.3.inc
+require mono-mcs-intermediate.inc
+
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI += ""
+
+PR = "${INC_PR}.1"
+
+
diff --git a/recipes/mono/mono-native_2.4.2.3.bb b/recipes/mono/mono-native_2.4.2.3.bb
new file mode 100644
index 0000000000..44ac053e99
--- /dev/null
+++ b/recipes/mono/mono-native_2.4.2.3.bb
@@ -0,0 +1,20 @@
+require mono_2.4.2.3.inc
+DEPENDS = "glib-2.0-native perl-native"
+
+PR = "${INC_PR}.1"
+
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI += ""
+
+inherit native
+
+do_fix_libtool_name() {
+ # inherit native will make that all native tools that are being
+ # built are prefixed with something like "i686-linux-",
+ # including libtool. Fix up some hardcoded libtool names:
+ for i in "${S}"/runtime/*-wrapper.in; do
+ sed -e "s/libtool/${BUILD_SYS}-libtool/" -i "${i}"
+ done
+}
+addtask fix_libtool_name after do_patch before do_configure
diff --git a/recipes/mono/mono_2.4.2.3.bb b/recipes/mono/mono_2.4.2.3.bb
new file mode 100644
index 0000000000..e1f1968cdb
--- /dev/null
+++ b/recipes/mono/mono_2.4.2.3.bb
@@ -0,0 +1,85 @@
+require mono_2.4.2.3.inc
+
+DEPENDS = "mono-native mono-mcs-intermediate glib-2.0 perl-native"
+
+DEFAULT_PREFERENCE = "-1"
+
+PR = "${INC_PR}.1"
+
+# mono makes use of non-thumb-compatible inline asm.
+ARM_INSTRUCTION_SET = "arm"
+
+SRC_URI += "file://configure.patch;patch=1\
+ file://mini-arm.patch;patch=1\
+ file://0001-remove-docs-dir-from-build.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_DATADIR_NATIVE}/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_2.x-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/recipes/mono/mono_2.4.2.3.inc b/recipes/mono/mono_2.4.2.3.inc
new file mode 100644
index 0000000000..21e596090c
--- /dev/null
+++ b/recipes/mono/mono_2.4.2.3.inc
@@ -0,0 +1,21 @@
+DESCRIPTION = "Mono Programming Language"
+SECTION = "devel/mono"
+LICENSE = "GPL LGPL X11"
+
+SRC_URI = "http://ftp.novell.com/pub/mono/sources/mono/mono-2.4.2.3.tar.bz2"
+
+INC_PR = "r3"
+
+S = "${WORKDIR}/mono-2.4.2.3"
+
+do_fix_dolt_libtool() {
+ # look for libtool prefixed with HOST_SYS
+ sed -e "s/slash\}libtool/slash\}${HOST_SYS}-libtool/" -i acinclude.m4
+ echo No acinclude!
+}
+
+inherit autotools
+EXTRA_OECONF_arm = "--without-tls"
+EXTRA_OECONF_mipsel = "--without-tls"
+
+addtask fix_dolt_libtool after do_patch before do_configure
diff --git a/recipes/mono/mono_svn.bb b/recipes/mono/mono_svn.bb
index a5ba966796..311d2a38dd 100644
--- a/recipes/mono/mono_svn.bb
+++ b/recipes/mono/mono_svn.bb
@@ -5,7 +5,7 @@ DEPENDS = "mono-native mono-mcs-intermediate glib-2.0 perl-native"
PR = "r0"
DEFAULT_PREFERENCE = "-1"
-SRC_URI += "file://configure-svnr87352.patch;patch=1"
+SRC_URI += ""
# Per http://www.mono-project.com/Mono:ARM
EXTRA_OECONF += " --disable-mcs-build "
@@ -37,7 +37,7 @@ do_install_append() {
inherit mono
# Import file definitions from Debian
-require mono_1.2.5.1-files.inc
+require mono_2.x-files.inc
# Add some packages
PACKAGES_append = " mono-doc mono mono-runtime"