Commit Graph

341 Commits

Author SHA1 Message Date
Javier Jardón
6513e656c0 configure.ac: replace obsolete AC_CONFIG_HEADER with with AC_CONFIG_HEADERS
The former is an obsolete alias to the latter.
It may get removed in the future.
2013-01-07 15:41:19 +00:00
Nirbheek Chauhan
5eba978497 GFile: Add Btrfs clone ioctl support
The attached patch adds support for the btrfs "clone" ioctl which
makes Copy-on-Write reflinks, resulting in cheap O(1) copies when
source/destination are on the same filesystem. The ioctl itself is
quite straightforward, and GNU coreutils has had support since 7.5
(--reflink=auto --sparse=auto).

The ioctl only operates on regular files and symlinks, and always
follows symlinks; checks have been added accordingly.

This patch would be very useful for everyone who uses btrfs
filesystems (Meego folks for instance). On systems that don't have
btrfs, or if the the source is not on a btrfs filesystem, the ioctl
returns EINVAL, and the fallback code is triggered. Hence this will
cause no problems for non-btrfs users.

https://bugzilla.gnome.org/show_bug.cgi?id=626497
2013-01-05 14:21:25 -05:00
Marko Lindqvist
5fbdd3aa27 Remove deprecated AM_PROG_CC_STDC
Fixes automake 1.13 build.

https://bugzilla.gnome.org/show_bug.cgi?id=691011
2013-01-03 19:22:16 -05:00
Matthias Clasen
3e5068c186 Add a --with-python option
The effect is the same as specifying PYTHON=python3, but a
configure option works better in jhbuild.
https://bugzilla.gnome.org/show_bug.cgi?id=684103
2013-01-01 15:49:06 -05:00
Tristan Van Berkom
32c9254277 Adding test coverage for GTestDBus activating in-tree services.
https://bugzilla.gnome.org/show_bug.cgi?id=690543
2012-12-28 21:28:28 -05:00
Daniel Macks
79fab3e647 Add missing autoconf test for sysctlbyname()
uses specific mib[] tokens iff it is available, but configure wasn't
testing for it to be available.

https://bugzilla.gnome.org/show_bug.cgi?id=689324
2012-12-19 14:32:24 -05:00
Matthias Clasen
9061d91605 bump version 2012-12-17 19:18:13 -05:00
PHO
72d7d23402 Remove an unneeded escaping in NAMESER_COMPAT_INCLUDE
In configure.ac, escaping '#' in NAMESER_COMPAT_INCLUDE results in the following gio/gnetworking.h, which obviously doesn't compile:

  #include <arpa/inet.h>
  #include <arpa/nameser.h>
  \#include <arpa/nameser_compat.h>

https://bugzilla.gnome.org/show_bug.cgi?id=690346
2012-12-17 08:54:12 -05:00
Dan Winship
211ed1775d gsocket: add getsockopt/setsockopt wrappers
Add g_socket_get_option() and g_socket_set_option(), wrapping
getsockopt/setsockopt for the case of integer-valued options. Update
code to use these instead of the underlying calls.

https://bugzilla.gnome.org/show_bug.cgi?id=623187
2012-12-12 15:20:22 +01:00
Dan Winship
b377e69685 Add gnetworking.h
Install a public "gnetworking.h" header that can be used to include
the relevant OS-dependent networking headers. This does not really
abstract away unix-vs-windows however; error codes, in particular,
are incompatible.

gnetworkingprivate.h now contains just a few internal URI-related
functions

Also add a g_networking_init() function to gnetworking.h, which can be
used to explicitly initialize OS-level networking, rather than having
that happen as a side-effect of registering GInetAddress.

https://bugzilla.gnome.org/show_bug.cgi?id=623187
2012-12-12 15:20:22 +01:00
Arnel A. Borja
4a506290a7 win32: Use AC_CHECK_TOOL to find dlltool
https://bugzilla.gnome.org/show_bug.cgi?id=684145
2012-12-02 18:12:57 +01:00
Ryan Lortie
37f369a41e stop using libgthread internally
The gobject tools (glib-genmarshal and gobject-query) were linking
against libgthread.  Stop that.

Also, remove the gthread_INCLUDES internal automake substitution.
2012-11-25 14:51:04 -05:00
Krzesimir Nowak
276cf6ceee configure: Make GNUC visibility attribute test more reliable.
Using "int main (int argc, char** argv)" in this test causes GCC to
issue two warnings about unused variable if CFLAGS envvar has
-Wunused-parameter (or just -Wextra). Those warnings are not related
to the attribute checking but they can make the test fail anyway.
2012-11-22 17:33:04 +01:00
Chun-wei Fan
76cecf061b Add autotools scripts to create VS2012 projects
As the project file format for Visual Studio 2012 is only slightly
different from Visual Studio 2010 projects, we can provide support for
building GLib (and other projects) with Visual Studio 2012 with relatively
little effort.  This might change when we eventually get GLib to work with
the Windows 8 (Modern UI/formerly Metro) APIs, but this will suffice for
the time being for people needing to build GLib with Visual Studio 2012.

