################################################################################ # # mono # ################################################################################ MONO_VERSION = 6.12.0.90 MONO_SITE = http://download.mono-project.com/sources/mono MONO_SOURCE = mono-$(MONO_VERSION).tar.xz MONO_LICENSE = GPL-2.0 or MIT (compiler, tools), MIT (libs) or commercial MONO_LICENSE_FILES = LICENSE mcs/COPYING \ external/Newtonsoft.Json/Tools/7-zip/copying.txt MONO_INSTALL_STAGING = YES ## Mono native # patching configure.ac MONO_AUTORECONF = YES MONO_COMMON_CONF_OPTS = --with-mcs-docs=no \ --with-ikvm-native=no \ --enable-minimal=profiler,debug \ --enable-static \ --disable-btls \ --disable-system-aot # Disable managed code (mcs folder) from building MONO_CONF_OPTS = $(MONO_COMMON_CONF_OPTS) --disable-mcs-build # The libraries have been built by the host-mono build. Since they are # architecture-independent, we simply copy them to the target. define MONO_INSTALL_LIBS rsync -av --exclude=*.so --exclude=*.mdb \ $(HOST_DIR)/lib/mono $(TARGET_DIR)/usr/lib/ endef MONO_POST_INSTALL_TARGET_HOOKS += MONO_INSTALL_LIBS ifeq ($(BR2_PACKAGE_LIBICONV),y) MONO_DEPENDENCIES += libiconv endif MONO_DEPENDENCIES += \ host-mono \ $(if $(BR2_PACKAGE_LIBUNWIND),libunwind) \ libatomic_ops ## Mono managed HOST_MONO_CONF_OPTS = $(MONO_COMMON_CONF_OPTS) --disable-libraries # ensure monolite is used HOST_MONO_MAKE_OPTS += EXTERNAL_MCS=false HOST_MONO_DEPENDENCIES = host-monolite host-gettext define HOST_MONO_SETUP_MONOLITE rm -rf $(@D)/mcs/class/lib/monolite (cd $(@D)/mcs/class/lib; ln -s $(HOST_DIR)/lib/monolite monolite) endef HOST_MONO_POST_CONFIGURE_HOOKS += HOST_MONO_SETUP_MONOLITE $(eval $(autotools-package)) $(eval $(host-autotools-package))