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