kumquat-buildroot/package/harfbuzz/harfbuzz.mk
Fabrice Fontaine 6454eacf10 package/harfbuzz: fix build without threads
Fix the following build failures without threads by defining HB_NO_MT as
specified in https://github.com/harfbuzz/harfbuzz/blob/main/CONFIG.md:

In file included from ../src/hb.hh:458,
                 from ../src/hb-blob.cc:28:
../src/hb-mutex.hh:88:2: error: #error "Could not find any system to define mutex macros."
   88 | #error "Could not find any system to define mutex macros."
      |  ^~~~~

This build failure is raised since bump to version 2.8.1 in commit
e9ba1c80e8 and
711c241f6c
which removed busyloop mutex implementation.

Fixes:
 - http://autobuild.buildroot.org/results/0c03aca5e3ade735b54b0b9233896b868aec1520

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-08-17 09:40:45 +02:00

99 lines
2.3 KiB
Makefile

################################################################################
#
# harfbuzz
#
################################################################################
HARFBUZZ_VERSION = 2.8.2
HARFBUZZ_SITE = https://github.com/harfbuzz/harfbuzz/releases/download/$(HARFBUZZ_VERSION)
HARFBUZZ_SOURCE = harfbuzz-$(HARFBUZZ_VERSION).tar.xz
HARFBUZZ_LICENSE = MIT, ISC (ucdn library)
HARFBUZZ_LICENSE_FILES = COPYING
HARFBUZZ_CPE_ID_VENDOR = harfbuzz_project
HARFBUZZ_INSTALL_STAGING = YES
HARFBUZZ_CONF_OPTS = \
-Dgdi=disabled \
-Ddirectwrite=disabled \
-Dcoretext=disabled \
-Dtests=disabled \
-Ddocs=disabled \
-Dbenchmark=disabled \
-Dicu_builtin=false \
-Dexperimental_api=false \
-Dfuzzer_ldflags=""
# freetype & glib2 support required by host-pango
HOST_HARFBUZZ_DEPENDENCIES = \
host-freetype \
host-libglib2
HOST_HARFBUZZ_CONF_OPTS = \
-Dglib=enabled \
-Dgobject=disabled \
-Dcairo=disabled \
-Dicu=disabled \
-Dgraphite=disabled \
-Dfreetype=enabled \
-Dgdi=disabled \
-Ddirectwrite=disabled \
-Dcoretext=disabled \
-Dtests=disabled \
-Dintrospection=disabled \
-Ddocs=disabled \
-Dbenchmark=disabled \
-Dicu_builtin=false \
-Dexperimental_api=false \
-Dfuzzer_ldflags=""
ifeq ($(BR2_PACKAGE_CAIRO),y)
HARFBUZZ_DEPENDENCIES += cairo
HARFBUZZ_CONF_OPTS += -Dcairo=enabled
else
HARFBUZZ_CONF_OPTS += -Dcairo=disabled
endif
ifeq ($(BR2_PACKAGE_FREETYPE),y)
HARFBUZZ_DEPENDENCIES += freetype
HARFBUZZ_CONF_OPTS += -Dfreetype=enabled
else
HARFBUZZ_CONF_OPTS += -Dfreetype=disabled
endif
ifeq ($(BR2_PACKAGE_GOBJECT_INTROSPECTION),y)
HARFBUZZ_DEPENDENCIES += gobject-introspection
HARFBUZZ_CONF_OPTS += \
-Dgobject=enabled \
-Dintrospection=enabled
else
HARFBUZZ_CONF_OPTS += \
-Dgobject=disabled \
-Dintrospection=disabled
endif
ifeq ($(BR2_PACKAGE_GRAPHITE2),y)
HARFBUZZ_DEPENDENCIES += graphite2
HARFBUZZ_CONF_OPTS += -Dgraphite=enabled
else
HARFBUZZ_CONF_OPTS += -Dgraphite=disabled
endif
ifeq ($(BR2_PACKAGE_LIBGLIB2),y)
HARFBUZZ_DEPENDENCIES += libglib2
HARFBUZZ_CONF_OPTS += -Dglib=enabled
else
HARFBUZZ_CONF_OPTS += -Dglib=disabled
endif
ifeq ($(BR2_PACKAGE_ICU),y)
HARFBUZZ_DEPENDENCIES += icu
HARFBUZZ_CONF_OPTS += -Dicu=enabled
else
HARFBUZZ_CONF_OPTS += -Dicu=disabled
endif
ifeq ($(BR2_TOOLCHAIN_HAS_THREADS),)
HARFBUZZ_CXXFLAGS += $(TARGET_CXXFLAGS) -DHB_NO_MT
endif
$(eval $(meson-package))
$(eval $(host-meson-package))