Skip to content

Commit

Permalink
package/ace: new package
Browse files Browse the repository at this point in the history
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 <[email protected]>
Signed-off-by: Kalpesh Panchal <[email protected]>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <[email protected]>
  • Loading branch information
rc-matthew-l-weber authored and arnout committed Feb 6, 2022
1 parent b42e877 commit 3621918
Show file tree
Hide file tree
Showing 6 changed files with 92 additions and 0 deletions.
1 change: 1 addition & 0 deletions DEVELOPERS
Original file line number Diff line number Diff line change
Expand Up @@ -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/
Expand Down
1 change: 1 addition & 0 deletions package/Config.in
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
12 changes: 12 additions & 0 deletions package/ace/Config.in
Original file line number Diff line number Diff line change
@@ -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 changes: 3 additions & 0 deletions package/ace/ace.hash
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Locally Computed:
sha256 a28339750620c70cd29a8a7088a4bc6ebaf1ff7ba667498a0279ac97f0e32e01 ACE-7.0.1.tar.gz
sha256 687bf9d16119e0caf6fb5c18214928fd6ea0da10df91e906255b7613af8061d8 COPYING
61 changes: 61 additions & 0 deletions package/ace/ace.mk
Original file line number Diff line number Diff line change
@@ -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 changes: 14 additions & 0 deletions package/ace/platform_macros.GNU
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit 3621918

Please sign in to comment.