2013-06-06 01:53:30 +02:00
|
|
|
################################################################################
|
2013-03-25 14:28:01 +01:00
|
|
|
#
|
|
|
|
# czmq
|
|
|
|
#
|
2013-06-06 01:53:30 +02:00
|
|
|
################################################################################
|
2013-03-25 14:28:01 +01:00
|
|
|
|
2015-08-06 22:51:31 +02:00
|
|
|
CZMQ_VERSION = v3.0.2
|
2014-05-05 19:20:33 +02:00
|
|
|
CZMQ_SITE = $(call github,zeromq,czmq,$(CZMQ_VERSION))
|
package/czmq: fix static linking
Currently, building czmq statically fails for some architectures with undefined
references to the math library:
/usr/powerpc-buildroot-linux-uclibc/sysroot/usr/lib/libstdc++.a(compatibility-ldbl.o): In function `std::tr1::hash<long double>::operator()(long double) const':
compatibility-ldbl.cc:(.text._ZNKSt3tr14hashIeEclEe+0x3c): undefined reference to `frexpl'
It turns out that this is actually a problem with libstdc++. Depending on the
arch, some functions will be in compatibility-ldbl.o. If you use any of these
functions, that file will be linked in. And when that file is linked in, all
the _other_ functions, which you actually don't use, are also linked in. And
one of these functions is the template function hash<long double>::operator(),
which uses frexpl.
Requiring czmq to link with -lm is a bit weird, given that neither itself,
nor any of its dependencies really need it...
So ideally it should be fixed in libstdc++ itself. However, as upstream
accepted a patch to link with -lm, we use this patch to fix static linking.
Fixes:
http://autobuild.buildroot.net/results/206/2061238affb685db998100a56c6571538d089a5b/
http://autobuild.buildroot.net/results/caf/caf002d213c9dd09df07858c5c199411ca8ddfa3/
http://autobuild.buildroot.net/results/568/568ac92d2f6d0604b9bf354ea9dca0a7cb5341f6/
http://autobuild.buildroot.net/results/945/9452982fc14f579c61b45a1a189db5f89aab3b80/
Cc: Arnout Vandecappelle <arnout@mind.be>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-03-06 15:50:03 +01:00
|
|
|
CZMQ_PATCH = https://github.com/zeromq/czmq/commit/bcf583633e8b27a9bfbed1e4a717b9373f7446be.patch
|
2013-03-25 14:28:01 +01:00
|
|
|
|
|
|
|
# Autoreconf required as we use the git tree
|
|
|
|
CZMQ_AUTORECONF = YES
|
|
|
|
CZMQ_INSTALL_STAGING = YES
|
2015-05-13 09:17:49 +02:00
|
|
|
CZMQ_DEPENDENCIES = zeromq host-pkgconf
|
2014-04-26 20:49:56 +02:00
|
|
|
CZMQ_LICENSE = MPLv2.0
|
|
|
|
CZMQ_LICENSE_FILES = LICENSE
|
2013-03-25 14:28:01 +01:00
|
|
|
|
2013-05-12 11:15:52 +02:00
|
|
|
# asciidoc is a python script that imports unicodedata, which is not in
|
|
|
|
# host-python, so disable asciidoc entirely.
|
|
|
|
CZMQ_CONF_ENV = ac_cv_prog_czmq_have_asciidoc=no
|
|
|
|
|
2013-03-25 14:28:01 +01:00
|
|
|
define CZMQ_CREATE_CONFIG_DIR
|
|
|
|
mkdir -p $(@D)/config
|
|
|
|
endef
|
|
|
|
|
|
|
|
CZMQ_POST_PATCH_HOOKS += CZMQ_CREATE_CONFIG_DIR
|
|
|
|
|
|
|
|
$(eval $(autotools-package))
|