kumquat-buildroot/package/libevent/libevent.mk
Peter Korsgaard 1de31b0a67 libevent: disable sample programs to workaround static linking issue
Fixes:
http://autobuild.buildroot.net/results/1e7/1e7027b1b87d88b4517b1b19d3a2ae54c24f2c10/
http://autobuild.buildroot.net/results/ff7/ff7e010b41e7448d15d20396e9e9bd7319dd493b/
http://autobuild.buildroot.net/results/269/269a3a76f61c65423ba703a85e94cc003fb75e4c/

Libevent/libtool gets confused by the library order when statically linking
the sample programs and passes -lz before -lcrypto even though libcrypto
uses zlib.

/bin/bash ./libtool --tag=CC --mode=link ..  -o sample/https-client \
	sample/https-client.o sample/hostcheck.o \
	sample/openssl_hostname_validation.o libevent.la \
	libevent_openssl.la -lssl -lcrypto -lz -lz -lcrypto

libtool: link: ..  -o sample/https-client sample/https-client.o \
	sample/hostcheck.o sample/openssl_hostname_validation.o \
	./.libs/libevent.a ./.libs/libevent_openssl.a \
	-lssl -lz -lcrypto

../libcrypto.a(c_zlib.o): In function `zlib_stateful_expand_block':
c_zlib.c:(.text+0x30): undefined reference to `inflate'

This is most likely fixable, but as the sample programs aren't installed /
used, simply skip building them to save time and work around this issue.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-02-09 15:02:09 +01:00

40 lines
1.2 KiB
Makefile

################################################################################
#
# libevent
#
################################################################################
LIBEVENT_VERSION = 2.1.8-stable
LIBEVENT_SITE = https://github.com/libevent/libevent/releases/download/release-$(LIBEVENT_VERSION)
LIBEVENT_INSTALL_STAGING = YES
LIBEVENT_LICENSE = BSD-3c, OpenBSD
LIBEVENT_LICENSE_FILES = LICENSE
# For 0001-Disable-building-test-programs.patch
LIBEVENT_AUTORECONF = YES
LIBEVENT_CONF_OPTS = --disable-samples
define LIBEVENT_REMOVE_PYSCRIPT
rm $(TARGET_DIR)/usr/bin/event_rpcgen.py
endef
# libevent installs a python script to target - get rid of it if we
# don't have python support enabled
ifneq ($(BR2_PACKAGE_PYTHON),y)
LIBEVENT_POST_INSTALL_TARGET_HOOKS += LIBEVENT_REMOVE_PYSCRIPT
endif
ifeq ($(BR2_PACKAGE_OPENSSL),y)
LIBEVENT_DEPENDENCIES += openssl
LIBEVENT_CONF_OPTS += --enable-openssl
# openssl needs zlib but configure forgets to link against it causing
# openssl detection to fail
ifeq ($(BR2_STATIC_LIBS),y)
LIBEVENT_CONF_ENV += OPENSSL_LIBADD='-lz'
endif
else
LIBEVENT_CONF_OPTS += --disable-openssl
endif
$(eval $(autotools-package))
$(eval $(host-autotools-package))