From patchwork Tue Dec 16 13:36:00 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ross Burton X-Patchwork-Id: 76741 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id DD178D5E370 for ; Tue, 16 Dec 2025 13:36:15 +0000 (UTC) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.22570.1765892172910989327 for ; Tue, 16 Dec 2025 05:36:13 -0800 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: arm.com, ip: 217.140.110.172, mailfrom: ross.burton@arm.com) Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 64212FEC for ; Tue, 16 Dec 2025 05:36:05 -0800 (PST) Received: from cesw-amp-gbt-1s-m12830-04.lab.cambridge.arm.com (usa-sjc-imap-foss1.foss.arm.com [10.121.207.14]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 333E33F73B for ; Tue, 16 Dec 2025 05:36:12 -0800 (PST) From: Ross Burton To: openembedded-core@lists.openembedded.org Subject: [PATCH 7/7] freetype: use meson instead of autotools Date: Tue, 16 Dec 2025 13:36:00 +0000 Message-ID: <20251216133603.1003572-7-ross.burton@arm.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20251216133603.1003572-1-ross.burton@arm.com> References: <20251216133603.1003572-1-ross.burton@arm.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 16 Dec 2025 13:36:15 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/227953 Port the options to Meson, and drop all of the autoconf tweaking. Enable Harfbuzz support using dynamic loading by default. If Harfbuzz is present at runtime then FreeType will use it for improved hinting. Do not RDEPENDS on harfbuzz so that it's only used if already present in the rendering stack. Signed-off-by: Ross Burton --- .../freetype/freetype_2.14.1.bb | 25 ++++++------------- 1 file changed, 7 insertions(+), 18 deletions(-) diff --git a/meta/recipes-graphics/freetype/freetype_2.14.1.bb b/meta/recipes-graphics/freetype/freetype_2.14.1.bb index 97344c4c5ee..dc59e5656b5 100644 --- a/meta/recipes-graphics/freetype/freetype_2.14.1.bb +++ b/meta/recipes-graphics/freetype/freetype_2.14.1.bb @@ -18,26 +18,15 @@ SRC_URI[sha256sum] = "32427e8c471ac095853212a37aef816c60b42052d4d9e48230bab3bdf2 UPSTREAM_CHECK_REGEX = "freetype-(?P\d+(\.\d+)+)" -inherit autotools pkgconfig multilib_header +inherit meson pkgconfig multilib_header -# Adapt autotools to work with the minimal autoconf usage in freetype -AUTOTOOLS_SCRIPT_PATH = "${S}/builds/unix" -CONFIGURE_SCRIPT = "${S}/configure" -EXTRA_AUTORECONF += "--exclude=autoheader --exclude=automake -I ." +PACKAGECONFIG ??= "harfbuzz pixmap zlib" -PACKAGECONFIG ??= "zlib pixmap" - -PACKAGECONFIG[brotli] = "--with-brotli,--without-brotli,brotli" -PACKAGECONFIG[bzip2] = "--with-bzip2,--without-bzip2,bzip2" -# harfbuzz results in a circular dependency so enabling is non-trivial -PACKAGECONFIG[harfbuzz] = "--with-harfbuzz,--without-harfbuzz,harfbuzz" -PACKAGECONFIG[pixmap] = "--with-png,--without-png,libpng" -PACKAGECONFIG[zlib] = "--with-zlib,--without-zlib,zlib" -PACKAGECONFIG[freetypeconfig] = "--enable-freetype-config=yes,--enable-freetype-config=no," - -EXTRA_OECONF = "CC_BUILD='${BUILD_CC}'" - -TARGET_CPPFLAGS += "-D_FILE_OFFSET_BITS=64" +PACKAGECONFIG[brotli] = "-Dbrotli=enabled,-Dbrotli=disabled,brotli" +PACKAGECONFIG[bzip2] = "-Dbzip2=enabled,-Dbzip2=disabled,bzip2" +PACKAGECONFIG[harfbuzz] = "-Dharfbuzz=dynamic,-Dharfbuzz=disabled" +PACKAGECONFIG[pixmap] = "-Dpng=enabled,-Dpng=disabled,libpng" +PACKAGECONFIG[zlib] = "-Dzlib=system,-Dzlib=disabled,zlib" do_install:append() { oe_multilib_header freetype2/freetype/config/ftconfig.h