Commit Graph

416 Commits

Author SHA1 Message Date
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
Matthias Clasen
6274386e52 Only use gcc-specific options when the compiler is gcc
The -Wstrict-aliasing option that we use to compile atomic
tests does not exist with compilers other than gcc, so
don't pass it to those.
https://bugzilla.gnome.org/show_bug.cgi?id=652272
https://bugzilla.gnome.org/show_bug.cgi?id=656152
2011-09-04 20:06:53 -04:00
Patrick Welche
afa82ae805 Avoid getmntinfo
- getmntinfo can take struct statfs or statvfs depending on the
  OS. Use getvfsstat and if not found getfsstat instead. Idea from
  Dan Winship.
- g_local_file_query_filesystem_info(): use statvfs.f_fstypename
  if available

https://bugzilla.gnome.org/show_bug.cgi?id=617949
2011-09-04 17:50:41 -04:00
Dan Winship
e943366de5 configure: fix win32 build
Only require -lresolv on unix, like before

https://bugzilla.gnome.org/show_bug.cgi?id=645336
2011-09-04 08:42:03 -04:00
Ryan Lortie
2d7051e3a3 g_date_time_format: improve support for alt digits
Improve a few situations where g_date_time_format() was getting the
padding wrong when displaying alt digits (eg: Arabic numerals) for
formatting time.

We now depend on nl_langinfo (_NL_CTYPE_OUTDIGITn_WC) to do the
conversion, which is very likely glibc-specific, but our previous method
relied on a glibc-specific printf() feature, so no harm done there.

Add a configure check for nl_langinfo (_NL_CTYPE_OUTDIGITn_WC).

Uncomment a few testcases that were failing previously.

https://bugzilla.gnome.org/show_bug.cgi?id=658107
2011-09-03 23:06:18 -04:00
Dan Winship
0d63793129 configure: check if -lsocket is needed (for Solaris)
Also, link libgio to -lresolv explicitly, rather than depending on
getting it implicitly via the libasyncns build (which should
eventually be going away).

https://bugzilla.gnome.org/show_bug.cgi?id=645336
2011-09-03 19:58:40 -04:00
Ryan Lortie
ab8938c64d Revert "gdatetime: Add g_date_time_source_new()"
This reverts three commits:

 - 1feb752996
 - 5763c63147
 - 21a5389340

https://bugzilla.gnome.org/show_bug.cgi?id=655129
2011-08-31 12:56:28 -04:00
Matthias Clasen
780591b542 Post-release version bump 2011-08-30 11:44:57 -04:00
Matthias Clasen
c6850add98 2.29.18 2011-08-30 11:14:37 -04:00
Colin Walters
5763c63147 Add Linux timerfd_create() backend for g_date_time_source_new()
This makes the source efficient on Linux.

Tested on Fedora 15 x86_64 + updates, kernel-2.6.40-4.fc15.x86_64
Also tested fallback code for unsupported flag TFD_TIMER_CANCEL_ON_SET
on kernel 2.6.38.

https://bugzilla.gnome.org/show_bug.cgi?id=655129
2011-08-29 10:24:37 -04:00
Dieter Verfaillie
0eaec4e59a Avoid using - (hyphen) in gdbus-codegen directory name
It's an invalid character in Python module names and prevents us from
being able to import it.

https://bugzilla.gnome.org/show_bug.cgi?id=650763
2011-08-25 16:55:46 -04:00
Matthias Clasen
527dc86722 GDateTime: use nl_langinfo() when available
This makes g_date_time_format() react to LC_TIME, which is
what people expect.

Translators: this change means that the GDateTime strings
are only used when the C library does not already provide
suitable translated strings for these (month names, etc).
2011-08-21 23:48:07 -04:00
Ryan Lortie
b18ca488ae post-release bump 2011-08-15 21:01:52 -04:00
Ryan Lortie
e17ce3594e glib 2.29.16 2011-08-15 21:01:28 -04:00
Matthias Clasen
3c504e4765 Fix statfs/statvfs decision
We want to force use of statvfs when statfs is deficient.
This does not make any difference on Linux.

