openpgm: new package

OpenPGM is an open source implementation of the Pragmatic General
Multicast (PGM) specification in RFC 3208 available at www.ietf.org.
It is required for PGM/EPGM support in ZeroMQ library.

Signed-off-by: Alexander Lukichev <alexander.lukichev@gmail.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
Alexander Lukichev 2013-03-03 23:48:11 +00:00 committed by Peter Korsgaard
parent 3cc2cdb72f
commit e019b10ac2
4 changed files with 73 additions and 0 deletions

View File

@ -528,6 +528,7 @@ source "package/libtorrent/Config.in"
source "package/libupnp/Config.in"
source "package/libvncserver/Config.in"
source "package/nss-mdns/Config.in"
source "package/openpgm/Config.in"
source "package/ortp/Config.in"
source "package/slirp/Config.in"
source "package/usbredir/Config.in"

16
package/openpgm/Config.in Normal file
View File

@ -0,0 +1,16 @@
config BR2_PACKAGE_OPENPGM
bool "openpgm"
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_INET_IPV6
depends on BR2_USE_WCHAR
help
OpenPGM is an open source implementation of the Pragmatic General
Multicast (PGM) specification in RFC 3208 available at www.ietf.org.
PGM is a reliable and scalable multicast protocol that enables
receivers to detect loss, request retransmission of lost data, or
notify an application of unrecoverable loss.
http://code.google.com/p/openpgm/
comment "openpgm needs a toolchain with WCHAR, threads and IPv6 support"
depends on !(BR2_TOOLCHAIN_HAS_THREADS && BR2_INET_IPV6 && BR2_USE_WCHAR)

View File

@ -0,0 +1,38 @@
configure.ac: cross-compilation fix
This patch enables to configure the package when cross-compiling in a way
recommended by Autoconf manual (see manual for version 2.69, Section 6.6
Checking Runtime Behavior).
Signed-off-by: Alexander Lukichev <alexander.lukichev@gmail.com>
--- a/openpgm/pgm/configure.ac 2011-09-27 20:59:08.000000000 +0300
+++ b/openpgm/pgm/configure.ac 2013-02-12 10:33:53.000000000 +0200
@@ -272,14 +272,19 @@ uint32_t add32_with_carry (uint32_t a, u
;;
esac
# ticket spinlock friendly: unaligned pointers & atomic ops (excl. Sun Pro)
-AC_MSG_CHECKING([for unaligned pointers])
-AC_RUN_IFELSE(
- [AC_LANG_PROGRAM([[char* nezumi = "mouse";]],
- [[short x = *(short*)(nezumi + 2)]])],
- [AC_MSG_RESULT([yes])
- pgm_unaligned_pointers=yes],
- [AC_MSG_RESULT([no])
- pgm_unaligned_pointers=no])
+AC_CACHE_CHECK([if unaligned access fails], [ac_cv_lbl_unaligned_fail],
+ [AC_RUN_IFELSE(
+ [AC_LANG_PROGRAM([[char* nezumi = "mouse";]],
+ [[short x = *(short*)(nezumi + 2)]])],
+ [ac_cv_lbl_unaligned_fail=no],
+ [ac_cv_lbl_unaligned_fail=yes],
+ [ac_cv_lbl_unaligned_fail=yes])
+ ])
+if test "$ac_cv_lbl_unaligned_fail" = yes; then
+ pgm_unaligned_pointers=no
+else
+ pgm_unaligned_pointers=yes
+fi
AC_MSG_CHECKING([for intrinsic atomic ops])
# AC_PREPROC_IFELSE not always portable
AC_COMPILE_IFELSE(

View File

@ -0,0 +1,18 @@
#############################################################
#
# openpgm
#
#############################################################
OPENPGM_VERSION = 5.1.118~dfsg
OPENPGM_SOURCE = libpgm-$(OPENPGM_VERSION).tar.gz
OPENPGM_SITE = http://openpgm.googlecode.com/files/
OPENPGM_LICENSE = LGPLv2.1+
OPENPGM_LICENSE_FILES = openpgm/pgm/LICENSE
OPENPGM_INSTALL_STAGING = YES
OPENPGM_AUTORECONF = YES
OPENPGM_SUBDIR = openpgm/pgm/
OPENPGM_CONF_ENV = ac_cv_file__proc_cpuinfo=yes ac_cv_file__dev_rtc=no \
ac_cv_file__dev_hpet=no
$(eval $(autotools-package))