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