https://bugzilla.gnome.org/show_bug.cgi?id=656151
2011-08-13 15:07:38 -04:00
Behdad Esfahbod
3492122112 Bug 652827 - glib-2.29.8 no longer builds with mingw.org's toolchain
Check for Win32 atomic intrinsics.
2011-08-11 08:40:43 +02:00
Behdad Esfahbod
fc442bdbe6 Cleanup gatomic checks 2011-08-11 08:40:42 +02:00
Behdad Esfahbod
21e682388d Fix typo 2011-08-11 08:40:42 +02:00
Simon McVittie
8f50354870 Allow current lcov (version 1.9) to be used for coverage
It seems to work fine with the same invocation already used.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=656162
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
2011-08-09 10:36:40 +01:00
Colin Walters
2512341fa6 Require Python 2.5 explicitly
Without someone to regularly test 2.4, and since the code in reality
requires 2.5, switch to that for now.
2011-08-06 09:36:49 -04:00
Colin Walters
b3111f87e2 configure: Fix statvfs/statfs detection
Add missing 'x' as pointed out by declanw@is.bbc.co.uk

https://bugzilla.gnome.org/show_bug.cgi?id=656048
2011-08-06 09:22:44 -04:00
Ryan Lortie
0584f0c504 GWakeup: test fallback case
We need to test the case of eventfd in the libc but no kernel support.

In order to do that, we add a separate compile of the GWakeup testcase
that interposes an 'eventfd' symbol that always returns -1 with errno
set.  That will trigger the fallback case.
2011-07-25 17:43:28 +02:00
Ryan Lortie
7df304a2d8 Bump the version 2011-07-22 09:48:34 +02:00
Ryan Lortie
a6c936c45f Release 2.29.14 2011-07-22 08:55:35 +02:00
Matthias Clasen
265f245376 post-release bump 2011-07-19 23:04:04 -04:00
Matthias Clasen
c073ce3a3b 2.29.12 2011-07-19 23:02:05 -04:00
Patrick Welche
7f289c924b Avoid failing arguments to statfs() test on systems which use statvfs.
- move choice of statfs vs statvfs from gio/glocalfile.c to configure.ac
- if statvfs is the choice, then don't check number of arguments to statfs()
- use choice in gio/gunixmounts.c as well

https://bugzilla.gnome.org/show_bug.cgi?id=617949
2011-07-18 14:17:28 -04:00
Matthias Clasen
65c6ebddee Post-release version bump
Up to 2.29.11
2011-07-05 11:22:11 -04:00
Matthias Clasen
89df070c1f 2.29.10 2011-07-05 11:21:40 -04:00
Ryan Lortie
b07f2833c0 Change to AM_MAINTAINER_MODE([enable])
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=653429
2011-06-27 11:31:26 +01:00
Colin Walters
fdca8060aa build: Cache check for futex() and eventfd() 2011-06-21 23:28:52 -04:00
Colin Walters
3904c8761a gmain: use Linux eventfd() for main context wake up
The Linux eventfd() call is basically tailor made for the main loop
wake up pipe - all we want is a threadsafe way to write to a file
descriptor, and wake up the context on the other end; we don't care
about the content at all.

The eventfd manual page basically explains the benefits:

       Applications can use an eventfd file descriptor instead of a
       pipe (see pipe(2)) in all cases where a pipe is used simply to
       signal events.  The kernel overhead of an eventfd file
       descriptor is much lower than that of a pipe, and only one file
       descriptor is required (versus the two required for a pipe).

When writing my multithreaded spawn test case I actually hit the 1024
file descriptor limit quickly, because we used 2 fds per main context.
This brings that down to 1.

