[Speex-dev] speexdsp versioning

Ron ron at debian.org
Thu Jul 9 11:02:52 PDT 2015

On Thu, Jul 09, 2015 at 12:23:17PM +0300, Tanu Kaskinen wrote:
> Hello,
> alsa-plugins currently includes speex/speex_types.h, but that doesn't
> work with speexdsp versions >= 1.2rc2, since speex_types.h has been
> replaced with speexdsp_types.h.

Strictly speaking it hasn't been "replaced", it's just supplied by
speex rather than speexdsp, as was the case before the package split.

> I made a patch for alsa-plugins, so that
> it includes speexdsp_types.h instead. I also bumped the speexdsp version
> check from "1.2" to "1.2rc2" in configure.ac, since speexdsp_types.h
> didn't exist in versions prior to 1.2rc2.
> The version bump will break, however, if speexdsp 1.2 will ever get
> released, because I think that pkg-config considers "1.2" to be less
> than "1.2rc2" (I didn't actually verify that, but considering that
> pkg-config thinks that "1.2rc2" >= "1.2", it's pretty likely that "1.2"
> < "1.2rc2" in pkg-config's mind).

This is just one of the reasons why things like this should be testing
for _features_ not for versions :)

Though possibly the more interesting question is why alsa-plugins is
including speex_types.h directly at all?  It should really only need
that if it's including some other speex header - in which case it
should already be getting included by that header anyway ...

> As a solution, I propose that if a non-rc releases of speexdsp will
> still be made, the 1.2 version number will be skipped, and 1.3 will be
> used instead.

In Debian with deal with this with version numbers like 1.2~rc1, where
'~' sorts before anything else in the collating order -- but I don't
recall if pkg-config ever adopted that too.  (some people who worked
on it certainly know about it).


More information about the Speex-dev mailing list