Prevent an invalid @CARBON_LIBS@ from appearing in the .pc files

Fixes static linking when using the glib pkgconfig file.
Regression was introduced in commit 8d037c6 (bz #668152)

https://bugzilla.gnome.org/show_bug.cgi?id=731657
Try to make gobject.py work with both pythons

This change was suggested on the fedora test list, and has been
reported to work.
gatomic: disable GCC extension atomics for clang

clang defines the macro that we use to test for GCC's extension support
for C11 atomics, but doesn't define the extension in the same way.
Check for clang and disable the macros again if we find it.

https://bugzilla.gnome.org/show_bug.cgi?id=731513
configure.ac: fix check for futex and eventfd

We were using AC_LANG_PROGRAM to build a program to test for our ability
to call syscall (__NR_futex, ...);.  This macro adds "main () { ... }"
around the provided code segment automatically.  The provided code
segment provided its own main() function, however.

The result looked something like:

int main (void) {
  int main (void) {
    ...
  }
}

which worked on GCC, but not on clang.

Let's fix that.  Let's fix the same mistake copied over for eventfd()
detection while we're at it.
docs: fix a broken sentence
docs: Correct param to interface's default_init()

https://bugzilla.gnome.org/show_bug.cgi?id=731979
gwakeup: Clarify buffer sizing in g_wakeup_signal()

The code in g_wakeup_signal() is currently correct: it writes a 64-bit
counter increment value if the FD is an eventfd, and writes an arbitrary
8-bit value if using a normal pipe.

However, the reasoning behind these buffer sizes is not clear, and the
mismatch between the allocated buffer size and the length passed to
write() in the pipe case could be mistaken for a bug.

Coverity issue: #1159490

https://bugzilla.gnome.org/show_bug.cgi?id=732002
goption: Remove an unused assignment

Coverity issue: #1159514

https://bugzilla.gnome.org/show_bug.cgi?id=732005
gclosure: Remove an unused alloca() and assignment

Coverity issue: #1159511

https://bugzilla.gnome.org/show_bug.cgi?id=732005
gtestdbus: Don’t close stdout for dbus-daemon

The stdout FD passed to dbus-daemon is propagated to all its child
processes, such as service activated processes. If we close the FD after
reading the bus address from the daemon, any child process which
subsequently writes to stdout (e.g. for logging) will get a SIGPIPE and
explode.

Instead of closing the stdout FD immediately after dbus-daemon has
spawned, keep it open until the daemon is killed.

https://bugzilla.gnome.org/show_bug.cgi?id=732019
Return folder as icon for directories

'folder' is the name of the folder icon in the incon naming spec,
and the Adwaita icon theme doesn't include an inode-directory icon.
This fixes folders appearing as generic file in the file chooser.

https://bugzilla.gnome.org/show_bug.cgi?id=731996
gsignal: Add an example to the g_signal_connect_swapped() documentation

The precise behaviour of and motivation behind swapping parameters was
not entirely clear before.

https://bugzilla.gnome.org/show_bug.cgi?id=732068
gsocket: Document that g_socket_create_source() holds a socket ref

This is quite important, as it means you can safely let the GSocket drop
out of scope while maintaining a reference to the GSource, and the
socket will remain open. That means fewer closure structures, simpler
code, and fewer allocations.

https://bugzilla.gnome.org/show_bug.cgi?id=732081
gsocketlistener: Don’t explicitly close sockets on finalisation

Instead of closing the sockets explicitly, let them close themselves
when their final reference is dropped. This makes use of
g_socket_listener_add_socket() more natural.

https://bugzilla.gnome.org/show_bug.cgi?id=732107
2.41.1
Bump version
docs: fix typos
gsettings test: stop testing long-deprecated API

We want to try taking this away now...

https://bugzilla.gnome.org/show_bug.cgi?id=732102
gsettings: remove long-deprecated "schema" property

This property has been deprecated for three years after only having
existed for one.  We've wanted to reuse the name for all that time, so
let's try to actually remove it now and see if we can get away with it.

https://bugzilla.gnome.org/show_bug.cgi?id=732102
gvariant tests: workaround libc/compiler "issue"

memcmp() is declared by glibc as follows:

  /* Compare N bytes of S1 and S2.  */
  extern int memcmp (const void *__s1, const void *__s2, size_t __n)
       __THROW __attribute_pure__ __nonnull ((1, 2));

despite the fact that it is valid to call it with a null pointer if the
size is zero.

gcc 4.9.0 contains a new optimisation that sees that we pass a pointer
to this function and concludes that it certainly must not be null,
removing a later check and thereby causing a crash.

We protect the invocation of memcmp() with a condition to prevent gcc
from making this false assumption (arguably under wrong advice from
glibc).