GNOME Bugzilla – Bug 712724
Update libcheck to version 0.9.11
Last modified: 2014-12-18 10:33:20 UTC
libcheck to 0.9.11 was updated and has nice features like improved MinGW support through fork detection. We currently have 0.9.6 in GStreamer, SVN commit 477 of the total 860 for 0.9.11. I separated the update into 6 commits for better reviewing: https://github.com/lubosz/gstreamer/commits/libcheck It works fine currently on Linux, but could make problems during build on other platforms, since I had to link rt and include <stdint.h>. I also took a part from libcheck's configure.ac to check for fork ability. I applied gst-indent on Gstreamer's libcheck (it was not consistent) and the libcheck changes, so indent is in a separate commit.
Created attachment 260282 [details] Diff to vanilla libcheck 0.9.11 I also took the changes from e08cb58aa8766470295c3d0bc429bdd6a0b4e8f2 into account. This is the diff to vanilla libcheck 0.9.11
I fixed the Windows build with this patch: https://github.com/lubosz/gstreamer/commit/fdc41abd13b74e930c880e9f18fcced386392151 * time.h needed to be included * since librt is not available on Windows, i link it only when HAVE_FORK is defined, which also is not available on Windows On Windows, without the CK_FORK=no var, the result looks like this: 38 of 84 tests failed
sorry i did rebase magic, this is the windows commit now: https://github.com/lubosz/gstreamer/commit/f3cb901e8f7cdd676e71f2298a57b872cd4f5874
Is the linking on -lrt really valid on all platforms that have fork ? I'd also disable FORK on all Win32 based systems, even if they have some kind of emulation. I'm also a bit concerned about the fact that they deprecated fail_if()/fail_unless() and replaced it with ck_assert_*()
I reviewed some of your changes on github. Please squash some commits together to make more sense :)
I responded to your review on github. Here is the rebased branch with only 3 commits https://github.com/lubosz/gstreamer/tree/libcheck-rebased Issues that are unclear to me: * In which libraries besides rt should I look for timer_create? rt only needs to be linked on Windows for me, so on Windows configure just warns about unavailability and builds fine. * Should Windows be explicitly blacklisted for fork, even when fork seems to be available? Are there other platforms that should be treated likewise?
Editing on Bugzilla would be a Web 1.5 killer feature btw. In the first paragraph, it should say * rt only needs to be linked on *LINUX* for me, so on Windows configure just warns about unavailability and builds fine.
Note that there is also bug #727826. Can someone merge these two and provide a grand unified patch? :)
*** This bug has been marked as a duplicate of bug 727826 ***