Basically all that needs to be done at 'make dist' is:
-Copy the .sln/.props/README.txt/.vcxproj files and replace the VS2010
 stuff with VS2012 stuff
-Copy the .vcxproj.filters as is
2012-11-22 08:56:51 +08:00
Olivier Blin
5900d60d06 configure: add missing square bracket in AS_IF for memmove
This has been broken in commit 54e31ab4f1
It seems to be the only hunk that was incorrectly converted.

https://bugzilla.gnome.org/show_bug.cgi?id=688377
2012-11-21 17:56:12 -05:00
Ryan Lortie
cdc95d31e6 *bump* 2012-11-19 18:20:41 -05:00
Dan Winship
731b469908 win32: define _WIN32_WINNT globally
Rather than defining _WIN32_WINNT only in a handful of files, define
it in config.h, like we do with _GNU_SOURCE.

(Also remove a "#define WIN32_LEAN_AND_MEAN" that isn't really all
that useful.)

https://bugzilla.gnome.org/show_bug.cgi?id=688109
2012-11-15 14:19:05 -05:00
Michael Natterer
49db979922 Revert "gmain: Add private API to create Unix child watch that uses waitid()"
This reverts commit 93bf37ce15.
2012-11-15 15:33:38 +01:00
Antoine Jacoutot
a335fd1de8 GFileMonitor: Add kqueue(3) support to GIO
Written by Dmitry Matveev as part of GSoC 2011:
http://netbsd-soc.sourceforge.net/projects/kqueue4gio/

This brings native file monitoring support on systems supporting kqueue(3)
(all BSDs) and remove the need to rely on the unmaintained gamin software.
The backend adds GKqueueDirectoryMonitor and GKqueueFileMonitor.

Some parts rewritten by myself (to prevent needing a configuration file).
Helpful inputs from Colin Walters and Simon McVittie.

https://bugzilla.gnome.org/show_bug.cgi?id=679793
2012-11-15 08:13:30 +01:00
Colin Walters
93bf37ce15 gmain: Add private API to create Unix child watch that uses waitid()
This avoids collecting the zombie child, which means that the PID
can't be reused.  This prevents possible race conditions that might
occur were one to send e.g. SIGTERM to a child.

This race condition has always existed due to the way we called
waitpid() for the app, but the window was widened when we moved the
waitpid() calls into a separate thread.

If waitid() isn't available, we return NULL, and consumers of this
private API (namely, GSubprocess) will need to handle that.

https://bugzilla.gnome.org/show_bug.cgi?id=672102
2012-11-14 14:11:57 -05:00
Ryan Lortie
77032ea390 belated version bump 2012-11-06 07:41:13 -05:00
Colin Walters
28b30caecb configure: Enable set of standard -Werror=foo flags
We're not going to depend on gnome-common (I assume) so this patch
nicks the systemd macro to test for compiler flags, and uses it to set
a similar set of -Werror=foo as the gnome-common one does.

See https://bugzilla.gnome.org/show_bug.cgi?id=608953
See https://mail.gnome.org/archives/desktop-devel-list/2012-July/msg00100.html

If we're going to be setting more strict compiler flags for GNOME, we
should really ensure GLib builds with them first, as it's kind of the
model citizen.

In particular, you can see several times that downstreams such as
Debian have come in and fixed -Wformat-security bugs.  We should never
let those get into tarballs, or even commits.

https://bugzilla.gnome.org/show_bug.cgi?id=687385
2012-11-02 09:03:52 -04:00
Ryan Lortie
7d17fd6f61 Release GLib 2.35.1 2012-10-22 22:20:47 +02:00
Christian Persch
47bc95c0db build: Post branch version bump 2012-10-03 13:58:19 +02:00
Matthias Clasen
9fa86cf217 Bump version 2012-09-23 22:39:20 -04:00
Matthias Clasen
b470097b8b 2.34.0 2012-09-23 22:34:05 -04:00
Ryan Lortie
2cffb96088 bump version 2012-09-18 08:38:04 -04:00
Ryan Lortie
a47761a36e GLib 2.33.14 2012-09-17 17:53:58 -04:00
Colin Walters
d6cbb29f59 CVE-2012-3524: Hardening for being run in a setuid environment
Some programs attempt to use libglib (or even libgio) when setuid.
For a long time, GTK+ simply aborted if launched in this
configuration, but we never had a real policy for GLib.

I'm not sure whether we should advertise such support.  However, given
that there are real-world programs that do this currently, we can make
them safer with not too much effort.

Better to fix a problem caused by an interaction between two
components in *both* places if possible.

This patch adds a private function g_check_setuid() which is used to
first ensure we don't run an external dbus-launch binary if
DBUS_SESSION_BUS_ADDRESS isn't set.

