From 70b905ae30b7e6d9bbe02e871565f8b3d72b5668 Mon Sep 17 00:00:00 2001 From: Le Philousophe Date: Thu, 5 Sep 2024 17:58:43 +0000 Subject: [PATCH] ALL: Add libmpcdec dependency --- toolchains/amigaos4/Dockerfile.m4 | 2 ++ .../amigaos4/packages/libmpcdec/build.sh | 16 ++++++++++++++ toolchains/caanoo/Dockerfile.m4 | 3 +++ toolchains/common/packages/libmpcdec/build.sh | 21 +++++++++++++++++++ toolchains/devkit3ds/Dockerfile.m4 | 2 ++ toolchains/devkitppc/Dockerfile.m4 | 2 ++ toolchains/devkitswitch/Dockerfile.m4 | 2 ++ toolchains/m4/android/packages_list.m4 | 2 ++ toolchains/m4/apple/macosx.m4 | 2 ++ toolchains/m4/apple/xos.m4 | 2 ++ toolchains/miyoo/Dockerfile.m4 | 2 ++ toolchains/mxe/Dockerfile.m4 | 3 +++ .../libmpcdec/libmpcdec-9999-build_fix.patch | 15 +++++++++++++ toolchains/mxe/packages/libmpcdec/patch.mk | 7 +++++++ toolchains/opendingux-beta/Dockerfile.m4 | 2 ++ toolchains/opendingux/Dockerfile.m4 | 3 +++ toolchains/openpandora/Dockerfile.m4 | 3 +++ toolchains/raspberrypi/Dockerfile.m4 | 1 + toolchains/riscos/Dockerfile.m4 | 2 ++ toolchains/vita/Dockerfile.m4 | 2 ++ toolchains/windows-9x/Dockerfile.m4 | 2 ++ workers/m4/debian-libraries.m4 | 1 + 22 files changed, 97 insertions(+) create mode 100755 toolchains/amigaos4/packages/libmpcdec/build.sh create mode 100755 toolchains/common/packages/libmpcdec/build.sh create mode 100644 toolchains/mxe/packages/libmpcdec/libmpcdec-9999-build_fix.patch create mode 100644 toolchains/mxe/packages/libmpcdec/patch.mk diff --git a/toolchains/amigaos4/Dockerfile.m4 b/toolchains/amigaos4/Dockerfile.m4 index 9bd536d..4c5c9ee 100644 --- a/toolchains/amigaos4/Dockerfile.m4 +++ b/toolchains/amigaos4/Dockerfile.m4 @@ -73,6 +73,8 @@ local_package(libmpeg2) local_package(liba52) +local_package(libmpcdec) + local_package(libvpx) local_package(libopenssl) diff --git a/toolchains/amigaos4/packages/libmpcdec/build.sh b/toolchains/amigaos4/packages/libmpcdec/build.sh new file mode 100755 index 0000000..724d628 --- /dev/null +++ b/toolchains/amigaos4/packages/libmpcdec/build.sh @@ -0,0 +1,16 @@ +#! /bin/sh + +PACKAGE_DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd) +HELPERS_DIR=$PACKAGE_DIR/../.. +. $HELPERS_DIR/functions.sh + +do_make_bdir + +do_lha_fetch audio/libmpcdec "libmpcdec*/" + +do_lha_install + +# libmpcdec.a is located in common folder where it should not and it has a bad casing, fix this +cp local/common/lib/libMPCdec.a $DESTDIR/$PREFIX/lib/libmpcdec.a + +do_clean_bdir diff --git a/toolchains/caanoo/Dockerfile.m4 b/toolchains/caanoo/Dockerfile.m4 index 3893d72..8287097 100644 --- a/toolchains/caanoo/Dockerfile.m4 +++ b/toolchains/caanoo/Dockerfile.m4 @@ -75,6 +75,9 @@ helpers_package(mpeg2dec) # No a52dec in the original toolchain build ours statically helpers_package(a52dec) +# No libmpcdec in the original toolchain build ours statically +helpers_package(libmpcdec) + # No libvpx in the original toolchain build ours statically helpers_package(libvpx) diff --git a/toolchains/common/packages/libmpcdec/build.sh b/toolchains/common/packages/libmpcdec/build.sh new file mode 100755 index 0000000..50bb099 --- /dev/null +++ b/toolchains/common/packages/libmpcdec/build.sh @@ -0,0 +1,21 @@ +#! /bin/sh + +PACKAGE_DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd) +HELPERS_DIR=$PACKAGE_DIR/../.. +. $HELPERS_DIR/functions.sh + +do_make_bdir + +do_pkg_fetch libmpc + +autoreconf -fi + +do_configure "$@" + +do_make -C include +do_make -C libmpcdec + +do_make -C include install +do_make -C libmpcdec install + +do_clean_bdir diff --git a/toolchains/devkit3ds/Dockerfile.m4 b/toolchains/devkit3ds/Dockerfile.m4 index d25cc5f..80b8cd6 100644 --- a/toolchains/devkit3ds/Dockerfile.m4 +++ b/toolchains/devkit3ds/Dockerfile.m4 @@ -63,6 +63,8 @@ helpers_package(mpeg2dec) helpers_package(a52dec) +helpers_package(libmpcdec) + # Multithreading is not functional (and it's only one core anyway) helpers_package(libvpx, --disable-multithread) diff --git a/toolchains/devkitppc/Dockerfile.m4 b/toolchains/devkitppc/Dockerfile.m4 index db004f1..0a6e35f 100644 --- a/toolchains/devkitppc/Dockerfile.m4 +++ b/toolchains/devkitppc/Dockerfile.m4 @@ -78,6 +78,8 @@ helpers_package(mpeg2dec, , CFLAGS="$CFLAGS -mno-altivec") helpers_package(a52dec) +helpers_package(libmpcdec) + # Multithreading is not functional (and it's only one core anyway) helpers_package(libvpx, --disable-multithread) diff --git a/toolchains/devkitswitch/Dockerfile.m4 b/toolchains/devkitswitch/Dockerfile.m4 index 2c5d424..8818fd0 100644 --- a/toolchains/devkitswitch/Dockerfile.m4 +++ b/toolchains/devkitswitch/Dockerfile.m4 @@ -75,6 +75,8 @@ helpers_package(mpeg2dec) helpers_package(a52dec) +helpers_package(libmpcdec) + # libvpx is already installed in original toolchain # curl is already installed in original toolchain diff --git a/toolchains/m4/android/packages_list.m4 b/toolchains/m4/android/packages_list.m4 index d976cfd..94aaabb 100644 --- a/toolchains/m4/android/packages_list.m4 +++ b/toolchains/m4/android/packages_list.m4 @@ -30,6 +30,8 @@ helpers_package(a52dec) helpers_package(libmikmod) +helpers_package(libmpcdec) + # --as is used for x86* and overrides AS environment variable: exactly what we want # Fix build with nasm COPY --from=android-helpers /lib-helpers/packages/libvpx lib-helpers/packages/libvpx diff --git a/toolchains/m4/apple/macosx.m4 b/toolchains/m4/apple/macosx.m4 index 5ed45da..ace6c8c 100644 --- a/toolchains/m4/apple/macosx.m4 +++ b/toolchains/m4/apple/macosx.m4 @@ -133,6 +133,8 @@ helpers_package(mpeg2dec) ports_package(a52dec) +ports_package(libmpcdec) + ports_package(libvpx) # No curl as it's provided in SDK diff --git a/toolchains/m4/apple/xos.m4 b/toolchains/m4/apple/xos.m4 index 2494d0b..c5f9221 100644 --- a/toolchains/m4/apple/xos.m4 +++ b/toolchains/m4/apple/xos.m4 @@ -120,6 +120,8 @@ helpers_package(mpeg2dec) helpers_package(a52dec) +helpers_package(libmpcdec) + # libvpx thinks that darwin means xcode and adds too many flags # disable this treatment COPY --from=apple-common /lib-helpers/packages/libvpx lib-helpers/packages/libvpx diff --git a/toolchains/miyoo/Dockerfile.m4 b/toolchains/miyoo/Dockerfile.m4 index 5b90fd3..33ed9ad 100644 --- a/toolchains/miyoo/Dockerfile.m4 +++ b/toolchains/miyoo/Dockerfile.m4 @@ -60,6 +60,8 @@ helpers_package(mpeg2dec) helpers_package(a52dec) +helpers_package(libmpcdec) + helpers_package(libvpx) # curl is already installed in original toolchain diff --git a/toolchains/mxe/Dockerfile.m4 b/toolchains/mxe/Dockerfile.m4 index b08e70a..4004765 100644 --- a/toolchains/mxe/Dockerfile.m4 +++ b/toolchains/mxe/Dockerfile.m4 @@ -87,6 +87,9 @@ local_mxe_package(libmpeg2) mxe_package(a52dec) +# Patch libmpcdec to install the static library without a _static suffix +local_mxe_package(libmpcdec) + mxe_package(libvpx) local_mxe_package(curl-light) diff --git a/toolchains/mxe/packages/libmpcdec/libmpcdec-9999-build_fix.patch b/toolchains/mxe/packages/libmpcdec/libmpcdec-9999-build_fix.patch new file mode 100644 index 0000000..80eb5a0 --- /dev/null +++ b/toolchains/mxe/packages/libmpcdec/libmpcdec-9999-build_fix.patch @@ -0,0 +1,15 @@ +Index: libmpcdec/requant.h +=================================================================== +--- a/libmpcdec/requant.h ++++ b/libmpcdec/requant.h +@@ -48,7 +48,7 @@ + + /* C O N S T A N T S */ +-const mpc_uint8_t Res_bit [18]; ///< Bits per sample for chosen quantizer +-const MPC_SAMPLE_FORMAT __Cc [1 + 18]; ///< Requantization coefficients +-const mpc_int16_t __Dc [1 + 18]; ///< Requantization offset ++extern const mpc_uint8_t Res_bit [18]; ///< Bits per sample for chosen quantizer ++extern const MPC_SAMPLE_FORMAT __Cc [1 + 18]; ///< Requantization coefficients ++extern const mpc_int16_t __Dc [1 + 18]; ///< Requantization offset + + #define Cc (__Cc + 1) diff --git a/toolchains/mxe/packages/libmpcdec/patch.mk b/toolchains/mxe/packages/libmpcdec/patch.mk new file mode 100644 index 0000000..448baf0 --- /dev/null +++ b/toolchains/mxe/packages/libmpcdec/patch.mk @@ -0,0 +1,7 @@ +# Patch libmpcdec_BUILD to install libmpcdec.a without a _static suffix +# Also remove useless LDFLAGS once the attached patch is applied +# newline and comma variables are defined by MXE +$(eval define libmpcdec_BUILD$(newline)\ + $(subst libmpcdec_static.a' '$$(PREFIX)/$$(TARGET)/lib/',libmpcdec_static.a' '$$(PREFIX)/$$(TARGET)/lib/libmpcdec.a',$(value libmpcdec_BUILD))$(newline)\ + $(subst LDFLAGS='$$(LDFLAGS) -Wl$(comma)--allow-multiple-definition',,$(value libmpcdec_BUILD))$(newline)\ +endef) diff --git a/toolchains/opendingux-beta/Dockerfile.m4 b/toolchains/opendingux-beta/Dockerfile.m4 index 73e9e50..c7e05bb 100644 --- a/toolchains/opendingux-beta/Dockerfile.m4 +++ b/toolchains/opendingux-beta/Dockerfile.m4 @@ -56,6 +56,8 @@ helpers_package(mpeg2dec) helpers_package(a52dec) +helpers_package(libmpcdec) + helpers_package(libvpx) # No curl support in configure diff --git a/toolchains/opendingux/Dockerfile.m4 b/toolchains/opendingux/Dockerfile.m4 index 1bc0910..32067ab 100644 --- a/toolchains/opendingux/Dockerfile.m4 +++ b/toolchains/opendingux/Dockerfile.m4 @@ -80,6 +80,9 @@ helpers_package(mpeg2dec) # No a52dec in the original toolchain build ours statically helpers_package(a52dec) +# No libmpcdec in the original toolchain build ours statically +helpers_package(libmpcdec) + # No libvpx in the original toolchain build ours statically helpers_package(libvpx) diff --git a/toolchains/openpandora/Dockerfile.m4 b/toolchains/openpandora/Dockerfile.m4 index c585be1..7f5a71e 100644 --- a/toolchains/openpandora/Dockerfile.m4 +++ b/toolchains/openpandora/Dockerfile.m4 @@ -75,6 +75,9 @@ helpers_package(mpeg2dec) # No a52dec in the original toolchain build ours statically helpers_package(a52dec) +# No libmpcdec in the original toolchain build ours statically +helpers_package(libmpcdec) + # No libvpx in the original toolchain build ours statically helpers_package(libvpx) diff --git a/toolchains/raspberrypi/Dockerfile.m4 b/toolchains/raspberrypi/Dockerfile.m4 index 50d132a..6f4e5a4 100644 --- a/toolchains/raspberrypi/Dockerfile.m4 +++ b/toolchains/raspberrypi/Dockerfile.m4 @@ -32,6 +32,7 @@ multistrap_package(libgtk-3-dev) multistrap_package(libjpeg62-turbo-dev) multistrap_package(libmad0-dev) multistrap_package(libmikmod-dev) +multistrap_package(libmpcdec-dev) multistrap_package(libmpeg2-4-dev) multistrap_package(libogg-dev) multistrap_package(libpng-dev) diff --git a/toolchains/riscos/Dockerfile.m4 b/toolchains/riscos/Dockerfile.m4 index 391b983..041a4bc 100644 --- a/toolchains/riscos/Dockerfile.m4 +++ b/toolchains/riscos/Dockerfile.m4 @@ -94,6 +94,8 @@ helpers_package(mpeg2dec) helpers_package(a52dec) +helpers_package(libmpcdec) + helpers_package(libvpx) # helpers_package(openssl) diff --git a/toolchains/vita/Dockerfile.m4 b/toolchains/vita/Dockerfile.m4 index ea4686d..53fa98a 100644 --- a/toolchains/vita/Dockerfile.m4 +++ b/toolchains/vita/Dockerfile.m4 @@ -56,6 +56,8 @@ vdpm_package(libmpeg2) helpers_package(a52dec) +helpers_package(libmpcdec) + vdpm_package(libvpx) vdpm_package(openssl) diff --git a/toolchains/windows-9x/Dockerfile.m4 b/toolchains/windows-9x/Dockerfile.m4 index 9f4ece8..0690570 100644 --- a/toolchains/windows-9x/Dockerfile.m4 +++ b/toolchains/windows-9x/Dockerfile.m4 @@ -72,6 +72,8 @@ helpers_package(mpeg2dec) COPY packages/a52dec lib-helpers/packages/a52dec/ helpers_package(a52dec) +helpers_package(libmpcdec) + # Windows 95 doesn't handle well SSE. # Multithreading uses InterlockedCompareExchange, not present in Windows 95. helpers_package(libvpx, --as=nasm --disable-sse --disable-multithread) diff --git a/workers/m4/debian-libraries.m4 b/workers/m4/debian-libraries.m4 index 586243a..fd56ba6 100644 --- a/workers/m4/debian-libraries.m4 +++ b/workers/m4/debian-libraries.m4 @@ -15,6 +15,7 @@ RUN apt-get update && \ libjpeg62-turbo-dev`'APT_ARCH \ libmad0-dev`'APT_ARCH \ libmikmod-dev`'APT_ARCH \ + libmpcdec-dev`'APT_ARCH \ libmpeg2-4-dev`'APT_ARCH \ libogg-dev`'APT_ARCH \ libpng-dev`'APT_ARCH \