https://bugzilla.gnome.org/show_bug.cgi?id=653140
2011-06-21 23:28:52 -04:00
Javier Jardón
49fac943f3 configure.ac: Generate xz tarballs by default 2011-06-20 11:49:40 +01:00
Matthias Clasen
9a9cca9764 bump version 2011-06-13 23:54:59 -04:00
Matthias Clasen
9f11f054eb 2.29.8 2011-06-13 23:20:32 -04:00
Christophe Fergeau
28a9e91b13 Fix regression in qsort_r BSD detection
We can use AC_CHECK_FUNCS to detect if qsort_r is available on
the system or not since it will unconditionnally define
HAVE_QSORT_R, which we don't want since on BSD, qsort_r isn't usable
for us, so we don't want to have HAVE_QSORT_R defined on such platforms.
By using AC_CHECK_FUNC instead, we can defer defining HAVE_QSORT_R until
we have actually tested it's usable.

https://bugzilla.gnome.org/show_bug.cgi?id=651920
2011-06-10 15:18:58 +02:00
Kalev Lember
03441e406c configure.ac: Check for qsort_r function before running the test program
When cross compiling, test programs cannot be run. In order to make it
easier to cross compile for targets that do not have qsort_r(), check
for the function before trying to run the test program.

This avoid having to populate cache with glib_cv_have_qsort_r=no with
e.g. mingw cross compiler.

https://bugzilla.gnome.org/show_bug.cgi?id=651920
2011-06-05 19:38:47 +03:00
Kalev Lember
886a3499e1 configure.ac: Print qsort_r result only once
AC_CACHE_CHECK that was introduced in 70a19815 prints the result, so the
following AC_MSG_RESULT is no longer needed.
2011-06-05 19:37:49 +03:00
Matthias Clasen
b3effbf683 bump version 2011-06-04 20:06:44 -04:00
Matthias Clasen
3e6dc0d8fa 2.29.6 2011-06-04 19:05:51 -04:00
Matthias Clasen
3b9c8962dc configure.in: Use tar-ustar to avoid name length limitations
Also use dist-bzip2.
2011-06-04 14:43:20 -04:00
David Zeuthen
723adbc2fe Move gdbus-codegen example code and docs into separate directories
This avoids the generated types (e.g. ExampleAnimal, ExampleCat,
ExampleObject and ExampleObjectManagerClient) being referenced in the
core gio docs. This was requested by Matthias.

Signed-off-by: David Zeuthen <davidz@redhat.com>
2011-06-03 14:18:56 -04:00
Ryan Lortie
858a328792 Fix futex(2) detection and use
Commit 22e7fc34c4 introduced a regression:
futexes were always disabled and the emulated codepath was always being
used.  That commit was in response to an originally buggy
implementationt hat wrote junk into config.h (but happened to be working
properly).

Fix up the mess and while we're at it, close bug #631231 by including
syscall.h from the correct location and using __NR_futex instead of
SYS_futex.

Closes #631231.
2011-05-28 17:27:12 -04:00
Matthias Clasen
dec7d41275 Improve atomic ops implementation
When using gcc builtins for atomic operations, provide them
as macros, so gcc can see the builtins and do optimizations.
This change gives considerable speedups in bitlocks, which
use atomic operations heavily, see bug 650458.

Also, don't define G_ATOMIC_OP_MEMORY_BARRIER_NEEDED unconditionally
when using gcc builtins.

https://bugzilla.gnome.org/show_bug.cgi?id=617491
2011-05-22 16:31:43 -04:00
Matthias Clasen
22e7fc34c4 Fix HAVE_FUTEX definition 2011-05-22 00:33:05 -04:00
Matthias Clasen
6c4b84d5ff Post-release bump 2011-05-04 21:26:11 -04:00
Matthias Clasen
6ea2291573 Pre-release bump 2011-05-04 14:53:08 -04:00
Dan Winship
e56498ee0b Fix usage of _GNU_SOURCE
_GNU_SOURCE must be defined before including any other (system)
header, so defining it in glib-unix.h (and hoping no one has included
anything else before that) is wrong. And the "#define _USE_GNU"
workaround for this problem in gnetworkingprivate.h is even wronger
(and still prone to failure anyway due to single-include guards).

