daec24cfb8
Version 2.3.4 of libtalloc needs to define PYTHONHASHSEED, as a check has been added to the configure script, and build will fail if it is not defined. This is originately a workaround by samba developpers meant to avoid rebuilding talloc with each call to make. Defining PYTHONHASHSEED would not be required in the context of builroot, if not for the check in the configure script. Signed-off-by: David GOUARIN <david.gouarin@thalesgroup.com> Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
61 lines
2.2 KiB
Makefile
61 lines
2.2 KiB
Makefile
################################################################################
|
|
#
|
|
# libtalloc
|
|
#
|
|
################################################################################
|
|
|
|
LIBTALLOC_VERSION = 2.3.4
|
|
LIBTALLOC_SOURCE = talloc-$(LIBTALLOC_VERSION).tar.gz
|
|
LIBTALLOC_SITE = https://www.samba.org/ftp/talloc
|
|
LIBTALLOC_LICENSE = LGPL-3.0+
|
|
LIBTALLOC_LICENSE_FILES = talloc.h
|
|
LIBTALLOC_INSTALL_STAGING = YES
|
|
|
|
# libtalloc is extracted from the samba source tree, and that has a workaround
|
|
# that requires PYTHONHASHSEED to be set, and to be set to 1.
|
|
# See https://gitlab.com/samba-team/samba/-/commit/420bbb1d92fd2a28725b53f425ba3d214831b660
|
|
LIBTALLOC_CONF_ENV = PYTHONHASHSEED=1
|
|
LIBTALLOC_MAKE_ENV = PYTHONHASHSEED=1
|
|
|
|
# --with-libiconv= is unconditionally passed, even if libiconv is not
|
|
# present. Indeed, waf will search for libiconv by default in
|
|
# /usr/local. Because of a bug in some waf python script, /usr/local
|
|
# is then used in many subsequent and unrelated checks, which
|
|
# ultimately causes a failure when BR2_COMPILER_PARANOID_UNSAFE_PATH
|
|
# is set. However no need to set libiconv as a dependency of
|
|
# libtalloc since it's optional.
|
|
LIBTALLOC_CONF_OPTS += --cross-compile \
|
|
--cross-answers=$(@D)/cache.txt \
|
|
--disable-stack-protector \
|
|
--hostcc=gcc \
|
|
--with-libiconv=$(STAGING_DIR)/usr
|
|
|
|
ifeq ($(BR2_PACKAGE_LIBTIRPC),y)
|
|
LIBTALLOC_CFLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags libtirpc`
|
|
LIBTALLOC_LDFLAGS += `$(PKG_CONFIG_HOST_BINARY) --libs libtirpc`
|
|
LIBTALLOC_DEPENDENCIES += libtirpc host-pkgconf
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_PYTHON3),y)
|
|
LIBTALLOC_DEPENDENCIES += host-python3 python3
|
|
LIBTALLOC_CONF_ENV += \
|
|
PYTHON="$(HOST_DIR)/bin/python3" \
|
|
PYTHON_CONFIG="$(STAGING_DIR)/usr/bin/python3-config"
|
|
# There isn't any --enable-python configuration option
|
|
else
|
|
LIBTALLOC_CONF_OPTS += --disable-python
|
|
endif
|
|
|
|
LIBTALLOC_WAF = ./buildtools/bin/waf
|
|
|
|
# like samba4, libtalloc uses the waf build system which requires a
|
|
# proper answers file to configure package before build
|
|
define LIBTALLOC_POPULATE_WAF_CACHE
|
|
$(INSTALL) -m 0644 package/libtalloc/libtalloc-cache.txt $(@D)/cache.txt
|
|
echo 'Checking uname machine type: $(BR2_ARCH)' >> $(@D)/cache.txt
|
|
endef
|
|
|
|
LIBTALLOC_PRE_CONFIGURE_HOOKS += LIBTALLOC_POPULATE_WAF_CACHE
|
|
|
|
$(eval $(waf-package))
|