From patchwork Tue Apr 13 13:41:39 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matt Weber X-Patchwork-Id: 1465790 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=busybox.net (client-ip=2605:bc80:3010::133; helo=smtp2.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=rockwellcollins.com header.i=@rockwellcollins.com header.a=rsa-sha256 header.s=hrcrc2020 header.b=BaponWs/; dkim-atps=neutral Received: from smtp2.osuosl.org (smtp2.osuosl.org [IPv6:2605:bc80:3010::133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4FKRbc6HM2z9sVv for ; Tue, 13 Apr 2021 23:41:48 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id 25380405BB; Tue, 13 Apr 2021 13:41:46 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id TcGqGZfP6lmY; Tue, 13 Apr 2021 13:41:45 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by smtp2.osuosl.org (Postfix) with ESMTP id 5FEEF401CA; Tue, 13 Apr 2021 13:41:44 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by ash.osuosl.org (Postfix) with ESMTP id 926391BF841 for ; Tue, 13 Apr 2021 13:41:42 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by smtp2.osuosl.org (Postfix) with ESMTP id 8EB98401CA for ; Tue, 13 Apr 2021 13:41:42 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from smtp2.osuosl.org ([127.0.0.1]) by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 1_Apq4dsiHIm for ; Tue, 13 Apr 2021 13:41:41 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.8.0 Received: from da1vs02.rockwellcollins.com (da1vs02.rockwellcollins.com [205.175.227.29]) by smtp2.osuosl.org (Postfix) with ESMTPS id 6B3A4400D7 for ; Tue, 13 Apr 2021 13:41:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rockwellcollins.com; s=hrcrc2020; h=from:to:cc:subject:date:message-id; bh=7DYZkasln8OQdluF7niW4wNThF4BtpcfMtAw5rAHs20=; b=BaponWs/1O5gYFMgSpLyKkpbTA017iLVuLgict0lAXPGiSpWg6eIraHo EfsCzCZyQQK/GL/0MmzckAmaeX0vV83vOoeu87zW9eIgOq1GFlwJC/Wm7 mHTCtFgCTbl2cnp7ztXr2C+/zXjh7owBns+ITj9CQ9NrRkWV6h2ym6PHK 4p3iIcN63T74KNtIYyudgT7MHzoIgj9hq8kwhqSGuNfgTFPudmLlY23Wz WkhfS/YSmsPT4LWF4YkSbg+DELBS5m/92lTGFe1VcKMshZUFTr2ixxGLl f4L/VtriSDwX3FpFp/7G+wTfDH03SJQm5PpylR4wi1sPiz4Jr+r0xYsoT w==; IronPort-SDR: xSgJbD9gJcU/NZdtHLj7a7Yw7/deRP8HhyhVkirAKt+Dja2oXVxOB98ZNhWRz/n2yxXuQ3uXW0 ZS+yIfIRz/9MVTFx5P4FYiw/sLerC8vmrllUQ5XJjuWLOL38tW0dHLwThWdp+9gfQ7EFX7MtbD vtnIbJv9OHt7Vj1EcuVxOiQuzXnjbYa87jJwpHFz6ZoIn3XRL0rXrO+7J8xQZg6h1JF3TRUf4n O1r364Fy1W6lWWtk1duHw1iCqFwXaOQeZQMU8gmPBIwlGFJX6W68oUncqWh7LH2fztmAkyZslt +p0= Received: from ofwda1n02.rockwellcollins.com (HELO dtulimr01.rockwellcollins.com) ([205.175.227.14]) by da1vs02.rockwellcollins.com with ESMTP; 13 Apr 2021 08:41:40 -0500 X-Received: from biscuits.rockwellcollins.com (biscuits.rockwellcollins.lab [10.148.119.137]) by dtulimr01.rockwellcollins.com (Postfix) with ESMTP id 1BA6F60952; Tue, 13 Apr 2021 08:41:40 -0500 (CDT) From: Matt Weber To: buildroot@buildroot.org Date: Tue, 13 Apr 2021 08:41:39 -0500 Message-Id: <20210413134139.13281-1-matthew.weber@rockwellcollins.com> X-Mailer: git-send-email 2.17.1 Subject: [Buildroot] [PATCH v2] package/ace: new package X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Matt Weber , Kalpesh Panchal MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" ACE is an open-source framework that provides many components and patterns for developing high-performance, distributed real-time and embedded systems. It provides powerful, yet efficient abstractions for sockets, demultiplexing loops, threads, synchronization primitives. Signed-off-by: Matt Weber Signed-off-by: Kalpesh Panchal --- Changes v1 -> v2: [Thomas P - Added platform specific Makefile config file - Made Config.in dependency style updates - Made OpenSSL optional - Used foreach loop in makefile - Used common install command for target and staging --- DEVELOPERS | 1 + package/Config.in | 1 + package/ace/Config.in | 12 +++++++ package/ace/ace.hash | 3 ++ package/ace/ace.mk | 63 +++++++++++++++++++++++++++++++++ package/ace/platform_macros.GNU | 14 ++++++++ 6 files changed, 94 insertions(+) create mode 100644 package/ace/Config.in create mode 100644 package/ace/ace.hash create mode 100644 package/ace/ace.mk create mode 100644 package/ace/platform_macros.GNU diff --git a/DEVELOPERS b/DEVELOPERS index 626bb393dd..6dac446c68 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -1699,6 +1699,7 @@ F: board/qemu/ppc64-e5500/ F: configs/freescale_p* F: configs/freescale_t* F: configs/qemu_ppc64_e5500_defconfig +F: package/ace/ F: package/argp-standalone/ F: package/aufs/ F: package/aufs-util/ diff --git a/package/Config.in b/package/Config.in index 01e6bc0bfa..9f9b22d6d4 100644 --- a/package/Config.in +++ b/package/Config.in @@ -1844,6 +1844,7 @@ menu "Networking" endmenu menu "Other" + source "package/ace/Config.in" source "package/appstream-glib/Config.in" source "package/apr/Config.in" source "package/apr-util/Config.in" diff --git a/package/ace/Config.in b/package/ace/Config.in new file mode 100644 index 0000000000..226e34df32 --- /dev/null +++ b/package/ace/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_ACE + bool "ace" + depends on BR2_TOOLCHAIN_USES_GLIBC + depends on !BR2_STATIC_LIBS + help + The ADAPTIVE Communication Environment (ACE(TM)) + An OO Network Programming Toolkit in C++. + + http://www.dre.vanderbilt.edu/~schmidt/ACE.html + +comment "ACE needs a glibc toolchain, dynamic library" + depends on !BR2_TOOLCHAIN_USES_GLIBC || BR2_STATIC_LIBS diff --git a/package/ace/ace.hash b/package/ace/ace.hash new file mode 100644 index 0000000000..92fd42e131 --- /dev/null +++ b/package/ace/ace.hash @@ -0,0 +1,3 @@ +# Locally Computed: +sha256 a28339750620c70cd29a8a7088a4bc6ebaf1ff7ba667498a0279ac97f0e32e01 ACE-7.0.1.tar.gz +sha256 687bf9d16119e0caf6fb5c18214928fd6ea0da10df91e906255b7613af8061d8 COPYING diff --git a/package/ace/ace.mk b/package/ace/ace.mk new file mode 100644 index 0000000000..539e0cc6c4 --- /dev/null +++ b/package/ace/ace.mk @@ -0,0 +1,63 @@ +################################################################################ +# +# ace +# +################################################################################ + +ACE_VERSION = 7.0.1 +ACE_SOURCE = ACE-$(ACE_VERSION).tar.gz +ACE_SITE = http://download.dre.vanderbilt.edu/previous_versions +ACE_LICENSE = DOC +ACE_LICENSE_FILES = COPYING +ACE_INSTALL_STAGING = YES +ACE_CPE_ID_VENDOR = vanderbilt +ACE_CPE_ID_PRODUCT = adaptive_communication_environment + +# Note: We are excluding examples, apps and tests +# Only compiling ACE libraries (no TAO) +ACE_LIBARIES = ace ACEXML Kokyu netsvcs protocols/ace + +ifeq ($(BR2_PACKAGE_OPENSSL),y) +ACE_LIBARIES += ace/SSL +ACE_DEPENDENCIES = openssl +ACE_SSL = "ssl = 1" +endif + +# configure the target build +# refer: http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/ACE/ACE-INSTALL.html#unix +define ACE_CONFIGURE_CMDS + # create a config file + echo ' #include "ace/config-linux.h" ' >> $(@D)/ace/config.h + + # Create platform/compiler-specific Makefile configurations + $(INSTALL) -m 0644 package/ace/platform_macros.GNU $(@D)/include/makeinclude/ + # Enable ssl if OpenSSL is configured + [ ! -z $(ACE_SSL) ] && \ + echo $(ACE_SSL) >> $(@D)/include/makeinclude/platform_macros.GNU || \ + echo 'ace/SSL skipped' +endef + +# compile ace,ACEXML, Kokyu, netsvcs & protocols/ace +define ACE_BUILD_CMDS + $(foreach lib,$(ACE_LIBARIES), \ + $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)/$(lib) ACE_ROOT="$(@D)" all + ) +endef + +define ACE_LIBARIES_INSTALL + # create below folder required by ACE makefiles during install + mkdir -p $(1)/usr/share/ace + $(foreach lib,$(ACE_LIBARIES), \ + $(MAKE) -C $(@D)/$(lib) ACE_ROOT="$(@D)" DESTDIR=$(1) install + ) +endef + +define ACE_INSTALL_TARGET_CMDS + $(call ACE_LIBARIES_INSTALL,$(TARGET_DIR)) +endef + +define ACE_INSTALL_STAGING_CMDS + $(call ACE_LIBARIES_INSTALL,$(STAGING_DIR)) +endef + +$(eval $(generic-package)) diff --git a/package/ace/platform_macros.GNU b/package/ace/platform_macros.GNU new file mode 100644 index 0000000000..ab5ec25a1b --- /dev/null +++ b/package/ace/platform_macros.GNU @@ -0,0 +1,14 @@ +# help: http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/ACE/ACE-INSTALL.html#unix + +# create a platform macros file +include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU + +# disable RPATH +install_rpath = 0 + +# set the installation prefix +INSTALL_PREFIX = /usr + +# fix link error with ARM EABI tools +# http://list.isis.vanderbilt.edu/pipermail/ace-users/2008-January/002742.html +no_hidden_visibility = 1