6454358fe1
Header-only option raises the following build failure with gerbera since commitcc3a4a7b1d
: /home/thomas/autobuild/instance-2/output-1/host/lib/gcc/nios2-buildroot-linux-gnu/10.4.0/../../../../nios2-buildroot-linux-gnu/bin/ld: CMakeFiles/gerbera.dir/src/main.cc.o: in function `ConfigGenerator::~ConfigGenerator()': /home/thomas/autobuild/instance-2/output-1/build/gerbera-1.10.0/src/config/config_generator.h:33: undefined reference to `pugi::xml_document::~xml_document()' This build failure can't be fixed by adding a !BR2_PACKAGE_PUGIXML_HEADER_ONLY dependency as it will create the following recursive dependency: package/gerbera/Config.in:1:error: recursive dependency detected! package/gerbera/Config.in:1: symbol BR2_PACKAGE_GERBERA depends on BR2_PACKAGE_PUGIXML_HEADER_ONLY package/pugixml/Config.in:42: symbol BR2_PACKAGE_PUGIXML_HEADER_ONLY depends on BR2_PACKAGE_PUGIXML package/pugixml/Config.in:1: symbol BR2_PACKAGE_PUGIXML is selected by BR2_PACKAGE_GERBERA Moreover, commit48b2e50eb8
stated that "Compact and header-only modes are not strictly needed for our use case, but we did the work anyway and may be useful for someone else." So dropping header-only seems to be the right approach Fixes: - http://autobuild.buildroot.org/results/800537a1ef5f48d24c20aad7a9c96c56dfdc77f5 Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
42 lines
1.3 KiB
Makefile
42 lines
1.3 KiB
Makefile
################################################################################
|
|
#
|
|
# pugixml
|
|
#
|
|
################################################################################
|
|
|
|
PUGIXML_VERSION = 1.13
|
|
PUGIXML_SITE = https://github.com/zeux/pugixml/releases/download/v$(PUGIXML_VERSION)
|
|
PUGIXML_LICENSE = MIT
|
|
PUGIXML_LICENSE_FILES = LICENSE.md
|
|
PUGIXML_CPE_ID_VENDOR = pugixml_project
|
|
|
|
PUGIXML_INSTALL_STAGING = YES
|
|
|
|
ifeq ($(BR2_PACKAGE_PUGIXML_XPATH_SUPPORT),y)
|
|
PUGIXML_CONF_OPTS += -DPUGIXML_NO_XPATH=OFF
|
|
else
|
|
PUGIXML_CONF_OPTS += -DPUGIXML_NO_XPATH=ON
|
|
endif
|
|
|
|
ifeq ($(BR2_PACKAGE_PUGIXML_COMPACT),y)
|
|
PUGIXML_CONF_OPTS += -DPUGIXML_COMPACT=ON
|
|
else
|
|
PUGIXML_CONF_OPTS += -DPUGIXML_COMPACT=OFF
|
|
endif
|
|
|
|
# Pugixml will automatically enable 'long long' support on C++11 compilers,
|
|
# which means gcc 4.8+. As gcc always supports the 'long long' type,
|
|
# force-enable this option to support older gcc versions. See also:
|
|
# https://gcc.gnu.org/onlinedocs/gcc/Long-Long.html
|
|
PUGIXML_BUILD_DEFINES += PUGIXML_HAS_LONG_LONG
|
|
HOST_PUGIXML_BUILD_DEFINES += PUGIXML_HAS_LONG_LONG
|
|
|
|
PUGIXML_CONF_OPTS += -DPUGIXML_BUILD_DEFINES="$(subst $(space),;,$(PUGIXML_BUILD_DEFINES))"
|
|
|
|
HOST_PUGIXML_CONF_OPTS += \
|
|
-DBUILD_PKGCONFIG=ON \
|
|
-DPUGIXML_BUILD_DEFINES="$(subst $(space),;,$(HOST_PUGIXML_BUILD_DEFINES))"
|
|
|
|
$(eval $(cmake-package))
|
|
$(eval $(host-cmake-package))
|