Synopsis:

@see http://www.mono-project.com/VisualBasic.NET_support for details on VB.Net 
support in Mono

Testing:

mono-basic recipe was added to a qemux86 image for testing. A simple VB 
helloworld application was used from this link

@see http://msdn.microsoft.com/en-us/library/3cf7t4xt(v=vs.110).aspx

The script was first compiled to an .exe on the build Ubuntu host, copied to 
the qemux86 image and executed successfully with

mono helloworld.exe

i.e. A message box was shown

Then the script was copied to the qemux86 image, compiled and executed 
successfully with

vbnc helloworld.vb
mono helloworld.exe

Note that when using VB.Net on an, e.g., Ubuntu host it may be necessary to add 
a missing link. The recipe handles creation of this link for the target package.

sudo ln -s /usr/lib/mono/4.0/Microsoft.VisualBasic.dll  
/usr/lib/mono/4.5/Microsoft.VisualBasic.dll

@see 
http://mono.1490590.n4.nabble.com/mod-mono-with-VB-The-library-Microsoft-VisualBasic-dll-could-not-be-found-td4659980.html

Signed-off-by: Alex J Lennon <[email protected]>
---
 recipes-mono/mono-basic/mono-basic.inc     |   47 ++++++++++++++++++++++++++++
 recipes-mono/mono-basic/mono-basic_2.10.bb |    5 +++
 2 files changed, 52 insertions(+)
 create mode 100644 recipes-mono/mono-basic/mono-basic.inc
 create mode 100644 recipes-mono/mono-basic/mono-basic_2.10.bb

diff --git a/recipes-mono/mono-basic/mono-basic.inc 
b/recipes-mono/mono-basic/mono-basic.inc
new file mode 100644
index 0000000..8f66395
--- /dev/null
+++ b/recipes-mono/mono-basic/mono-basic.inc
@@ -0,0 +1,47 @@
+DESCRIPTION = "Visual Basic.NET support in Mono"
+SECTION = "devel/mono"
+DEPENDS = "mono"
+RDEPENDS_${PN} = "mono"
+LICENSE = "LGPLv2"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d8c5dc22eb6f25667cf8d96f603635e7"
+
+inherit autotools 
+
+SRC_URI = 
"http://download.mono-project.com/sources/mono-basic/mono-basic-${PV}.tar.bz2";
+
+FILES_${PN} += " \
+  ${libdir}/mono/2.0/*.dll \
+  ${libdir}/mono/4.0/*.dll \
+  ${libdir}/mono/4.0/*.exe \
+  ${libdir}/mono/4.0/*.rsp \
+  ${libdir}/mono/4.5/* \
+  ${libdir}/mono/gac/Mono.Cecil.VB \
+  ${libdir}/mono/gac/Microsoft.VisualBasic \
+  ${libdir}/mono/gac/Mono.Cecil.VB.Pdb/0.9.3.0__0738eb9f132ed756/*.dll \
+  ${libdir}/mono/gac/Microsoft.VisualBasic/10.0.0.0__b03f5f7f11d50a3a/*.dll \
+  ${libdir}/mono/gac/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/*.dll \
+  ${libdir}/mono/gac/Mono.Cecil.VB.Mdb/0.9.3.0__0738eb9f132ed756/*.dll \
+  ${libdir}/mono/gac/Mono.Cecil.VB/0.9.3.0__0738eb9f132ed756/*.dll \
+"
+
+FILES_${PN}-dbg += " \
+  ${libdir}/mono/4.0/*.mdb \
+  ${libdir}/mono/gac/*.Pdb \
+  ${libdir}/mono/gac/*.Mdb \
+  ${libdir}/mono/gac/Mono.Cecil.VB.Pdb/0.9.3.0__0738eb9f132ed756/*.mdb \
+  ${libdir}/mono/gac/Microsoft.VisualBasic/10.0.0.0__b03f5f7f11d50a3a/*.mdb \
+  ${libdir}/mono/gac/Microsoft.VisualBasic/8.0.0.0__b03f5f7f11d50a3a/*.mdb \
+  ${libdir}/mono/gac/Mono.Cecil.VB.Mdb/0.9.3.0__0738eb9f132ed756/*.mdb \
+  ${libdir}/mono/gac/Mono.Cecil.VB/0.9.3.0__0738eb9f132ed756/*.mdb \
+"
+
+do_compile_prepend() {
+  sed -e "s|\$(prefix)|${STAGING_DIR_NATIVE}/usr|" -i 
build/profiles/net_2_0.make
+  sed -e "s|\$(prefix)|${STAGING_DIR_NATIVE}/usr|" -i 
build/profiles/net_4_0.make
+}
+
+do_install_append() {
+ install -d "${D}${libdir}/mono/4.5"
+ ln -sf ${libdir}/mono/4.0/Microsoft.VisualBasic.dll  
${D}${libdir}/mono/4.5/Microsoft.VisualBasic.dll
+}
+
diff --git a/recipes-mono/mono-basic/mono-basic_2.10.bb 
b/recipes-mono/mono-basic/mono-basic_2.10.bb
new file mode 100644
index 0000000..422499b
--- /dev/null
+++ b/recipes-mono/mono-basic/mono-basic_2.10.bb
@@ -0,0 +1,5 @@
+require mono-basic.inc
+
+SRC_URI[md5sum] = "b459890e5447419ab1a5ea43d9b8afe8"
+SRC_URI[sha256sum] = 
"1cd87b634d4d862527c548bb827542d11a607569005df0123678e381ad12b186"
+
-- 
1.7.9.5

_______________________________________________
yocto mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to