浏览代码

package/ace: new package

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 <matthew.weber@rockwellcollins.com>
Signed-off-by: Kalpesh Panchal <kalpesh.panchal@rockwellcollins.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Matt Weber 4 年之前
父节点
当前提交
3621918d1b
共有 6 个文件被更改,包括 92 次插入0 次删除
  1. 1 0
      DEVELOPERS
  2. 1 0
      package/Config.in
  3. 12 0
      package/ace/Config.in
  4. 3 0
      package/ace/ace.hash
  5. 61 0
      package/ace/ace.mk
  6. 14 0
      package/ace/platform_macros.GNU

+ 1 - 0
DEVELOPERS

@@ -1868,6 +1868,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/

+ 1 - 0
package/Config.in

@@ -1924,6 +1924,7 @@ menu "Networking"
 endmenu
 
 menu "Other"
+	source "package/ace/Config.in"
 	source "package/apr/Config.in"
 	source "package/apr-util/Config.in"
 	source "package/argp-standalone/Config.in"

+ 12 - 0
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

+ 3 - 0
package/ace/ace.hash

@@ -0,0 +1,3 @@
+# Locally Computed:
+sha256  a28339750620c70cd29a8a7088a4bc6ebaf1ff7ba667498a0279ac97f0e32e01  ACE-7.0.1.tar.gz
+sha256  687bf9d16119e0caf6fb5c18214928fd6ea0da10df91e906255b7613af8061d8  COPYING

+ 61 - 0
package/ace/ace.mk

@@ -0,0 +1,61 @@
+################################################################################
+#
+# 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
+define ACE_CONFIGURE_SSL
+	echo "ssl = 1" >> $(@D)/include/makeinclude/platform_macros.GNU
+endef
+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/
+
+	$(ACE_CONFIGURE_SSL)
+endef
+
+define ACE_BUILD_CMDS
+	$(foreach lib,$(ACE_LIBARIES), \
+		$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D)/$(lib) ACE_ROOT="$(@D)" all
+	)
+endef
+
+define  ACE_LIBARIES_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))

+ 14 - 0
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