xref: /OK3568_Linux_fs/buildroot/package/mono/mono.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun################################################################################
2*4882a593Smuzhiyun#
3*4882a593Smuzhiyun# mono
4*4882a593Smuzhiyun#
5*4882a593Smuzhiyun################################################################################
6*4882a593Smuzhiyun
7*4882a593SmuzhiyunMONO_VERSION = 6.12.0.90
8*4882a593SmuzhiyunMONO_SITE = http://download.mono-project.com/sources/mono
9*4882a593SmuzhiyunMONO_SOURCE = mono-$(MONO_VERSION).tar.xz
10*4882a593SmuzhiyunMONO_LICENSE = GPL-2.0 or MIT (compiler, tools), MIT (libs) or commercial
11*4882a593SmuzhiyunMONO_LICENSE_FILES = LICENSE mcs/COPYING \
12*4882a593Smuzhiyun	external/Newtonsoft.Json/Tools/7-zip/copying.txt
13*4882a593SmuzhiyunMONO_CPE_ID_VENDOR = mono-project
14*4882a593SmuzhiyunMONO_INSTALL_STAGING = YES
15*4882a593Smuzhiyun
16*4882a593Smuzhiyun## Mono native
17*4882a593Smuzhiyun
18*4882a593Smuzhiyun# patching configure.ac
19*4882a593SmuzhiyunMONO_AUTORECONF = YES
20*4882a593Smuzhiyun
21*4882a593SmuzhiyunMONO_COMMON_CONF_OPTS = --with-mcs-docs=no \
22*4882a593Smuzhiyun	--with-ikvm-native=no \
23*4882a593Smuzhiyun	--enable-minimal=profiler,debug \
24*4882a593Smuzhiyun	--enable-static \
25*4882a593Smuzhiyun	--disable-btls \
26*4882a593Smuzhiyun	--disable-system-aot
27*4882a593Smuzhiyun
28*4882a593Smuzhiyun# Disable managed code (mcs folder) from building
29*4882a593SmuzhiyunMONO_CONF_OPTS = $(MONO_COMMON_CONF_OPTS) --disable-mcs-build
30*4882a593Smuzhiyun
31*4882a593Smuzhiyun# The libraries have been built by the host-mono build. Since they are
32*4882a593Smuzhiyun# architecture-independent, we simply copy them to the target.
33*4882a593Smuzhiyundefine MONO_INSTALL_LIBS
34*4882a593Smuzhiyun	rsync -av --exclude=*.so --exclude=*.mdb \
35*4882a593Smuzhiyun		$(HOST_DIR)/lib/mono $(TARGET_DIR)/usr/lib/
36*4882a593Smuzhiyunendef
37*4882a593Smuzhiyun
38*4882a593SmuzhiyunMONO_POST_INSTALL_TARGET_HOOKS += MONO_INSTALL_LIBS
39*4882a593Smuzhiyun
40*4882a593Smuzhiyunifeq ($(BR2_PACKAGE_LIBICONV),y)
41*4882a593SmuzhiyunMONO_DEPENDENCIES += libiconv
42*4882a593Smuzhiyunendif
43*4882a593Smuzhiyun
44*4882a593SmuzhiyunMONO_DEPENDENCIES += \
45*4882a593Smuzhiyun	host-mono \
46*4882a593Smuzhiyun	$(if $(BR2_PACKAGE_LIBUNWIND),libunwind) \
47*4882a593Smuzhiyun	libatomic_ops
48*4882a593Smuzhiyun
49*4882a593Smuzhiyun## Mono managed
50*4882a593Smuzhiyun
51*4882a593SmuzhiyunHOST_MONO_CONF_OPTS = $(MONO_COMMON_CONF_OPTS) --disable-libraries
52*4882a593Smuzhiyun
53*4882a593Smuzhiyun# ensure monolite is used
54*4882a593SmuzhiyunHOST_MONO_MAKE_OPTS += EXTERNAL_MCS=false
55*4882a593Smuzhiyun
56*4882a593SmuzhiyunHOST_MONO_DEPENDENCIES = host-monolite host-gettext host-python3
57*4882a593Smuzhiyun
58*4882a593Smuzhiyundefine HOST_MONO_SETUP_MONOLITE
59*4882a593Smuzhiyun	rm -rf $(@D)/mcs/class/lib/monolite
60*4882a593Smuzhiyun	(cd $(@D)/mcs/class/lib; ln -s $(HOST_DIR)/lib/monolite monolite)
61*4882a593Smuzhiyunendef
62*4882a593Smuzhiyun
63*4882a593SmuzhiyunHOST_MONO_POST_CONFIGURE_HOOKS += HOST_MONO_SETUP_MONOLITE
64*4882a593Smuzhiyun
65*4882a593Smuzhiyun$(eval $(autotools-package))
66*4882a593Smuzhiyun$(eval $(host-autotools-package))
67