From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Fri, 16 Oct 2026 22:35:14 +0200 Received: from metis.whiteo.stw.pengutronix.de ([2a0a:edc0:2:b01:1d::104]) by lore.white.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1xHoe2-00EVME-2f for lore@lore.pengutronix.de; Fri, 16 Oct 2026 22:35:14 +0200 Received: from [127.0.0.1] (helo=metis.whiteo.stw.pengutronix.de) by metis.whiteo.stw.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1xHoe2-0001Ra-12; Fri, 16 Oct 2026 22:35:14 +0200 Received: from dude04.red.stw.pengutronix.de ([2a0a:edc0:0:1101:1d::ac]) by metis.whiteo.stw.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1xHodl-0001RK-CH; Fri, 16 Oct 2026 22:34:57 +0200 From: =?UTF-8?q?Sven=20P=C3=BCschel?= To: ptxdist@pengutronix.de Date: Fri, 16 Oct 2026 22:34:43 +0200 Message-ID: <20261016203456.579714-1-s.pueschel@pengutronix.de> X-Mailer: git-send-email 2.47.3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [ptxdist] [PATCH] libtheora: fix arm-v5te and minimize patches X-BeenThere: ptxdist@pengutronix.de X-Mailman-Version: 2.1.29 Precedence: list List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: ptxdist@pengutronix.de Cc: =?UTF-8?q?Sven=20P=C3=BCschel?= Sender: "ptxdist" X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: ptxdist-bounces@pengutronix.de X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false With the 1.2.0 update libtheora wasn't able to build on arm-v5te, as it'd try to build invalid assembly (probably intended for newer arm platforms). Therefore only enable asm when we have arm v7 or newer (latter doesn't use ARCH_ARM). Also drop the configure.ac patches. They added options to explicitly avoid searching for dependencies using pkg-config. As PTXDist nowadays already blocks pkg-config checks for libraries (if it's not selected by the given rule file), we don't need them anymore. When libtheora isn't successful using pkg-config it will fall back to use dedicated m4 functions (e.g. XIPH_PATH_OGG). These allow to explicitly disable the dependency using --without. Therefore just define these flags to avoid implicitly linking against the libraries if PTXDist denies the pkg-config check. Signed-off-by: Sven Püschel --- ...1-lib-arm-add-missing-tarball-files.patch} | 0 ...nfigure.ac-to-work-with-cross-scenar.patch | 69 ---------------- ...nfigure.ac-to-work-with-cross-scenar.patch | 58 ------------- ...nfigure.ac-to-work-with-cross-scenar.patch | 82 ------------------- patches/libtheora-1.2.0/autogen.sh | 19 ----- patches/libtheora-1.2.0/series | 7 +- rules/libtheora.make | 15 +++- 7 files changed, 13 insertions(+), 237 deletions(-) rename patches/libtheora-1.2.0/{0004-lib-arm-add-missing-tarball-files.patch => 0001-lib-arm-add-missing-tarball-files.patch} (100%) delete mode 100644 patches/libtheora-1.2.0/0001-libtheora-fix-configure.ac-to-work-with-cross-scenar.patch delete mode 100644 patches/libtheora-1.2.0/0002-libtheora-fix-configure.ac-to-work-with-cross-scenar.patch delete mode 100644 patches/libtheora-1.2.0/0003-libtheora-fix-configure.ac-to-work-with-cross-scenar.patch delete mode 100755 patches/libtheora-1.2.0/autogen.sh diff --git a/patches/libtheora-1.2.0/0004-lib-arm-add-missing-tarball-files.patch b/patches/libtheora-1.2.0/0001-lib-arm-add-missing-tarball-files.patch similarity index 100% rename from patches/libtheora-1.2.0/0004-lib-arm-add-missing-tarball-files.patch rename to patches/libtheora-1.2.0/0001-lib-arm-add-missing-tarball-files.patch diff --git a/patches/libtheora-1.2.0/0001-libtheora-fix-configure.ac-to-work-with-cross-scenar.patch b/patches/libtheora-1.2.0/0001-libtheora-fix-configure.ac-to-work-with-cross-scenar.patch deleted file mode 100644 index f792f3ca4..000000000 --- a/patches/libtheora-1.2.0/0001-libtheora-fix-configure.ac-to-work-with-cross-scenar.patch +++ /dev/null @@ -1,69 +0,0 @@ -From: Robert Schwebel -Date: Wed, 23 Sep 2026 15:39:17 +0200 -Subject: [PATCH] libtheora: fix configure.ac to work with cross scenario for - libvorbis - -This is https://trac.xiph.org/ticket/1465 - -The current test in configure.ac mixes up two different methods (hand -written plus pkg-config). This patch changes the mechanics towards -proper pkg-config usage. In return, we get a cleaned up cross scenario -with no build-system leakage. - -This patch fixes the vorbis test. - -Signed-off-by: Robert Schwebel ---- - configure.ac | 39 ++++++++++++++++++++++----------------- - 1 file changed, 22 insertions(+), 17 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 3d2a413a1d18..234acd501685 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -442,23 +442,28 @@ fi - - - dnl check for Vorbis --HAVE_VORBIS=no -- --dnl first check through pkg-config since it's more flexible -- --if test "x$HAVE_PKG_CONFIG" = "xyes" --then -- PKG_CHECK_MODULES(VORBIS, vorbis >= 1.0.1, HAVE_VORBIS=yes, HAVE_VORBIS=no) -- dnl also set VORBISENC_LIBS since an examples needs it -- dnl the old .m4 sets this to a value to use on top of VORBIS_LIBS, -- dnl so we do the same here. -- VORBISENC_LIBS="-lvorbisenc" -- AC_SUBST(VORBISENC_LIBS) --fi --if test "x$HAVE_VORBIS" = "xno" --then -- dnl fall back to the old school test -- XIPH_PATH_VORBIS(HAVE_VORBIS=yes, HAVE_VORBIS=no) -+AC_MSG_CHECKING([for vorbis]) -+AC_ARG_ENABLE(vorbis, -+ AS_HELP_STRING([--enable-vorbis], [enable vorbis @<:@default=yes@:>@]), -+ [case "$enableval" in -+ y | yes) HAVE_VORBIS=yes ;; -+ *) HAVE_VORBIS=no ;; -+ esac], -+ [HAVE_VORBIS=yes]) -+AC_MSG_RESULT([${HAVE_VORBIS}]) -+AM_CONDITIONAL(HAVE_VORBIS, [test "$HAVE_VORBIS" = "yes"]) -+if test "${HAVE_VORBIS}" = "yes"; then -+ AC_DEFINE(HAVE_VORBIS, 1, [vorbis]) -+ -+ REQUIRES_VORBIS="vorbis >= 1.0.1" -+ AC_SUBST(REQUIRES_VORBIS) -+ PKG_CHECK_MODULES([VORBIS], -+ [${REQUIRES_VORBIS}], -+ [], -+ [AC_MSG_ERROR([*** ${REQUIRES_VORBIS} not found by pkg-config on your system])] -+ ) -+ AC_SUBST(VORBIS_CFLAGS) -+ AC_SUBST(VORBIS_LIBS) - fi - - dnl check for SDL diff --git a/patches/libtheora-1.2.0/0002-libtheora-fix-configure.ac-to-work-with-cross-scenar.patch b/patches/libtheora-1.2.0/0002-libtheora-fix-configure.ac-to-work-with-cross-scenar.patch deleted file mode 100644 index cccd92dae..000000000 --- a/patches/libtheora-1.2.0/0002-libtheora-fix-configure.ac-to-work-with-cross-scenar.patch +++ /dev/null @@ -1,58 +0,0 @@ -From: Robert Schwebel -Date: Wed, 23 Sep 2026 16:36:40 +0200 -Subject: [PATCH] libtheora: fix configure.ac to work with cross scenario for - sdl - -This is https://trac.xiph.org/ticket/1466 - -The current test in configure.ac mixes up two different methods (hand -written plus pkg-config). This patch changes the mechanics towards -proper pkg-config usage. In return, we get a cleaned up cross scenario -with no build-system leakage. - -This patch fixes the SDL test. - -Signed-off-by: Robert Schwebel ---- - configure.ac | 28 ++++++++++++++++++++++------ - 1 file changed, 22 insertions(+), 6 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 234acd501685..8a4faa7d344f 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -467,12 +467,28 @@ if test "${HAVE_VORBIS}" = "yes"; then - fi - - dnl check for SDL --HAVE_SDL=no --if test "x$HAVE_PKG_CONFIG" = "xyes" --then -- PKG_CHECK_MODULES(SDL, sdl, HAVE_SDL=yes, [ -- HAVE_SDL=no -- AC_MSG_WARN([*** Unable to find SDL -- Not compiling example players ***])]) -+AC_MSG_CHECKING([for sdl]) -+AC_ARG_ENABLE(sdl, -+ AS_HELP_STRING([--enable-sdl], [enable SDL @<:@default=yes@:>@]), -+ [case "$enableval" in -+ y | yes) HAVE_SDL=yes ;; -+ *) HAVE_SDL=no ;; -+ esac], -+ [HAVE_SDL=yes]) -+AC_MSG_RESULT([${HAVE_SDL}]) -+AM_CONDITIONAL(HAVE_SDL, [test "$HAVE_SDL" = "yes"]) -+if test "${HAVE_SDL}" = "yes"; then -+ AC_DEFINE(HAVE_SDL, 1, [sdl]) -+ -+ REQUIRES_SDL="sdl >= 1.2.13" -+ AC_SUBST(REQUIRES_SDL) -+ PKG_CHECK_MODULES([SDL], -+ [${REQUIRES_SDL}], -+ [], -+ [AC_MSG_ERROR([*** ${REQUIRES_SDL} not found by pkg-config on your system])] -+ ) -+ AC_SUBST(SDL_CFLAGS) -+ AC_SUBST(SDL_LIBS) - fi - - dnl check for OSS diff --git a/patches/libtheora-1.2.0/0003-libtheora-fix-configure.ac-to-work-with-cross-scenar.patch b/patches/libtheora-1.2.0/0003-libtheora-fix-configure.ac-to-work-with-cross-scenar.patch deleted file mode 100644 index 709702491..000000000 --- a/patches/libtheora-1.2.0/0003-libtheora-fix-configure.ac-to-work-with-cross-scenar.patch +++ /dev/null @@ -1,82 +0,0 @@ -From: Robert Schwebel -Date: Wed, 23 Sep 2026 17:03:33 +0200 -Subject: [PATCH] libtheora: fix configure.ac to work with cross scenario for - ogg - -This is https://trac.xiph.org/ticket/1467 - -The current test in configure.ac mixes up two different methods (hand -written plus pkg-config). This patch changes the mechanics towards -proper pkg-config usage. In return, we get a cleaned up cross scenario -with no build-system leakage. - -This patch fixes the libogg test. - -Signed-off-by: Robert Schwebel ---- - configure.ac | 52 ++++++++++++++++++++++------------------------------ - 1 file changed, 22 insertions(+), 30 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 8a4faa7d344f..b17cafe75b92 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -408,36 +408,28 @@ dnl Checks for support libraries and headers - dnl -------------------------------------------------- - - dnl check for Ogg --HAVE_OGG=no -- --dnl first check through pkg-config since it's more flexible -- --dnl check for pkg-config itself so we don't try the m4 macro without pkg-config --AC_CHECK_PROG(HAVE_PKG_CONFIG, pkg-config, yes) -- --THEORA_LIBOGG_REQ_VERSION=1.3.4 --AC_SUBST(THEORA_LIBOGG_REQ_VERSION) --if test "x$HAVE_PKG_CONFIG" = "xyes" --then -- PKG_CHECK_MODULES(OGG, ogg >= $THEORA_LIBOGG_REQ_VERSION, HAVE_OGG=yes, HAVE_OGG=no) --fi --if test "x$HAVE_OGG" = "xno" --then -- dnl fall back to the old school test -- XIPH_PATH_OGG(, AC_MSG_ERROR([ -- libogg is required to build this package! -- please see https://www.xiph.org/ for how to -- obtain a copy. -- ])) -- cflags_save=$CFLAGS -- libs_save=$LIBS -- CFLAGS="$CFLAGS $OGG_CFLAGS" -- LIBS="$LIBS $OGG_LIBS" -- AC_CHECK_FUNC(oggpackB_read, , [ -- AC_MSG_ERROR([newer libogg version ($THEORA_LIBOGG_REQ_VERSION or later) required]) -- ]) -- CFLAGS=$cflags_save -- LIBS=$libs_save -+AC_MSG_CHECKING([for ogg]) -+AC_ARG_ENABLE(ogg, -+ AS_HELP_STRING([--enable-ogg], [enable ogg @<:@default=yes@:>@]), -+ [case "$enableval" in -+ y | yes) HAVE_OGG=yes ;; -+ *) HAVE_OGG=no ;; -+ esac], -+ [HAVE_OGG=yes]) -+AC_MSG_RESULT([${HAVE_OGG}]) -+AM_CONDITIONAL(HAVE_OGG, [test "$HAVE_OGG" = "yes"]) -+if test "${HAVE_OGG}" = "yes"; then -+ AC_DEFINE(HAVE_OGG, 1, [ogg]) -+ -+ REQUIRES_OGG="ogg >= 1.3.4" -+ AC_SUBST(REQUIRES_OGG) -+ PKG_CHECK_MODULES([OGG], -+ [${REQUIRES_OGG}], -+ [], -+ [AC_MSG_ERROR([*** ${REQUIRES_OGG} not found by pkg-config on your system])] -+ ) -+ AC_SUBST(OGG_CFLAGS) -+ AC_SUBST(OGG_LIBS) - fi - - diff --git a/patches/libtheora-1.2.0/autogen.sh b/patches/libtheora-1.2.0/autogen.sh deleted file mode 100755 index e0a6f14ab..000000000 --- a/patches/libtheora-1.2.0/autogen.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh - -./autogen.sh --help - - -echo "Generating configuration files for $package, please wait...." - -echo " aclocal -I m4" -aclocal -I m4 || exit 1 -echo " libtoolize --automake --force" -libtoolize --automake --force || exit 1 -echo " autoheader" -autoheader || exit 1 -echo " automake --add-missing" -automake --add-missing || exit 1 -echo " autoconf" -autoconf || exit 1 - - diff --git a/patches/libtheora-1.2.0/series b/patches/libtheora-1.2.0/series index 2864ad964..f5168b66c 100644 --- a/patches/libtheora-1.2.0/series +++ b/patches/libtheora-1.2.0/series @@ -1,7 +1,4 @@ # generated by git-ptx-patches #tag:base --start-number 1 -0001-libtheora-fix-configure.ac-to-work-with-cross-scenar.patch -0002-libtheora-fix-configure.ac-to-work-with-cross-scenar.patch -0003-libtheora-fix-configure.ac-to-work-with-cross-scenar.patch -0004-lib-arm-add-missing-tarball-files.patch -# da7149603677e486d1c23cca709e10a7 - git-ptx-patches magic +0001-lib-arm-add-missing-tarball-files.patch +# ba01f306cba847c1727aed15adb5be33 - git-ptx-patches magic diff --git a/rules/libtheora.make b/rules/libtheora.make index a7031dafa..5bd3615be 100644 --- a/rules/libtheora.make +++ b/rules/libtheora.make @@ -38,6 +38,14 @@ LIBTHEORA_CONF_ENV := \ ac_cv_prog_HAVE_BIBTEX=no \ ac_cv_prog_HAVE_TRANSFIG=no +# Avoid potential compilation errors for old ARM targets +LIBTHEORA_ASM_FLAG := --enable-asm +ifdef PTXCONF_ARCH_ARM +ifndef PTXCONF_ARCH_ARM_V7 +LIBTHEORA_ASM_FLAG := --disable-asm +endif +endif + # # autoconf # @@ -48,11 +56,10 @@ LIBTHEORA_CONF_OPT := \ --disable-spec \ --disable-valgrind-testing \ --disable-gcc-sanitizers \ - --enable-asm \ + $(LIBTHEORA_ASM_FLAG) \ --enable-asflag-probe \ - --enable-ogg \ - --$(call ptx/endis, PTXCONF_LIBTHEORA_VORBIS)-vorbis \ - --disable-sdl \ + --with-ogg \ + --$(call ptx/wwo, PTXCONF_LIBTHEORA_VORBIS)-vorbis \ --disable-telemetry \ --disable-mem-constraint \ --$(call ptx/endis, PTXCONF_LIBTHEORA_ENCODING)-encode \ -- 2.47.3