aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-mono/mono/mono-5.xx.inc
blob: f0ac22b9c97e5d5fb1f68bac98020e829031fa16 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
SUMMARY = "An Open Source implementation of the Microsoft's .NET Framework"
DESCRIPTION = "This is part of the Mono project - http://mono-project.com"
HOMEPAGE = "http://mono-project.com"
BUGTRACKER = "http://bugzilla.xamarin.com/"
SECTION = "devel"

DEPENDS = "zlib"

SRC_URI = "http://download.mono-project.com/sources/mono/mono-${PV}.tar.bz2 \
           file://dllmap-config.in.diff \
	   file://0002-prevent-threadpool-exception5-test-hanging.patch \
"

# Add this patch into SRC_URI when testing projects
# that fail to compile due to lack of gmcs in recent
# mono releases
#
#	   file://0001-reintroduce-gmcs.patch \
#

def mono_workspace_version (d):
    pvsplit = d.getVar('PV',d,1).split('.')
    return pvsplit[0] + '.' + pvsplit[1] + '.' + pvsplit[2]

S = "${WORKDIR}/mono-${@mono_workspace_version(d)}"

FILESPATH =. "${FILE_DIRNAME}/mono-5.xx:"
FILESPATH =. "${FILE_DIRNAME}/mono-${PV}:"

inherit autotools-brokensep
inherit pkgconfig
inherit gettext

# avoids build breaks when using no-static-libs.inc
DISABLE_STATIC = ""

EXTRA_OECONF += " mono_cv_uscore=no --with-sigaltstack=no --with-mcs-docs=no "

do_configure_prepend() {
    ${S}/autogen.sh --verbose || bbnote "${PN} failed to autogen.sh"
    sed -e "s|slash\}libtool|slash\}${HOST_SYS}-libtool|" -i acinclude.m4
    sed -e "s|slash\}libtool|slash\}../${HOST_SYS}-libtool|" -i libgc/acinclude.m4
    sed -e "s|slash\}libtool|slash\}../${HOST_SYS}-libtool|" -i eglib/acinclude.m4
    sed -e "s|r/libtool|r/${HOST_SYS}-libtool|" -i runtime/mono-wrapper.in
    sed -e "s|r/libtool|r/${HOST_SYS}-libtool|" -i runtime/monodis-wrapper.in
    find . -name "*.pc.in" -exec sed -i -e 's:^\([^=]*=\).*pcfiledir.*/\.\./\.\.:\1@prefix@:g' {} \;
}

EDEPENDS_X11 = "libgdiplus"
ERDEPENDS_X11 = "libgdiplus"
EDEPENDS_PROFILE45 = ""
ERDEPENDS_PROFILE45 = "${PN}-libs-4.5"
EDEPENDS_GAC = ""
ERDEPENDS_GAC = "${PN}-gac"
EDEPENDS_LIBS = ""
ERDEPENDS_LIBS = "${PN}-libs"

PACKAGECONFIG[x11] = ",,${EDEPENDS_X11},${ERDEPENDS_X11}"
PACKAGECONFIG[profile45] = ",,${EDEPENDS_PROFILE45},${ERDEPENDS_PROFILE45}"
PACKAGECONFIG[gac] = ",,${EDEPENDS_GAC},${ERDEPENDS_GAC}"
PACKAGECONFIG[libs] = ",,${EDEPENDS_LIBS},${ERDEPENDS_LIBS}"

# Default configuration, distros might want to override
PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} profile45 gac libs"

PACKAGES = "${PN}-dbg ${PN}-doc ${PN}-staticdev ${PN}-locale ${PN}-libs ${PN}-dev "
PACKAGES += "${PN}-config ${PN}-binaries ${PN}-libs-core "
PACKAGES += "${PN}-libs-2.0 ${PN}-libs-3.5 ${PN}-libs-4.0 ${PN}-libs-4.5 "
PACKAGES += "${PN}-api-4.5.1 ${PN}-api-4.5.2 ${PN}-api-4.6 ${PN}-api-4.6.1 ${PN}-api-4.6.2 "
PACKAGES += "${PN}-libs-compat-2.0 ${PN}-gac ${PN}-configuration-crypto "
PACKAGES += "${PN}-libs-monodoc ${PN}-xbuild "
PACKAGES += "${PN}-lldb "
PACKAGES += "${PN} "

FILES_${PN}				= "${sysconfdir}/* ${bindir}/* ${libdir}/*.so*"
FILES_${PN}-libs			= "${libdir}/libMono*.so ${libdir}/libikvm-native.so ${libdir}/libmono-btls-shared.so"
FILES_${PN}-lldb                        = "${libdir}/mono/lldb/*"
FILES_${PN}-libs-2.0                    = "${libdir}/mono/2.0/* ${libdir}/mono/2.0-api/*"
FILES_${PN}-libs-3.5                    = "${libdir}/mono/3.5/* ${libdir}/mono/3.5-api/*"
FILES_${PN}-libs-4.0                    = "${libdir}/mono/4.0/* ${libdir}/mono/4.0-api/*"
FILES_${PN}-libs-4.5                    = "${libdir}/mono/4.5/* ${libdir}/mono/4.5-api/*"
FILES_${PN}-libs-compat-2.0		= "${libdir}/mono/compat-2.0/*"
FILES_${PN}-gac				= "${libdir}/mono/gac/*"
FILES_${PN}-configuration-crypto	= "${libdir}/mono/mono-configuration-crypto/*/*"
FILES_${PN}-libs-monodoc		= "${libdir}/mono/monodoc/*"
FILES_${PN}-xbuild			= "${libdir}/mono/xbuild/* ${libdir}/mono/xbuild-frameworks/* ${libdir}/mono/xbuild-frameworks/.NETFramework/*/*/* ${libdir}/mono/xbuild-frameworks/.NETPortable/*/*/* ${libdir}/mono/xbuild-frameworks/.NETPortable/*/*/.NET*"
FILES_${PN}-doc				+= " ${datadir}/libgc-mono/*"
FILES_${PN}-dbg				+= " ${datadir}/mono-2.0/mono/cil/cil-opcodes.xml ${libdir}/mono/*/*.mdb ${libdir}/mono/gac/*/*/*.mdb"
FILES_${PN}-staticdev			+= " ${libdir}/*.a"
FILES_${PN}-api-4.5.1			+= " ${libdir}/mono/4.5.1-api/*"
FILES_${PN}-api-4.5.2			+= " ${libdir}/mono/4.5.2-api/*"
FILES_${PN}-api-4.6			+= " ${libdir}/mono/4.6-api/*"
FILES_${PN}-api-4.6.1			+= " ${libdir}/mono/4.6.1-api/*"
FILES_${PN}-api-4.6.2			+= " ${libdir}/mono/4.6.2-api/*"

RDEPENDS_${PN} =+ "bash" 

# Workaround for observed race in `make install`
PARALLEL_MAKEINST=""