Fix this by defining _GNU_SOURCE in config.h when building against
glibc. In theory this is bad because new releases of glibc may include
symbols that conflict with glib symbols, which could then cause
compile failures. However, most people only see new releases of glibc
when they upgrade their distro, at which point they also generally get
new releases of gcc, which have new warnings/errors to clean up
anyway.

https://bugzilla.gnome.org/show_bug.cgi?id=649201
2011-05-03 07:07:41 -04:00
Dan Winship
6f711a76cd Fix autoconf 2.68 warnings
autoconf 2.68 is very insistent that AC_LANG_SOURCE/AC_LANG_PROGRAM
must be used in certain places, to avoid quoting/lack-of-quoting
problems, or something. Fix.
2011-05-02 11:50:23 -04:00
David Zeuthen
0e352fdb18 Merge branch 'master' into gdbus-codegen 2011-04-29 12:01:35 -04:00
Maciej Piechotka
70a1981532 Allow caching have_qsort_r which re-enables cross-compiling
https://bugzilla.gnome.org/show_bug.cgi?id=646309
2011-04-26 23:41:51 -04:00
Matthias Clasen
76492d7741 Bump version 2011-04-13 08:48:10 -04:00
David Zeuthen
9c8341f1aa Forgot to add autofoo for libffi
Signed-off-by: David Zeuthen <davidz@redhat.com>
2011-04-09 11:39:32 -04:00
David Zeuthen
0b9229beca Add gdbus-codegen(1) command
It doesn't work yet without the user manually adding ffi bits. That's
the topic of the next commit.

Signed-off-by: David Zeuthen <davidz@redhat.com>
2011-04-08 17:11:38 -04:00
Martin Nordholts
37858f7f5e Check availability of linux/magic.h
Check availability of linux/magic.h. It isn't available in Linux
versions before 2.6.19.
2011-03-08 19:13:57 +01:00
Chun-wei Fan
7b118b0c41 Visual C++ 2010 Project Files: autotools files
These are the updates to the autotools files to
ensure the expansion of the GIO, GLib and GObject
project files (*.vcxproj, *.vcxproj.filters) and to
enable the distribution of the VS2010 project files

The actual VS2010 project files will follow shortly
2011-02-22 19:58:18 +08:00
Matthias Clasen
82388ef3cd Bump micro to .2 2011-02-17 23:30:29 -05:00
Matthias Clasen
4cda703d8e Use glibc qsort_r() for g_qsort_with_data()
No point in using an outdated copy that claims to
'work best on a Sun 4/260' when we can just wrap qsort_r...
2011-02-16 01:28:27 -05:00
Matthias Clasen
4985088527 Fix the tm.tm_gmtoff check 2011-02-13 23:49:19 -05:00
Ryan Lortie
2409c69d5b Branch away from stable, bump to 2.29.0
This is now the unstable branch.

Stable release is on the glib-2-28 branch.
2011-02-11 10:28:55 -05:00
Matthias Clasen
214d1bdd20 Bump version 2011-02-08 13:21:37 -05:00
Matthias Clasen
7839c46897 Bump version to 2.28.0 2011-02-07 23:53:29 -05:00
Matthias Clasen
75098c297c Bump version 2011-01-28 23:47:36 -05:00
Matthias Clasen
83661af46a Enable silent rules by default 2011-01-28 21:09:52 -05:00
Matthias Clasen
a33aaad00c Fix GIO build on Solaris
Major and minor are defined in sys/mkdev.h on Solaris