Second, we also ensure the local VFS is used in this case.  The
gdaemonvfs extension point will end up talking to the session bus
which is typically undesirable in a setuid context.

Implementing g_check_setuid() is interesting - whether or not we're
running in a privilege-escalated path is operating system specific.
Note that GTK+'s code to check euid versus uid worked historically on
Unix, more modern systems have filesystem capabilities and SELinux
domain transitions, neither of which are captured by the uid
comparison.

On Linux/glibc, the way this works is that the kernel sets an
AT_SECURE flag in the ELF auxiliary vector, and glibc looks for it on
startup.  If found, then glibc sets a public-but-undocumented
__libc_enable_secure variable which we can use.  Unfortunately, while
it *previously* worked to check this variable, a combination of newer
binutils and RPM break it:
http://www.openwall.com/lists/owl-dev/2012/08/14/1

So for now on Linux/glibc, we fall back to the historical Unix version
until we get glibc fixed.

On some BSD variants, there is a issetugid() function.  On other Unix
variants, we fall back to what GTK+ has been doing.

Reported-By: Sebastian Krahmer <krahmer@suse.de>
Signed-off-by: Colin Walters <walters@verbum.org>
2012-09-13 18:34:29 -04:00
Matthias Clasen
dad25c4819 Bump version 2012-09-03 16:27:19 -04:00
Matthias Clasen
626abfdc10 2.33.10 2012-09-03 15:14:18 -04:00
Ryan Lortie
221bbd8d76 *bump*
thanks rico :)
2012-08-21 16:32:17 -04:00
Ryan Lortie
ed40bf6715 NEWS, versions, etc. 2012-08-20 18:36:51 -04:00
Javier Jardón
f8a5fc2e2e Revert "Use upstream gettext instead the glib one"
Commited by mistake
This reverts commit e930e3b3aa.
2012-08-15 02:46:16 +09:00
Javier Jardón
e930e3b3aa Use upstream gettext instead the glib one 2012-08-15 01:41:11 +09:00
Colin Walters
ddfcfa66ae build: Switch back to using AS_IF for conditionals
See https://bugzilla.gnome.org/show_bug.cgi?id=674483

https://bugzilla.gnome.org/show_bug.cgi?id=681413
2012-08-08 10:37:39 -04:00
Ryan Lortie
69dd29296e bump version 2012-08-06 16:20:36 -04:00
Ryan Lortie
6b43310ef4 GLib 2.33.8 2012-08-06 15:56:26 -04:00
Matthias Clasen
cc80ae321f Solaris build fix for GIO
Solaris/OpenSolaris/OpenIndiana define FIONREAD in sys/filio.h.
This commit adds a configure check for this header, and includes
it conditionally in gio/gsocket.c.

Patch by Fabian Groffen, bug 675524.
2012-08-06 11:55:59 -04:00
Matthias Clasen
0b8662635d configure.ac: Use AS_HELP_STRING throughout
https://bugzilla.gnome.org/show_bug.cgi?id=680831
2012-08-06 08:52:58 -04:00
Javier Jardón
0f6a092cc5 Make gtk-doc not a hard dependency of GLib
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=674314
2012-08-05 22:29:28 +09:00
Matthias Clasen
9f9ab64030 Rework the man page configury
Default to generate man pages if the required tools and
stylesheets are found. Error out if --enable-man is given
but tools or stylesheets are missing.
2012-08-03 23:36:45 -04:00
Matthias Clasen
0e37822e10 Bump version 2012-07-17 14:23:08 -04:00
Matthias Clasen
e97a4c7e5e 2.33.6
https://bugzilla.gnome.org/show_bug.cgi?id=680111
2012-07-17 13:47:26 -04:00
Matthias Clasen
11819933e2 Bump version 2012-07-16 06:01:55 -04:00
Christian Persch
938c28b36b regex: Require PCRE 8.13
Bump the required version for external PCRE to 8.13, to fix the build
with external PCRE.
2012-07-02 18:02:15 +02:00
Ryan Lortie
03f2f3b002 *bump* 2012-06-25 16:55:31 -04:00
Ryan Lortie
a5ed95c9ad GLib 2.33.3 2012-06-25 16:29:53 -04:00
Martin Jansa
9e1d4da14d configure: Add --disable-libelf option
See http://git.openembedded.org/openembedded-core/tree/meta/recipes-core/glib-2.0/glib-2.0/nolibelf.patch?id=1f73485a143f0aa6cd87636f3d36a7d1dfc40a3b

Signed-off-by: Colin Walters <walters@verbum.org>
2012-06-06 21:55:07 -04:00
Daniel Macks
f3ff037bd1 Pass -framework sub-flag without embedded whitespace
The "-framework" linker flag takes a second word as a parameter. If
they are passed separated with whitespace, some flag-handling routines
may not know to keep the two words together as a single unit. Use
-Wl,, to pass multiple words without embedded whitespace.

