From: "Sven Püschel" <s.pueschel@pengutronix.de>
To: ptxdist@pengutronix.de
Cc: "Sven Püschel" <s.pueschel@pengutronix.de>
Subject: [ptxdist] [PATCH] libtheora: fix arm-v5te and minimize patches
Date: Fri, 16 Oct 2026 22:34:43 +0200 [thread overview]
Message-ID: <20261016203456.579714-1-s.pueschel@pengutronix.de> (raw)
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 <s.pueschel@pengutronix.de>
---
...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 <r.schwebel@pengutronix.de>
-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 <r.schwebel@pengutronix.de>
----
- 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 <r.schwebel@pengutronix.de>
-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 <r.schwebel@pengutronix.de>
----
- 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 <r.schwebel@pengutronix.de>
-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 <r.schwebel@pengutronix.de>
----
- 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
reply other threads:[~2026-10-16 20:35 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261016203456.579714-1-s.pueschel@pengutronix.de \
--to=s.pueschel@pengutronix.de \
--cc=ptxdist@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox