From a66b33b7c983759e7278ed221aeeeac0e71c26b2 Mon Sep 17 00:00:00 2001
From: Cameron Cawley <[EMAIL REDACTED]>
Date: Tue, 11 Jan 2022 23:33:46 +0000
Subject: [PATCH] Add the required libraries to SDL_mixer.pc
---
SDL_mixer.pc.in | 3 ++-
configure.ac | 43 +++++++++++++++++++++++++++++++++++++++++++
2 files changed, 45 insertions(+), 1 deletion(-)
diff --git a/SDL_mixer.pc.in b/SDL_mixer.pc.in
index 1c4965d8..0bcd3612 100644
--- a/SDL_mixer.pc.in
+++ b/SDL_mixer.pc.in
@@ -9,4 +9,5 @@ Version: @VERSION@
Requires: sdl >= @SDL_VERSION@
Libs: -L${libdir} -lSDL_mixer
Cflags: -I${includedir}/SDL
-
+Requires.private: @PC_REQUIRES@
+Libs.private: @PC_LIBS@
diff --git a/configure.ac b/configure.ac
index 5583acc5..a697b8fc 100644
--- a/configure.ac
+++ b/configure.ac
@@ -296,6 +296,7 @@ int main(int argc, char **argv)
EXTRA_CFLAGS="$EXTRA_CFLAGS -DMOD_DYNAMIC=\\\"$mikmod_lib\\\""
else
EXTRA_LDFLAGS="$EXTRA_LDFLAGS `$LIBMIKMOD_CONFIG --libs`"
+ PC_LIBS="$PC_LIBS `$LIBMIKMOD_CONFIG --libs`"
fi
else
AC_MSG_WARN([*** Unable to find MikMod library (http://mikmod.raphnet.net/)])
@@ -311,6 +312,7 @@ if test x$enable_music_mod_modplug = xyes; then
PKG_CHECK_MODULES([MODPLUG], [libmodplug >= 0.8.7], [dnl
have_libmodplug_hdr=yes
have_libmodplug_lib=yes
+ have_libmodplug_pc=yes
], [dnl
AC_CHECK_HEADER([libmodplug/modplug.h], [have_libmodplug_hdr=yes])
AC_CHECK_LIB([modplug], [ModPlug_Load], [have_libmodplug_lib=yes;MODPLUG_LIBS="-lmodplug"])
@@ -321,6 +323,11 @@ if test x$enable_music_mod_modplug = xyes; then
SOURCES="$SOURCES $srcdir/music_modplug.c"
EXTRA_CFLAGS="$EXTRA_CFLAGS -DMODPLUG_MUSIC $MODPLUG_CFLAGS"
EXTRA_LDFLAGS="$EXTRA_LDFLAGS $MODPLUG_LIBS"
+ if test x$have_libmodplug_pc = xyes; then
+ PC_REQUIRES="$PC_REQUIRES libmodplug"
+ else
+ PC_LIBS="$PC_LIBS $MODPLUG_LIBS"
+ fi
else
AC_MSG_WARN([*** Unable to find ModPlug library (http://modplug-xmms.sourceforge.net/)])
fi
@@ -354,14 +361,17 @@ if test x$enable_music_midi = xyes; then
*-*-cygwin* | *-*-mingw*)
use_music_native_midi=yes
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lwinmm"
+ PC_LIBS="$PC_LIBS -lwinmm"
;;
*-*-darwin*)
use_music_native_midi=yes
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,AudioToolbox -Wl,-framework,AudioUnit -Wl,-framework,CoreServices"
+ PC_LIBS="$PC_LIBS -Wl,-framework,AudioToolbox -Wl,-framework,AudioUnit -Wl,-framework,CoreServices"
;;
*-*-haiku*)
use_music_native_midi=yes_cpp
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lmidi"
+ PC_LIBS="$PC_LIBS -lmidi"
;;
esac
if test x$use_music_native_midi = xyes; then
@@ -383,6 +393,7 @@ if test x$enable_music_midi = xyes; then
PKG_CHECK_MODULES([FLUIDSYNTH], [fluidsynth], [dnl
have_fluidsynth_hdr=yes
have_fluidsynth_lib=yes
+ have_fluidsynth_pc=yes
], [dnl
AC_CHECK_HEADER([fluidsynth.h], [have_fluidsynth_hdr=yes])
AC_CHECK_LIB([fluidsynth], [fluid_player_add_mem], [have_fluidsynth_lib=yes;FLUIDSYNTH_LIBS="-lfluidsynth"])
@@ -412,6 +423,11 @@ if test x$enable_music_midi = xyes; then
EXTRA_CFLAGS="$EXTRA_CFLAGS -DFLUIDSYNTH_DYNAMIC=\\\"$fluidsynth_lib\\\""
else
EXTRA_LDFLAGS="$EXTRA_LDFLAGS $FLUIDSYNTH_LIBS"
+ if test x$have_fluidsynth_pc = xyes; then
+ PC_REQUIRES="$PC_REQUIRES fluidsynth"
+ else
+ PC_LIBS="$PC_LIBS $FLUIDSYNTH_LIBS"
+ fi
fi
else
AC_MSG_WARN([*** Unable to find FluidSynth library (http://www.fluidsynth.org/)])
@@ -435,6 +451,7 @@ if test x$enable_music_ogg = xyes; then
PKG_CHECK_MODULES([TREMOR], [vorbisidec], [dnl
have_tremor_hdr=yes
have_tremor_lib=yes
+ have_tremor_pc=yes
], [dnl
AC_CHECK_HEADER([tremor/ivorbisfile.h], [have_tremor_hdr=yes])
AC_CHECK_LIB([vorbisidec], [ov_open_callbacks], [have_tremor_lib=yes;TREMOR_LIBS="-lvorbisidec -logg"], [], [-logg])
@@ -464,6 +481,11 @@ if test x$enable_music_ogg = xyes; then
EXTRA_CFLAGS="$EXTRA_CFLAGS -DOGG_DYNAMIC=\\\"$ogg_lib\\\""
else
EXTRA_LDFLAGS="$EXTRA_LDFLAGS $TREMOR_LIBS"
+ if test x$have_tremor_pc = xyes; then
+ PC_REQUIRES="$PC_REQUIRES vorbisidec"
+ else
+ PC_LIBS="$PC_LIBS $TREMOR_LIBS"
+ fi
fi
else
AC_MSG_WARN([*** Unable to find Ogg Vorbis Tremor library (http://www.xiph.org/)])
@@ -473,6 +495,7 @@ if test x$enable_music_ogg = xyes; then
PKG_CHECK_MODULES([VORBIS], [vorbisfile], [dnl
have_ogg_hdr=yes
have_ogg_lib=yes
+ have_ogg_pc=yes
], [dnl
AC_CHECK_HEADER([vorbis/vorbisfile.h], [have_ogg_hdr=yes])
AC_CHECK_LIB([vorbisfile], [ov_open_callbacks], [have_ogg_lib=yes;VORBIS_LIBS="-lvorbisfile -lvorbis -logg -lm"], [], [-lvorbis -logg -lm])
@@ -499,6 +522,11 @@ if test x$enable_music_ogg = xyes; then
EXTRA_CFLAGS="$EXTRA_CFLAGS -DOGG_DYNAMIC=\\\"$ogg_lib\\\""
else
EXTRA_LDFLAGS="$EXTRA_LDFLAGS $VORBIS_LIBS"
+ if test x$have_ogg_pc = xyes; then
+ PC_REQUIRES="$PC_REQUIRES vorbisfile"
+ else
+ PC_LIBS="$PC_LIBS $VORBIS_LIBS"
+ fi
fi
else
AC_MSG_WARN([*** Unable to find Ogg Vorbis library (http://www.xiph.org/)])
@@ -539,6 +567,7 @@ if test x$enable_music_flac = xyes; then
PKG_CHECK_MODULES([FLAC], [flac], [dnl
have_flac_hdr=yes
have_flac_lib=yes
+ have_flac_pc=yes
], [dnl
AC_CHECK_HEADER([FLAC/stream_decoder.h], [have_flac_hdr=yes])
AC_CHECK_LIB([FLAC], [FLAC__stream_decoder_new], [have_flac_lib=yes;FLAC_LIBS="-lFLAC"])
@@ -565,6 +594,11 @@ if test x$enable_music_flac = xyes; then
EXTRA_CFLAGS="$EXTRA_CFLAGS -DFLAC_DYNAMIC=\\\"$flac_lib\\\""
else
EXTRA_LDFLAGS="$EXTRA_LDFLAGS $FLAC_LIBS"
+ if test x$have_flac_pc = xyes; then
+ PC_REQUIRES="$PC_REQUIRES flac"
+ else
+ PC_LIBS="$PC_LIBS $FLAC_LIBS"
+ fi
fi
fi
else
@@ -587,6 +621,7 @@ if test x$enable_music_mp3 = xyes; then
PKG_CHECK_MODULES([MPG123], [libmpg123], [dnl
have_mpg123_hdr=yes
have_mpg123_lib=yes
+ have_mpg123_pc=yes
], [dnl
AC_CHECK_HEADER([mpg123.h], [have_mpg123_hdr=yes])
AC_CHECK_LIB([mpg123], [mpg123_replace_reader_handle], [have_mpg123_lib=yes;MPG123_LIBS="-lmpg123"])
@@ -611,6 +646,11 @@ if test x$enable_music_mp3 = xyes; then
EXTRA_CFLAGS="$EXTRA_CFLAGS -DMPG123_DYNAMIC=\\\"$mpg123_lib\\\""
else
EXTRA_LDFLAGS="$EXTRA_LDFLAGS $MPG123_LIBS"
+ if test x$have_mpg123_pc = xyes; then
+ PC_REQUIRES="$PC_REQUIRES libmpg123"
+ else
+ PC_LIBS="$PC_LIBS $MPG123_LIBS"
+ fi
fi
else
AC_MSG_WARN([*** Unable to find mpg123 library (https://www.mpg123.de)])
@@ -634,6 +674,7 @@ if test x$enable_music_mp3_mad_gpl = xyes; then
SOURCES="$SOURCES $srcdir/music_mad.c"
EXTRA_CFLAGS="$EXTRA_CFLAGS -DMP3_MAD_MUSIC"
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lmad"
+ PC_LIBS="$PC_LIBS -lmad"
else
AC_MSG_WARN([*** Unable to find MAD library (http://www.underbit.com/products/mad/)])
fi
@@ -705,6 +746,8 @@ AC_SUBST(WINDRES)
AC_SUBST(SDL_VERSION)
AC_SUBST(SDL_CFLAGS)
AC_SUBST(SDL_LIBS)
+AC_SUBST(PC_REQUIRES)
+AC_SUBST(PC_LIBS)
AC_CONFIG_FILES([
Makefile SDL_mixer.spec SDL_mixer.qpg SDL_mixer.pc