https://bugzilla.gnome.org/show_bug.cgi?id=566994
2012-06-05 21:26:58 -04:00
Daniel Macks
4690d85607 configure: Require libelf 0.8.12
Older versions don't have the required API.

(Commit message written by Colin Walters <walters@verbum.org>)

https://bugzilla.gnome.org/show_bug.cgi?id=673253
2012-06-05 14:16:27 -04:00
Ryan Lortie
bdf1660e28 GLib 2.33.2 2012-06-04 13:17:47 -04:00
Matthias Clasen
431d3adacd Improve libelf configure check
system libelf is not sufficient for glib (lacks elf_getshdrstrndx and
elf_getshdrnum) so let's make sure we don't define HAVE_LIBELF
2012-05-17 00:41:52 -04:00
Michael Olbrich
a365684bf0 configure.ac: more AS_IF
It looks like JH_CHECK_XML_CATALOG has some prerequisite as well

Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>

https://bugzilla.gnome.org/show_bug.cgi?id=674483
2012-05-07 17:18:06 -04:00
Colin Walters
54e31ab4f1 configure: Use AS_IF almost everywhere
Not doing so is an evil trap, sadly.  This patch has been
compile-checked on Fedora 16, and I've verified that the generated
config.status and config.h is exactly the same.

https://bugzilla.gnome.org/show_bug.cgi?id=674483
2012-05-07 17:18:04 -04:00
Michael Olbrich
e30823d93f configure.ac: use AS_IF
This way any prerequisites for e.g. AC_CHECK_HEADER are always executed
before the 'if'.

Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>

https://bugzilla.gnome.org/show_bug.cgi?id=674483
2012-05-07 17:18:03 -04:00
Michael Biebl
8db824e00b configure: Reset LIBS after ELF check
If action-if-found is not specified, AC_CHECK_LIB will append the library
to LIBS. As we don't want to link everything against libelf, reset LIBS
after doing the checks.
2012-05-01 19:57:44 +02:00
Michael Olbrich
56bcba11dd make sure configure fails if AC_CHECK_ALIGNOF cannot detect the alignment
When cross-compiling with gcc >= 4.5 AC_CHECK_ALIGNOF fails to detect the
correct alignment. Without a previous AC_CHECK_TYPE for the same type, the
alignment is silently set to '0'.
This makes sure that configure fails and reports the problem.

Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>

https://bugzilla.gnome.org/show_bug.cgi?id=674483
2012-04-25 09:36:29 -04:00
Matthias Clasen
bf8a4ed099 Bump version to 2.33.1
This avoids triggering the 'too new' warning from 2.34 API.
2012-04-19 17:14:25 -04:00
Alexander Larsson
21e049b253 Tests: Move dbus specific tests to if HAVE_DBUS_DAEMON
These used to only be built on unix, but if you have dbus-daemon on
win32 we should really build them there too.
2012-04-19 18:19:10 +02:00
Alexandre Rostovtsev
b3f814883f Do not detect GNUstep as Cocoa
GNUstep also installs Foundation/Foundation.h

https://bugzilla.gnome.org/show_bug.cgi?id=674172

Signed-off-by: William Hua <william@attente.ca>
2012-04-18 00:00:29 -04:00
William Hua
a147004b83 Use Cocoa header for Cocoa test instead of Foundation. 2012-04-17 23:49:47 -04:00
Rafał Mużyło
6d19f11c89 configure: Fix typo in ELF check
Signed-off-by: Colin Walters <walters@verbum.org>
2012-04-15 11:17:28 -04:00
Colin Walters
4b98c512df build: When cross compiling, don't require host binaries if tests are not enabled
These binaries are now only used by the test suite.  glib-genmarshal
*used* to be required to generate marshallers, but isn't anymore now
that we use libffi (via g_cclosure_marshal_generic).

https://bugzilla.gnome.org/show_bug.cgi?id=667806
2012-04-15 11:15:54 -04:00
Colin Walters
f084b60377 build: Add --disable-modular-tests build option
This patch solves two problems:

First, it allows builders to optionally cut the circular dependency
between dbus and glib by disabling the modular tests (just like how
the tests can be disabled in dbus).

Second, the tests are entirely pointless to build if cross-compiling.

It also moves us slightly closer to the long term future we want where
the tests are a separate ./configure invocation and run against the
INSTALLED glib, not the one in the source tree. This would allow us to
run the tests constantly, not just when glib is built.

https://bugzilla.gnome.org/show_bug.cgi?id=667806
2012-04-15 11:15:54 -04:00
Matthias Clasen
55bbb9fc69 Bump version 2012-04-13 19:54:42 -04:00
William Hua
69d929e67f Be more precise about Carbon v. Cocoa. 2012-04-11 23:25:09 -04:00
Rodrigo Moya
9aa19e1d96 Use 'if test' for checking auto* variables' values 2012-04-04 11:55:40 +02:00
Rodrigo Moya
118c42e747 Always include G_SOCKET_FAMILY_UNIX value in GSocketFamily
This is needed because glib-mkenums doesn't handle #ifdef values in
enums, and so it needs to have all values always defined in the enum.
When not available, define the missing values to a negative value.
2012-04-04 11:39:03 +02:00
Matthias Clasen
27d95bd81f Rework the libelf configure checks one more time
It seems that there is quite a bit of variation out there, in
terms of libelf versions and API. Make the checks more thorough,
by not only checking for elf_begin, but also some of the shdr function
that we need. Also, explicitly check for libelf.h.

