Files
buildroot/package/libmpeg2/libmpeg2.mk
Shubham Chakraborty 7f43f54232 package/libmpeg2: fix build with C23 compilers
libmpeg2 contains code using K&R-style empty parameter list
declarations, which no longer builds with C23 compilers.

This causes issues with:

- GCC >= 15.x, which defaults to C23

- GCC 14.x, since the bump of autoconf to 2.73 in commit
  a6e8c07a33, as it causes -std=c23 to
  be added in the CFLAGS by the autoconf machinery. This doesn't
  happen with GCC 13.

Fixes:

  http://autobuild.buildroot.net/results/53daf0b4bd8b476252ca219e53a966405ece7e51

Signed-off-by: Shubham Chakraborty <chakrabortyshubham66@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
(cherry picked from commit 8f472d08d8)
Signed-off-by: Raphaël Mélotte <raphael.melotte@mind.be>
2026-09-23 18:36:02 +02:00

43 lines
1.3 KiB
Makefile

################################################################################
#
# libmpeg2
#
################################################################################
LIBMPEG2_VERSION = 0.5.1
# Gitlab repository does not have a 0.5.1 git tag,
# use the corresponding commit sha instead
LIBMPEG2_VERSION_SHA = 41f78cf4d30d0da0a24c8ecbc38b0c9dfd43f871
LIBMPEG2_SOURCE = libmpeg2-v$(LIBMPEG2_VERSION_SHA).tar.gz
LIBMPEG2_SITE = https://code.videolan.org/videolan/libmpeg2/-/archive/$(LIBMPEG2_VERSION_SHA)
LIBMPEG2_LICENSE = GPL-2.0+
LIBMPEG2_LICENSE_FILES = COPYING
LIBMPEG2_INSTALL_STAGING = YES
LIBMPEG2_AUTORECONF = YES
LIBMPEG2_CONF_OPTS = --without-x --disable-directx
# Compilers using C23 no longer allows K&R style function
# declarations, so force to use gnu89 standard.
LIBMPEG2_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -std=gnu89"
LIBMPEG2_CPE_ID_VENDOR = videolan
ifeq ($(BR2_PACKAGE_SDL),y)
LIBMPEG2_CONF_ENV += ac_cv_prog_SDLCONFIG=$(STAGING_DIR)/usr/bin/sdl-config
LIBMPEG2_CONF_OPTS += --enable-sdl
LIBMPEG2_DEPENDENCIES += sdl
else
LIBMPEG2_CONF_OPTS += --disable-sdl
endif
ifneq ($(BR2_PACKAGE_LIBMPEG2_BINS),y)
define LIBMPEG2_REMOVE_BINS
rm -f $(addprefix $(TARGET_DIR)/usr/bin/,\
mpeg2dec corrupt_mpeg2 extract_mpeg2)
endef
LIBMPEG2_POST_INSTALL_TARGET_HOOKS += LIBMPEG2_REMOVE_BINS
endif
$(eval $(autotools-package))