From patchwork Wed Sep 24 13:34:10 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Angelo Compagnucci X-Patchwork-Id: 392957 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from whitealder.osuosl.org (whitealder.osuosl.org [140.211.166.138]) by ozlabs.org (Postfix) with ESMTP id 1D75E1400A0 for ; Wed, 24 Sep 2014 23:40:17 +1000 (EST) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id 3F2349213B; Wed, 24 Sep 2014 13:40:16 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id TVJFDLdWjwVA; Wed, 24 Sep 2014 13:40:15 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by whitealder.osuosl.org (Postfix) with ESMTP id D3CA89213F; Wed, 24 Sep 2014 13:40:14 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from fraxinus.osuosl.org (fraxinus.osuosl.org [140.211.166.137]) by ash.osuosl.org (Postfix) with ESMTP id 2FDDE1C2433 for ; Wed, 24 Sep 2014 13:40:13 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id 2C4E9A1C84 for ; Wed, 24 Sep 2014 13:40:13 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id oOCDf4jUMpra for ; Wed, 24 Sep 2014 13:40:12 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-wi0-f179.google.com (mail-wi0-f179.google.com [209.85.212.179]) by fraxinus.osuosl.org (Postfix) with ESMTPS id C54FBA1329 for ; Wed, 24 Sep 2014 13:40:11 +0000 (UTC) Received: by mail-wi0-f179.google.com with SMTP id d1so7294525wiv.0 for ; Wed, 24 Sep 2014 06:40:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id; bh=JPHhkwYh7Cl7obd3iXwu608R+XhOrJJ8ELuTCP8vNR0=; b=TiRao8Koh6B7/DpBPmq2Dhf4CT31YFfSpGQ2W6jdSC/357eP6+BjdJX4Mgvz9BKPCF i8ILXnYsEEOp0hCqsvSYipw/RzNKBUBd6p7uv7R+S4PdSkmjBav5n3o5h+YzSIbURZew Lc7BbSZ/yQLPyxPPRW+zJDAANjSqcfo9TkyyLq2L25M6YnN4d29kjjsx91SEhwmEZUQd AkG/tSOKt7dAqCpvPH6sJkLlhW4w7HLVm56TMOXTcjCZoFaPChbxTdaZrqlPf7ACb5Xg GPdMtihwu1U/AkGumoCxNPi6NN+gCk98yGBaqHCAqxur5lkyHpI/oUA56ALQlcd+fRFM Dnsw== X-Received: by 10.180.105.41 with SMTP id gj9mr11532417wib.3.1411565660859; Wed, 24 Sep 2014 06:34:20 -0700 (PDT) Received: from localhost.localdomain ([89.202.204.147]) by mx.google.com with ESMTPSA id hm5sm19495281wjb.2.2014.09.24.06.34.18 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 24 Sep 2014 06:34:19 -0700 (PDT) From: Angelo Compagnucci To: buildroot@buildroot.org Date: Wed, 24 Sep 2014 15:34:10 +0200 Message-Id: <1411565650-4235-1-git-send-email-angelo.compagnucci@gmail.com> X-Mailer: git-send-email 2.1.1 Subject: [Buildroot] [PATCH v2] package/mono: new package X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" This patch adds the complete Mono implementation. This patch compiles both the native and managed parts. Signed-off-by: Angelo Compagnucci --- This revision adds the correct architectures as dependencies. package/Config.in | 1 + package/mono/Config.in | 9 +++++++++ package/mono/mono-managed/mono-managed.mk | 26 ++++++++++++++++++++++++++ package/mono/mono-native/mono-native.mk | 19 +++++++++++++++++++ package/mono/mono.mk | 18 ++++++++++++++++++ 5 files changed, 73 insertions(+) create mode 100644 package/mono/Config.in create mode 100644 package/mono/mono-managed/mono-managed.mk create mode 100644 package/mono/mono-native/mono-native.mk create mode 100644 package/mono/mono.mk diff --git a/package/Config.in b/package/Config.in index 2eefc3f..8a42846 100644 --- a/package/Config.in +++ b/package/Config.in @@ -432,6 +432,7 @@ menu "Lua libraries/modules" source "package/xavante/Config.in" endmenu endif + source "package/mono/Config.in" source "package/nodejs/Config.in" source "package/perl/Config.in" if BR2_PACKAGE_PERL diff --git a/package/mono/Config.in b/package/mono/Config.in new file mode 100644 index 0000000..8468b5c --- /dev/null +++ b/package/mono/Config.in @@ -0,0 +1,9 @@ +config BR2_PACKAGE_MONO + bool "mono" + select BR2_STRIP_none + depends on (BR2_arm || BR2_armeb || BR2_i386 || BR2_mips \ + || BR2_powerpc || BR2_sparc || BR2_x86_64) + help + An open source, cross-platform, implementation of C# and the CLR that is binary compatible with Microsoft.NET. + + http://download.mono-project.com/sources/mono/ diff --git a/package/mono/mono-managed/mono-managed.mk b/package/mono/mono-managed/mono-managed.mk new file mode 100644 index 0000000..94be274 --- /dev/null +++ b/package/mono/mono-managed/mono-managed.mk @@ -0,0 +1,26 @@ +############################################################# +# +# mono-managed +# +############################################################# + +MONO_MANAGED_VERSION = $(MONO_VERSION) +MONO_MANAGED_SITE = $(MONO_SITE) +MONO_MANAGED_SOURCE = $(MONO_SOURCE) + +HOST_MONO_MANAGED_CONF_OPT = \ + $(MONO_CONF_OPT) \ + --enable-static + +define MONO_MANAGED_GETMONOLITE + $(MAKE) -C $(@D) get-monolite-latest +endef + +define MONO_MANAGED_INSTALL + cp -av $(HOST_DIR)/usr/lib/mono $(TARGET_DIR)/usr/lib/ +endef + +HOST_MONO_MANAGED_POST_CONFIGURE_HOOKS += MONO_MANAGED_GETMONOLITE +HOST_MONO_MANAGED_POST_INSTALL_HOOKS += MONO_MANAGED_INSTALL + +$(eval $(host-autotools-package)) diff --git a/package/mono/mono-native/mono-native.mk b/package/mono/mono-native/mono-native.mk new file mode 100644 index 0000000..3d6b3bf --- /dev/null +++ b/package/mono/mono-native/mono-native.mk @@ -0,0 +1,19 @@ +############################################################# +# +# mono-native +# +############################################################# + +MONO_NATIVE_VERSION = $(MONO_VERSION) +MONO_NATIVE_SITE = $(MONO_SITE) +MONO_NATIVE_SOURCE = $(MONO_SOURCE) +MONO_NATIVE_INSTALL_STAGING = $(MONO_INSTALL_STAGING) + +MONO_NATIVE_DEPENDENCIES += host-mono-managed + +# Disable managed code (mcs folder) from building +MONO_NATIVE_CONF_OPT = \ + $(MONO_CONF_OPT) \ + --disable-mcs-build + +$(eval $(autotools-package)) diff --git a/package/mono/mono.mk b/package/mono/mono.mk new file mode 100644 index 0000000..6940ceb --- /dev/null +++ b/package/mono/mono.mk @@ -0,0 +1,18 @@ +############################################################# +# +# mono +# +############################################################# + +MONO_VERSION = 3.8.0 +MONO_SITE = http://download.mono-project.com/sources/mono/ +MONO_SOURCE = mono-$(MONO_VERSION).tar.bz2 +MONO_INSTALL_STAGING = YES + +MONO_CONF_OPT = --disable-gtk-doc \ + --with-mcs-docs=no + +ifeq ($(BR2_PACKAGE_MONO),y) + include package/mono/*/*.mk + TARGETS += mono-native mono-managed +endif