This should address bug 673132 and 673253.
2012-04-02 09:09:11 -04:00
Antoine Jacoutot
1494544958 gresource: libelf, try pkg-config first then fall-back to AC_CHECK_LIB
On some systems gelf.h may not be stored under the top level include
directory in which case we need to add the correct include paths in
cflags by using pkg-config(1).
2012-03-31 20:22:51 +02:00
Kalev Lember
8f8fc83670 configure: Fix alignment tests when cross compiling
When inserting custom code to AC_CHECK_ALIGNOF, make sure to not replace
the default includes, but instead append to them.

This fixes ALIGNOF_GUINT32 and ALIGNOF_GUINT64 that were both 0 when cross
compiling. The third 'unsigned long' test wasn't affected because the
AC_CHECK_ALIGNOF call didn't specify the optional 2nd parameter.
2012-03-28 12:42:49 +03:00
Matthias Clasen
d793287b3a Bump version 2012-03-24 11:31:01 -04:00
Matthias Clasen
816554c62b 2.32.0 2012-03-24 11:28:35 -04:00
Matthias Clasen
617c0cb6a0 bump version 2012-03-19 16:59:54 -04:00
Matthias Clasen
166595c4d5 2.31.22 2012-03-19 14:27:20 -04:00
Colin Walters
6833385c5a gmain: Use sig_atomic_t for list of pending Unix signals
Pointed out by: Simon McVittie <simon.mcvittie@collabora.co.uk>

https://bugzilla.gnome.org/show_bug.cgi?id=671997
2012-03-16 16:15:16 -04:00
Alexander Larsson
8ae5bd399e Remove now unused qsort_r checks
https://bugzilla.gnome.org/show_bug.cgi?id=672095
2012-03-16 16:04:36 +01:00
Alexander Larsson
839957f275 Make g_qsort_with_data stable, based on glibc msort
We need a stable sort, and we might as well always use it rather
than have multiple sort versions. This picks up the glibc
merge sort implementation which it uses by default for qsort,
except we don't fall back to non-stable quicksort in some cases
like glibc

https://bugzilla.gnome.org/show_bug.cgi?id=672095
2012-03-16 16:04:36 +01:00
Matthias Clasen
b6f65ec940 bump version 2012-03-05 11:44:16 -05:00
Matthias Clasen
a970fddb0e 2.31.20 2012-03-05 09:01:20 -05:00
Peter O'Gorman
59ee6dbc00 Bug 640202 Impossible to build multi-architecture libraries
Hides ELF-only linker flag -export-dynamic from non-ELF linkers.
2012-03-02 13:36:27 -08:00
Emmanuele Bassi
34aeeb7d64 Add flexible API version boundaries
There are cases when it should be possible to define at compile time
what range of functions and types should be used, in order to get,
or restrict, the compiler warnings for deprecated or newly added
types or functions.

For instance, if GLib introduces a deprecation warning on a type in
version 2.32, application code can decide to specify the minimum and
maximum boundary of the used API to be 2.30; when compiling against
a new version of GLib, this would produce the following results:

  - all deprecations introduced prior to 2.32 would emit compiler
    warnings when used by the application code;
  - all deprecations introduced in 2.32 would not emit compiler
    warnings when used by the application code;
  - all new symbols introduced in 2.32 would emit a compiler warning.

Using this scheme it should be possible to have fairly complex
situations, like the following one:

  assuming that an application is compiled with:
    GLIB_VERSION_MIN_REQUIRED = GLIB_VERSION_2_30
    GLIB_VERSION_MAX_ALLOWED  = GLIB_VERSION_2_32

  and a GLib header containing:

    void function_A (void) GLIB_DEPRECATED_IN_2_26;
    void function_B (void) GLIB_DEPRECATED_IN_2_28;
    void function_C (void) GLIB_DEPRECATED_IN_2_30;
    void function_D (void) GLIB_AVAILABLE_IN_2_32;
    void function_E (void) GLIB_AVAILABLE_IN_2_34;

  any application code using the above functions will get the following
  compiler warnings:

    function_A: deprecated symbol warning
    function_B: deprecated symbol warning
    function_C: no warning
    function_D: no warning
    function_E: undefined symbol warning

This means that it should be possible to gradually port code towards
non-deprecated API gradually, on a per-release basis.

