shithub: opus

Download patch

ref: d47ddfb4724553533cf7bd2758b339329b483622
parent: a66642a5e12554b0a2bec7f3679300524e6cbf14
author: Ralph Giles <[email protected]>
date: Sun Sep 16 19:09:21 EDT 2012

Add -lm to the pkg-config link line.

The floating-point build calls a number of math library
functions, and linking with libm is technically necessary.
It wasn't obvious because most systems support shlib
dependencies and pulled it in that way, or supply the
referenced functions with intrinsics. Discovered the issue
trying to build libopusfile against the uninstalled static
libopus, which unlike opus-tools, doesn't itself need libm.

The -lm argument is only added to Libs for the floating-
point (default) build. It's not necessary for the fixed-
point build.

Also mark which build was used in the .pc file description.

--- a/configure.ac
+++ b/configure.ac
@@ -275,6 +275,17 @@
 AM_CONDITIONAL([FIXED_POINT], [test x$ac_enable_fixed = xyes])
 AM_CONDITIONAL([CUSTOM_MODES], [test x$ac_enable_custom_modes = xyes])
 
+dnl subsitutions for the pkg-config files
+if test x$ac_enable_float = xyes; then
+  PC_BUILD="floating-point"
+  PC_LIBM=$LIBM
+else
+  PC_BUILD="fixed-point"
+  PC_LIBM=
+fi
+AC_SUBST([PC_BUILD])
+AC_SUBST([PC_LIBM])
+
 AC_OUTPUT([Makefile opus.pc opus-uninstalled.pc
            doc/Makefile doc/Doxyfile])
 
--- a/opus-uninstalled.pc.in
+++ b/opus-uninstalled.pc.in
@@ -4,9 +4,9 @@
 includedir=${pcfiledir}
 
 Name: opus uninstalled
-Description: Opus IETF audio codec (not installed)
+Description: Opus IETF audio codec (not installed, @PC_BUILD@)
 Version: @VERSION@
 Requires:
 Conflicts:
-Libs: ${libdir}/libopus.a
+Libs: ${libdir}/libopus.a @PC_LIBM@
 Cflags: -I${includedir}/include
--- a/opus.pc.in
+++ b/opus.pc.in
@@ -6,10 +6,10 @@
 includedir=@includedir@
 
 Name: Opus
-Description: Opus IETF audio codec
+Description: Opus IETF audio codec (@PC_BUILD@ build)
 URL: http://opus-codec.org/
 Version: @VERSION@
 Requires:
 Conflicts:
-Libs: -L${libdir} -lopus
+Libs: -L${libdir} -lopus @PC_LIBM@
 Cflags: -I${includedir}/opus