Major update of jack2 build system
Karl Lindén <karl.j.linden <at> gmail.com>
2015-04-11 17:05:52 GMT
Hi jack-devel list!
[This part is technical and can be skipped, if you like]
To ease packaging jack2, its build system has received a major update . The initial intent was to simply
remove automagic dependencies (on celt, opus, libsamplerate, libsndfile, readline), which are bad 
for source based distributions, such as Gentoo, but after a discussion  the decision was taken to
reimplement all options that have third-party dependencies using a special option class, so that the
build system by default builds against foo if available, refrains from doing so if --foo=no is given and if
--foo=yes the dependency is hard-required. To preserve backwards compatibility (and save time writing
"=yes") --foo is the same as --foo=yes.
Apart from this change pkg-config is now used whenever possible instead of only header checks. (It is bad to
just check for headers without checking for the accompanying library.) This eases packaging (and
cross-compiling) somewhat. Also the check for readline has been improved (it now checks for header
existence too instead of just library existence), in effect making it easier to compile jack2 on binary
distros (where the library existence does not imply header existence). (Correct me if I'm wrong; I have
not compiled jack2 on a binary distro.)
[End of skip part]
So apart from the above points, what are the goodies for actual users? Well, now users do not have to
explicitly state --alsa, --firewire or such to get the correct backend built since it will be
automatically detected if --alsa, --firewire, etc. is not given.
Now the important part. Like with all big software changes, this might introduce some bugs that I have not
found during testing. (I did test the option I could with both --foo=yes and --foo=no!) Some option have
not been tested at all since I lack the prerequisites, these options are --iio, --portaudio and --winmme,
but since all option use the same class the logic should be the same, so they should work, but you can never be
In conclusion, I want you to be on the lookout for bugs or weird stuff (as always!) when building jack2.
Report the bugs and I will do my very best to squash them!
Karl Lindén (lilrc)
Jack-Devel mailing list
Jack-Devel <at> lists.jackaudio.org