https://bugzilla.gnome.org/show_bug.cgi?id=670542
2012-02-26 23:58:41 -05:00
Christian Persch
d70634526d regex: Remove --disable-regex option
https://bugzilla.gnome.org/show_bug.cgi?id=622149
2012-02-26 22:22:56 -05:00
Rico Tzschichholz
9e5ff3d3eb Bump version 2012-02-21 14:19:37 +01:00
Matthias Clasen
823f553e36 2.31.18 2012-02-21 00:26:48 +01:00
Matthias Clasen
26a5af83d4 Back to odd 2012-02-04 22:54:58 -05:00
Matthias Clasen
d6a4369089 2.31.16 2012-02-04 18:43:13 -05:00
Matthias Clasen
8ab7ed8ffc Bump version number 2012-01-30 18:47:31 -05:00
Matthias Clasen
d332bdcc58 2.31.14 2012-01-30 18:46:18 -05:00
Enrique Ocaña González
aa95853f9c Honor the glib_cv_g_atomic_lock_free env var in configure
This fixes bug: https://bugzilla.gnome.org/show_bug.cgi?id=668572
2012-01-24 23:40:33 -05:00
Matthias Clasen
716cf35585 Add a resource tool
This lets you poke at resources in elf files and
standalone resource bundles. So far, only listing
and extracting resources is supported. The support
for elf files requires libelf.
2012-01-23 00:24:34 -05:00
Dan Winship
b6a8dec558 g_date_time_format: fix output in non-UTF-8 locales
In non-UTF-8 locales, the translations and nl_langinfo() return values
must be converted to UTF-8 before being returned to the caller.
Likewise, when making a recursive call to expand a format like '%x',
the format string must first be converted to UTF-8.

https://bugzilla.gnome.org/show_bug.cgi?id=668250
2012-01-20 19:50:48 -05:00
Matthias Clasen
9fa374ccf7 bump rev 2012-01-20 15:42:44 -05:00
Matthias Clasen
e4642d58ad 2.31.12 2012-01-20 15:10:29 -05:00
Dan Winship
da9d98728d Fix glib-compile-resources usage when cross-compiling
Copy the behavior of glib-genmarshal: require an installed copy of it,
and use that rather than the built copy.
2012-01-18 12:07:11 -05:00
Dan Winship
08036ce303 gsocket: make this compile on Windows again
https://bugzilla.gnome.org/show_bug.cgi?id=668071
2012-01-17 19:46:57 -05:00
Matthias Clasen
8390f3bf7e Back to the odd 2012-01-16 14:46:26 -05:00
Matthias Clasen
639c5867c7 2.31.10 2012-01-16 14:00:45 -05:00
Sebastian Dröge
97f25892ea GSocket: Add possibility to join a multicast group only on a specific interface 2012-01-16 18:41:40 +01:00
Patrick Welche
decac50c15 Protect call to pthread_condattr_setclock with define.
While here update pthread_attr_setstacksize test to use AC_LINK_IFELSE
and avoid an unused variable in glib/tests/thread.c.

https://bugzilla.gnome.org/show_bug.cgi?id=667790
2012-01-15 23:41:27 -05:00
Matthias Clasen
5377c0de01 Beef up Libs.private in glib-2.0.pc
This should help getting static builds working on mingw.
Based on a patch by Volker Grabsch, bug 619126.

At the same time, drop the unnecessary GLIB_RT_LIBS variable;
we are already adding -lrt to G_THREAD_LIBS.
2012-01-15 22:15:10 -05:00
Matthias Clasen
f8843a0feb Back to odd 2012-01-10 00:40:14 -05:00
Matthias Clasen
4a016d82f1 2.31.8 2012-01-10 00:39:20 -05:00
Matthias Clasen
643ad9f6c3 Remove another unused AC_DEFINE
Nothing was using the HAVE_GCOV define.
2011-12-27 17:45:40 -05:00
Matthias Clasen
7cc9e10cce Drop unused AC_SUBST
DISABLE_MEM_POOLS is only used as define.
2011-12-27 17:20:36 -05:00
Matthias Clasen
bc85e6ed51 Remove a bashism 2011-12-27 17:15:44 -05:00
Matthias Clasen
a176008826 Drop a lot of dead configury for threads
Much of this became obsolete by the recent rewrite of our
threading support.
2011-12-27 17:12:39 -05:00
Matthias Clasen
8cea99741b Don't put documentation in glibconfig.h 2011-12-27 16:22:13 -05:00
Matthias Clasen
31f0ad3f35 Make glibconfig.h include guards consistent 2011-12-27 16:18:19 -05:00
Matthias Clasen
d09800d86e Remove a commented-out macro 2011-12-27 16:16:24 -05:00
Matthias Clasen
4576a459fc Remove obsolescent AC_HEADER_STDC macro
We only used the resulting define in one place, and really,
these headers just have to be around or its not worth trying.
2011-12-27 15:55:04 -05:00
Ryan Lortie
f3cf8c0ca8 *bump* 2011-12-19 15:24:52 -05:00
Ryan Lortie
fbe1fb8e49 glib 2.31.6 2011-12-19 13:38:21 -05:00
Dan Winship
84df41c02c configure.ac: robustify netlink.h check
https://bugzilla.gnome.org/show_bug.cgi?id=666173
2011-12-15 09:39:06 -05:00
Ryan Lortie
b79d1f8619 bump version 2011-12-13 09:16:51 -05:00
Ryan Lortie
2f9ab64ac9 glib 2.31.4 2011-12-12 13:36:40 -05:00
Matthias Clasen
6bb8fdaa5f Make the qsort_r check cross-compile friendly
Pointed out by Daniel Mack.

