[vlc-commits] [Git][videolan/vlc][master] 4 commits: contrib: mpg123: fix ARM build with llvm-mingw

Steve Lhomme (@robUx4) gitlab at videolan.org
Thu Jun 11 08:36:24 UTC 2026



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
eebf57f5 by Steve Lhomme at 2026-06-11T07:44:43+00:00
contrib: mpg123: fix ARM build with llvm-mingw

It's currently not detected as an ARM target but it is when built with CMake.

- - - - -
a0b60b7b by Steve Lhomme at 2026-06-11T07:44:43+00:00
contrib: mpeg123: update to 1.33.6

- - - - -
20ee77fe by Steve Lhomme at 2026-06-11T07:44:43+00:00
contrib: mpeg123: switch to CMake

- It automatically detects the CPU capabilities via CMake.
- The 64-bit off_t is automatically detected
- There is a proper option to disable programs and the output library
- The buffering code is unused when not using programs or libout123
- Modules are not used when not building libout123
- The network is OFF by default

- - - - -
e251f20b by Steve Lhomme at 2026-06-11T07:44:43+00:00
package/raspberry: enable mpg123

The CMake system should detect the CPU capabilities properly.
It was disabled in 40d29a11ac40c349184b85eb9b9882eef705495e.

- - - - -


4 changed files:

- contrib/src/mpg123/SHA512SUMS
- + contrib/src/mpg123/getcpuflags_arm.c.patch
- contrib/src/mpg123/rules.mak
- extras/package/raspberry/build.sh


Changes:

=====================================
contrib/src/mpg123/SHA512SUMS
=====================================
@@ -1 +1 @@
-509841e296dabf6039b5301e8160fcea37f13963d7bedf12082d2ce0d3bd14229fd906cb899eea2be9942fb994d9e1e4f00c757ca96f4ca7d5a14469cf13b91d  mpg123-1.33.3.tar.bz2
+83d8fca128b1fd39e336e6052837b16951360d6f1a47919e00d4b7285717ee7cd4dd56c24bd873316ba6969081fe619cda93ebb20771aed052c6e9d07657f2ab  mpg123-1.33.6.tar.bz2


