On Sun, Apr 12, 2015 at 10:26 AM, Markus Seeber <
markus.seeber(a)spectralbird.de> wrote:
  On 04/11/2015 07:05 PM, Karl Lindén wrote:
  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 
 [1]. The
initial intent was to simply remove automagic dependencies (on
 celt, opus, libsamplerate, libsndfile, readline), which are bad [2] for
 source based distributions, such as Gentoo, but after a discussion [3] 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 too sure.
 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!
 https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Automagic_dependenci…
  [3] 
https://github.com/jackaudio/jack2/pull/110
 _______________________________________________
 Jack-Devel mailing list
 Jack-Devel(a)lists.jackaudio.org
 
http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org
 
 Is the windows specific stuff actually needed to be tested? Waf builds
 on windows doesn't seem to work (for me) anyway. I think I remember
 widows builds are only done with a Code::Blocks IDE project? Or does
 anyone cross compile for windows?
 
I added the windows based waf build a few years ago for cross compiling
jack2 on Fedora. It is not the build system used for the official windows
builds.
I now also use it for compiling on windows using MSYS2/mingw-w64 build
environment:
So I haven't tested it with any other configuration or with these recent
changes, so if there is a call to remove it from the waf build I am fine
with that.
In saying that I think that MSYS2 is a pretty good environment for building
software on windows so if there is any interest to support a MSYS2 build I
can submit patches to fix it up.
Tim