mono.mk 1.8 KB

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