=====================================
contrib/src/mpg123/getcpuflags_arm.c.patch
=====================================
@@ -0,0 +1,36 @@
+fix LLVM-mingw ARM build
+
+src/libmpg123/getcpuflags_arm.c:23:8: error: unknown type name 'sigjmp_buf'; did you mean 'jmp_buf'?
+   23 | static sigjmp_buf jmpbuf;
+      |        ^~~~~~~~~~
+      |        jmp_buf
+===================================================================
+--- orig/src/libmpg123/getcpuflags_arm.c	(revision 5569)
++++ new/src/libmpg123/getcpuflags_arm.c	(working copy)
+@@ -19,7 +19,7 @@
+ 
+ extern void INT123_check_neon(void);
+ 
+-#ifndef _M_ARM
++#if !defined(_M_ARM) && !defined(_WIN32)
+ static sigjmp_buf jmpbuf;
+ #else
+ static jmp_buf jmpbuf;
+@@ -27,7 +27,7 @@
+ 
+ static void mpg123_arm_catch_sigill(int sig)
+ {
+-#ifndef _M_ARM
++#if !defined(_M_ARM) && !defined(_WIN32)
+ 	siglongjmp(jmpbuf, 1);
+ #else
+ 	longjmp(jmpbuf, 1);
+@@ -36,7 +36,7 @@
+ 
+ unsigned int INT123_getcpuflags(struct cpuflags* cf)
+ {
+-#ifndef _M_ARM
++#if !defined(_M_ARM) && !defined(_WIN32)
+ 	struct sigaction act, act_old;
+ 	act.sa_handler = mpg123_arm_catch_sigill;
+ 	act.sa_flags = SA_RESTART;


=====================================
contrib/src/mpg123/rules.mak
=====================================
@@ -1,5 +1,5 @@
 # mpg123
-MPG123_VERSION := 1.33.3
+MPG123_VERSION := 1.33.6
 MPG123_URL := $(SF)/mpg123/mpg123/$(MPG123_VERSION)/mpg123-$(MPG123_VERSION).tar.bz2
 
 PKGS += mpg123
@@ -7,27 +7,7 @@ ifeq ($(call need_pkg,"libmpg123"),)
 PKGS_FOUND += mpg123
 endif
 
-# Same forced value as in VLC
-MPG123CONF := CFLAGS="$(CFLAGS) -D_FILE_OFFSET_BITS=64"
-
-MPG123CONF =
-MPG123CONF += --with-default-audio=dummy --enable-buffer=no --enable-modules=no --disable-network
-
-ifdef HAVE_ANDROID
-ifeq ($(ANDROID_ABI), armeabi-v7a)
-MPG123CONF += --with-cpu=arm_fpu
-else ifeq ($(ANDROID_ABI), arm64-v8a)
-MPG123CONF += --with-cpu=aarch64
-else
-MPG123CONF += --with-cpu=generic_fpu
-endif
-endif
-
-ifdef HAVE_VISUALSTUDIO
-ifeq ($(ARCH), x86_64)
-MPG123CONF += --with-cpu=generic_dither
-endif
-endif
+MPG123_CONF := -DBUILD_LIBOUT123=OFF -DBUILD_PROGRAMS=OFF
 
 $(TARBALLS)/mpg123-$(MPG123_VERSION).tar.bz2:
 	$(call download_pkg,$(MPG123_URL),mpg123)
@@ -36,15 +16,15 @@ $(TARBALLS)/mpg123-$(MPG123_VERSION).tar.bz2:
 
 mpg123: mpg123-$(MPG123_VERSION).tar.bz2 .sum-mpg123
 	$(UNPACK)
-	$(call update_autoconfig,build)
 	$(call pkg_static,"libmpg123.pc.in")
-	$(call pkg_static,"libout123.pc.in")
 	$(call pkg_static,"libsyn123.pc.in")
+	# fix llvm-mingw ARM build
+	$(APPLY) $(SRC)/mpg123/getcpuflags_arm.c.patch
 	$(MOVE)
 
-.mpg123: mpg123
-	$(MAKEBUILDDIR)
-	$(MAKECONFIGURE) $(MPG123CONF)
-	+$(MAKEBUILD) bin_PROGRAMS=
-	+$(MAKEBUILD) bin_PROGRAMS= install
+.mpg123: mpg123 toolchain.cmake
+	$(CMAKECLEAN)
+	$(HOSTVARS_CMAKE) $(CMAKE) -S $</ports/cmake $(MPG123_CONF)
+	+$(CMAKEBUILD)
+	$(CMAKEINSTALL)
 	touch $@


=====================================
extras/package/raspberry/build.sh
=====================================
@@ -110,7 +110,7 @@ info "Building contribs"
 mkdir -p contrib/contrib-$SHORTARCH && cd contrib/contrib-$SHORTARCH
 
 # issue with arm detection of the target (detects i686)
-CONTRIBFLAGS="$CONTRIBFLAGS --disable-x265 --disable-mpg123 --disable-xcb --disable-libaribcaption"
+CONTRIBFLAGS="$CONTRIBFLAGS --disable-x265 --disable-xcb --disable-libaribcaption"
 
 ${SCRIPT_PATH}/../../../contrib/bootstrap --host=$TRIPLET $CONTRIBFLAGS
 



View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/897455c3a6ca6a439a9192018d477b5f9a2bc146...e251f20b0f76ab1f9d0d20d612d2f29e65e05f10

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/897455c3a6ca6a439a9192018d477b5f9a2bc146...e251f20b0f76ab1f9d0d20d612d2f29e65e05f10
You're receiving this email because of your account on code.videolan.org. Manage all notifications: https://code.videolan.org/-/profile/notifications | Help: https://code.videolan.org/help




More information about the vlc-commits mailing list