Patch by Fabian Groffen
https://bugzilla.gnome.org/show_bug.cgi?id=637013
2011-01-28 20:50:43 -05:00
Emilio Pozuelo Monfort
9f0c592b9c Bump PCRE minimum version
https://bugzilla.gnome.org/show_bug.cgi?id=640261
2011-01-22 15:36:13 +00:00
Matthias Clasen
acc295e292 Bump version 2011-01-22 09:52:33 -05:00
Matthias Clasen
1df31f0014 Bump version 2011-01-11 16:13:42 -05:00
Javier Jardón
33c7a9d8ec configure: Use AC_CONFIG_MACRO_DIR
To keep the correct macros in-tree.
2011-01-07 19:07:57 +01:00
Matthias Clasen
48f8c07c53 Bump version 2011-01-05 20:43:46 -05:00
Matthias Clasen
98a0dfe1da Bump version to 2.27.90 2011-01-05 17:01:42 -05:00
Matthias Clasen
dce0c1c563 Bump version 2010-12-20 16:47:10 -05:00
Matthias Clasen
1bbf4cb87c Remove the dead --disable-visiblity configure option
At the same time, document --disable-Bsymbolic.
2010-12-15 11:41:05 -05:00
Matthias Clasen
c897dea8c1 Bump version 2010-11-29 10:49:28 -05:00
Matthias Clasen
db7ea5e558 Bump version 2010-11-08 23:06:53 -05:00
Ryan Lortie
38e7aa9855 Clean up g_usleep()
Remove some code that was written in 2000 to support OSes that do not
have nanosleep().  nanosleep() has been specified (in POSIX-1.2001) for
almost a decade now, so assume we have it (except on Windows).

Remove the checks for nanosleep and nsleep from configure.ac.

We're removing this code because we honestly believe that nobody will be
affected.  If this change negatively impacts you, please file a bug.
2010-11-02 22:39:09 -04:00
Matthias Clasen
81f93eb29c Bump version 2010-11-01 00:32:47 -04:00
Emilio Pozuelo Monfort
dd9f8b8cc6 Don't enable dtrace support when dtrace isn't available
Fixes FTBFS when dtrace isn't available but <sys/sdt.h> is.
2010-10-28 11:23:03 -04:00
Ryan Lortie
817b322ca7 Link libglib against -lrt if we have clock_gettime 2010-10-27 09:22:12 -04:00
Matthias Clasen
66ec8b949e Bump version 2010-10-25 09:55:38 -04:00
Ryan Lortie
c1b7697a8b bump version to 2.27.1 2010-09-17 20:48:25 -04:00
Ryan Lortie
7be2ba4d94 Bump to version 2.27.0 after branching glib-2-26 2010-09-17 13:27:38 -04:00
Matthias Clasen
e57884041b Bump version 2010-08-30 20:47:40 -04:00
Tor Lillqvist
3c86a77ae5 Fix Win32 build 2010-08-26 12:41:46 +03:00
Matthias Clasen
322ac7ff68 Bump version 2010-08-16 16:36:38 -04:00
Matthias Clasen
ef4b0afc0b Bump version 2010-08-13 00:33:04 -04:00
Ryan Lortie
8ad9d9dbe3 configure.ac: define glib_INCLUDES and friends
These macros should be used instead of -I for things in the tree that
depend on various bits of glib.

also gobject_INCLUDES, gthread_INCLUDES, gmodule_INCLUDES, gio_INCLUDES
2010-08-06 13:07:31 -04:00
Matthias Clasen
84d3aa652f Beautify configure output
Checking for cpp before using it avoids somewhat ugly
nested output. Pointed out in bug 593544.
2010-08-05 01:53:15 -04:00
Matthias Clasen
530f67384e Modernize pkg-config check
As pointed out in bug 599590, our hand-rolled check fails to find
cross-complication variants of pkg-config like i686-pc-mingw32-pkg-config.
2010-08-05 01:45:26 -04:00
Ryan Lortie
f9845bcbec *bump* 2010-07-29 22:04:43 +02:00
Javier Jardón
de56aca0b5 Clean autotools config a bit
New requirements:
autoconf >= 2.62
automake >= 1.10
libtool >= 2.2
2010-07-13 19:36:37 +02:00
Ryan Lortie
3a8ab85d96 rename configure.in to configure.ac 2010-07-13 11:59:16 -04:00