https://bugzilla.gnome.org/show_bug.cgi?id=665607
2011-12-06 07:44:55 -05:00
Ryan Lortie
b2cb386b78 post-release bump 2011-11-21 15:21:23 -05:00
Ryan Lortie
36c21d4790 release glib 2.31.2 2011-11-21 14:23:17 -05:00
Christian Persch
eaaf18960f Fix the fix for G*_TO_POINTER casts on 32 bits
The 'fix' from commit 16292dd753 broke the
build on 32 bit because it was missing the parentheses around "gint" / "guint"
in glib_gp[u]i_cast.

https://bugzilla.gnome.org/show_bug.cgi?id=661546
2011-11-17 14:24:09 +01:00
Benjamin Otte
8863071b9d localfileenumerator: Take the type from the readdir() call
That way, we can avoid stat() calls for all enumerated files in various
cases. In particular in the autocompletion code in the GTK filechooser.
2011-11-16 17:22:03 +01:00
Lucas De Marchi
16292dd753 Fix G*_TO_POINTER casts on 32 bits
If we don't do the cast to the proper size in 32 bits, things like below
doesn't work:

uint8_t u = 20;
void *p;

p = GUINT_TO_POINTER(u);

Signed-off-by: Colin Walters <walters@verbum.org>

https://bugzilla.gnome.org/show_bug.cgi?id=661546
2011-11-16 10:47:21 -05:00
Alexander Larsson
8d023c2706 win32: Use timeGetTime as monotonic base
This allows apps that need it to increase timer accuracy
using timeBeginPeriod
2011-11-16 09:10:46 +01:00
Matthias Clasen
375015018b Switch to using template-free docs build
All docs are finally inline, so we can do this switch.
2011-11-14 21:22:46 -05:00
Dan Winship
fe5ba0f291 add GNetworkMonitor, for... monitoring the network
Add GNetworkMonitor and its associated extension point, provide a base
implementation that always claims the network is available, and a
netlink-based implementation built on top of that that actually tracks
the network state.

https://bugzilla.gnome.org/show_bug.cgi?id=620932
2011-11-14 13:42:30 -05:00
Kristian Rietveld
f218353e04 Need to include xlocale.h on Darwin for strtod_l
This fixes the build of gstrfuncs.c on Darwin.
2011-11-09 08:32:33 +01:00
Robert Nagy
ba7bf09285 Fix some build issues on OpenBSD
Adapt to some OpenBSD header quirks.
Patch by Robert Nagy.

https://bugzilla.gnome.org/show_bug.cgi?id=661386
2011-10-24 21:20:14 -04:00
Ryan Lortie
3fd412549f configure.ac: join the cargo-cult of _cv_
For some reason, the setting of g_atomic_lock_free wasn't making it down
to the lower part of the configure script where glibconfig.h was being
generated when building using mingw32-configure.

If we prefix glib_cv_ to the start of the variable name (like everyone
else is doing) then it magically starts working.

I love you, automake.
2011-10-19 10:11:54 -04:00
Ryan Lortie
aba0f0c38b gatomic: introduce G_ATOMIC_LOCK_FREE
We clean up the detection of if we should do 'real' atomic operations or
mutex-emulated ones with the introduction of a new (public) macro:
G_ATOMIC_LOCK_FREE.  If defined, our atomic operations are guaranteed to
be done in hardware.

We need to use __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 to determine if our
compiler supports GCC-style atomic operations from the gatomic.h header
because we might be building a program against GLib using a different
set of compiler options (or a different compiler) than was used to build
GLib itself.

Unfortunately, this macro is not available on clang, so it has currently
regressed to using the mutex emulation.  A bug about that has been
opened here:

  http://llvm.org/bugs/show_bug.cgi?id=11174
2011-10-18 16:45:28 -04:00
Ryan Lortie
e5fd0f5df6 Revert "Bug 652827 - glib-2.29.8 no longer builds with mingw.org's toolchain"
This reverts commit 3492122112.
2011-10-17 10:55:02 -04:00
Ryan Lortie
306aa62ea5 drop -uninstalled.pc files
These were meant to provide the ability to use GLib directly out of its
build tree but have a couple of rather serious limitations that prevent
their serious use:

 - these files only worked with programs built using libtool

 - for non-trivial uses, other environment variables will need to be
   setup to allow GLib to function properly

 - the system doesn't stack well when attempting to use multiple
   libraries all uninstalled

