summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
authorL. E. Segovia <amy@centricular.com>2024-03-20 09:25:50 -0300
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>2024-04-08 07:06:00 +0000
commit896d0e382ecd391fcd7430814ebf2c1a8228f7cf (patch)
treebd30dd84853cc9b416b230f06d10cada5d0144d8 /data
parent4a5c656d0095854ef63cbbc659977d55482ae2b2 (diff)
x264: Update to r3108, switch to meson-ports, and fix Android builds
Upstream no longer provides Mercurial-style snapshots. However, we already host a port which follows that convention. I turned it into a patch following the well known convention, > git switch stable > git diff stable..164.3108-meson | git apply > git add * > git commit -m "Add Meson build" > git format-patch -n HEAD~1 And since x264 is another library that shares bugs w.r.t. Android 32-bit linking, I ported the relevant linker flags to the Android.mk for GStreamer so that downstream users can get it fixed out of the box. See #215 Fixes #286 Part-of: <https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/1400>
Diffstat (limited to 'data')
-rw-r--r--data/ndk-build/gstreamer-1.0.mk31
1 files changed, 31 insertions, 0 deletions
diff --git a/data/ndk-build/gstreamer-1.0.mk b/data/ndk-build/gstreamer-1.0.mk
index 04539d5c..b0c58cdc 100644
--- a/data/ndk-build/gstreamer-1.0.mk
+++ b/data/ndk-build/gstreamer-1.0.mk
@@ -83,6 +83,37 @@ ifeq ($(GSTREAMER_INCLUDE_CA_CERTIFICATES),yes)
GSTREAMER_DEPS += gio-2.0
endif
+NEEDS_NOTEXT_FIX := no
+NEEDS_BSYMBOLIC_FIX := no
+ifeq ($(TARGET_ARCH_ABI),armeabi)
+NEEDS_NOTEXT_FIX := yes
+NEEDS_BSYMBOLIC_FIX := yes
+else ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
+NEEDS_NOTEXT_FIX := yes
+NEEDS_BSYMBOLIC_FIX := yes
+else ifeq ($(TARGET_ARCH_ABI),x86)
+NEEDS_NOTEXT_FIX := yes
+NEEDS_BSYMBOLIC_FIX := yes
+else ifeq ($(TARGET_ARCH_ABI),x86_64)
+NEEDS_BSYMBOLIC_FIX := yes
+endif
+
+# Text relocations are required for all 32-bit objects. We
+# must disable the warning to allow linking with lld. Unlike gold, ld which
+# will silently allow text relocations, lld support must be explicit.
+#
+# See https://crbug.com/911658#c19 for more information. See also
+# https://trac.ffmpeg.org/ticket/7878
+ifeq ($(NEEDS_NOTEXT_FIX),yes)
+GSTREAMER_LD := $(GSTREAMER_LD) -Wl,-z,notext
+endif
+
+# resolve textrels in the x86 asm
+ifeq ($(NEEDS_BSYMBOLIC_FIX),yes)
+GSTREAMER_LD := $(GSTREAMER_LD) -Wl,-Bsymbolic
+endif
+
+
################################
# NDK Build Prebuilt library #
################################