The jhbuild --prefix= style system works much better in every way, so we
remove this old hack.
2011-10-16 19:14:18 -04:00
Ryan Lortie
a9a1c97904 gthread: move test cases to glib/ 2011-10-16 19:08:59 -04:00
Ryan Lortie
a5800ef336 Finish killing off GSystemThread 2011-10-12 23:04:15 -04:00
Dan Winship
71cf70b39c Simplify checks for CLOCK_MONOTONIC
Remove the complicated configure-time and runtime checks, and just use
CLOCK_MONOTONIC if it's defined.

https://bugzilla.gnome.org/show_bug.cgi?id=661421
2011-10-12 08:59:35 -04:00
Matthias Clasen
7455dd370e Make single includes mandatory
This has been the official line since 2.17, which seems plenty
long enough for a transition phase.
2011-10-12 00:25:38 -04:00
Matthias Clasen
0e3f530185 Remove cruft from g_strerror and g_strsignal
We can just assume that strerror/strsignal are available
nowadays. At the same time, drop use of thread-private storage.
Instead, always return interned strings.

https://bugzilla.gnome.org/show_bug.cgi?id=660849
2011-10-05 01:12:53 -04:00
Matthias Clasen
ddbd4acdfb Need to check for prlimit 2011-10-05 01:04:02 -04:00
Matthias Clasen
1909d2398a Make thread names useful in a debugger
Associate the name with the system thread, so that debuggers
can see it. This is currently only implemented for Linux, using
prctl.

https://bugzilla.gnome.org/show_bug.cgi?id=660635
2011-10-02 22:11:58 -04:00
Matthias Clasen
e6c76d9fd4 Clean up atomic cruft
Nothing is using these defines anymore, and the messages
are misleading. Based on a patch by Kean Johnston.

https://bugzilla.gnome.org/show_bug.cgi?id=660013
2011-09-29 23:20:09 -04:00
Ryan Lortie
4ec6d47806 GStaticMutex: remove ./configure checks
Now that GMutex is exposed we can avoid the dance we did in ./configure
to allocate the correct amount of space for it within the GStaticMutex.

Remove the checks and move the definitions to gthread.h, trying very
hard to keep ABI-stable (even though we will be deprecating this soon).
2011-09-21 16:06:53 -04:00
Matthias Clasen
e02b062635 Use xlocale functions where available
Implement g_ascii_strto{d,ll,ull} and g_ascii_formatd using
xlocale functions where available. This is slightly faster
and a lot less icky than our homegrown code.

https://bugzilla.gnome.org/show_bug.cgi?id=640293
2011-09-17 22:48:39 -04:00
Matthias Clasen
61b51555ec Cosmetics
Make configure --help output a little more regular, by using
AC_HELP_STRING() more consistently.
2011-09-11 13:15:29 -04:00
Ryan Lortie
96e4896804 invert gthread-impl includes
configure.ac defined G_THREAD_SOURCE and gthread-impl would #include it.

Instead, since we only have two thread implementations now, and since we
always use the Windows one only on Windows, move the logic to the
Makefile, predicated on 'if OS_WIN32'.  Then have the chosen backend do
the #include "gthread-impl.c" from there.

Remove the G_THREAD_SOURCE define from configure.ac.
2011-09-09 12:47:40 -04:00
Ryan Lortie
715f94e951 Remove support for DCE threads 2011-09-09 12:47:40 -04:00
Dan Winship
5a30712dc7 Remove !g_thread_supported() codepaths in gio
In particular, remove the libasyncns import, which was only used by
GUnixResolver, which is only used when threads are not available.
Likewise remove GWin32Resolver, and the hacky broken non-threaded
parts of GIOScheduler.

https://bugzilla.gnome.org/show_bug.cgi?id=616754
2011-09-09 12:47:39 -04:00
Dan Winship
5bc7729d16 Make threads mandatory
G_THREADS_ENABLED still exists, but is always defined. It is still
possible to use libglib without threads, but gobject (and everything
above it) is now guaranteed to be using threads (as, in fact, it was
before, since it was accidentally impossible to compile with
--disable-threads).

https://bugzilla.gnome.org/show_bug.cgi?id=616754
2011-09-09 12:41:55 -04:00
Ryan Lortie
8060a7a207 'master' is now glib 2.31.0 2011-09-06 10:55:09 -04:00
Ryan Lortie
9d6b55499f glib 2.29.90 2011-09-06 10:08:34 -04:00
Ryan Lortie
b6fdbb8e44 g_date_time_format: honour T_FMT_AMPM for '%r'
We had the 12 hour time format hard-coded to "%02d:%02d:%02d %s" but it
actually changes depending on the locale.  Just with the other formats,
use nl_langinfo() if we have it, otherwise fall back on gettext().
2011-09-04 23:55:58 -04:00