2007-01-07 Matthias Clasen <mclasen@redhat.com>
Don't link glib against libpthread. (#393812)
* configure.in: Link gthread against librt, not glib itself.
* glib/gthread.h:
* glib/gthread.c: Add a new thread function, gettime.
* glib/gtimer.c: Use gettime instead of directly working with
the various system interfaces.
* gthread/gthread-impl.c:
* gthread/gthread-posix.c:
* gthread/gthread-win32.c: Implement gettime.
svn path=/trunk/; revision=5227
2007-01-02 Michael Natterer <mitch@imendio.com>
* configure.in
* Makefile.am: remove references to build/ until a proper decision
has been made what to do with it.
svn path=/trunk/; revision=5189
2006-12-17 Matthias Clasen <mclasen@redhat.com>
* configure.in: Make montonic clock test work again. Does
AC_COMPILE_IFELSE not get confdefs ? Also, move the clock
tests below the thread checks to fix#364663.
2006-12-16 Matthias Clasen <mclasen@redhat.com>
* configure.in: Use AC_COMPILE_IFELSE for the monotonic
clock test. (#362918, Han-Wen Nienhuys, Jeremy Lainé)
2006-12-15 Matthias Clasen <mclasen@redhat.com>
* configure.in: On Solaris, set CFLAGS and LDFLAGS that
work both with Sun cc and gcc. (#315061, Lazlo Peter)
2006-12-15 Matthias Clasen <mclasen@redhat.com>
Fix#357585, Padraig O'Briain.
* configure.in: Check for fdwalk.
* glib/gspawn.c (do_exec): Use fdwalk() to close all
file descriptors.
* glib/gspawn.c (fdwalk): Fallback implementation of
fdwalk.
2006-12-12 Matthias Clasen <mclasen@redhat.com>
* configure.in: Add a check for broken poll on Mac OS X.
* glib/gmain.c: Use poll emulation on OS X. (#302672, Toby Peterson,
patch by Dave Vasilevsky)
2006-10-01 Matthias Clasen <mclasen@redhat.com>
* glib/gtimer.c (g_usleep): Use nsleep to implement
g_usleep on AIX. (#321974, Andrew Paprocki)
* configure.in: Check for nsleep
2006-08-25 Matthias Clasen <mclasen@redhat.com>
* configure.in: Fix the pthread compiler flag detection.
* glib/gunicode.h:
* glib/gutf8.c (_g_utf8_make_valid): Rename make_valid_utf8
from gconvert.c, move it to gutf8.c, and export it privately.
* glib/gconvert.c (g_filename_display_name): Adjust callers.
* glib/gkeyfile.c: Use _g_utf8_make_valid() in a number of
places to ensure error messages are valid UTF-8. (#351853,
Simon Budig)
2006-03-23 Emmanuele Bassi <ebassi@cvs.gnome.org>
* configure.in: Check for timegm.
* glib/gtimer.h:
* glib/gtimer.c:
* glib/glib.symbols:
* docs/reference/glib/glib-sections.txt: Added g_time_val_to_iso8601
and g_time_val_from_iso8601, to convert a GTimeVal to and from an
ISO 8601 encoded date.
* tests/testglib.c: Added test cases for g_time_val_to_iso8601()
and g_time_val_from_iso8601() functions.
2006-03-13 Anders Carlsson <andersca@luminoth.local>
* configure.in: Revert fix for #322476, it breaks module loading
since libtool on darwin makes shared modules use .so and shared
libraries use .dylib. The fix breaks shared module loading everywhere
in GTK+.
2006-03-06 Anders Carlsson <andersca@imendio.com>
* configure.in:
Skip checking thread flags on Darwin. Fix suggested by Manish Singh.
(#314794, Gregor Riepl)
Tue Feb 14 17:00:43 2006 Tim Janik <timj@imendio.com>
* glib/gslice.c: only define _XOPEN_SOURCE to 600 to get at
posix_memalign() in case we actually are going to use it, because
we detected a compliant implementation (#328997).
* configure.in (enable_included_printf): don't include malloc.h when
testing for posix_memalign() funcitonality, since this may break the
test on some systems (#328997).
Wed Jan 25 19:16:57 2006 Tim Janik <timj@imendio.com>
* fixed buglets reported by Jens Granseuer in #328254.
* configure.in: free the memory allocated in posix_memalign() tests.
* glib/gslice.c: spelling fixes.
Wed Jan 25 16:39:18 2006 Tim Janik <timj@imendio.com>
* glib/gslice.c: honour g_mem_gc_friendly settings when freeing
slices, make sure g_mem_gc_friendly is properly initialized.
* gmem.[hc]: ensure g_mem_gc_friendly is initialized from G_DEBUG upon
the first allocation. applied some branching optimizations.
* docs/macros.txt: reflected --enable-gc-friendly change and
described ENABLE_GC_FRIENDLY_DEFAULT as well as G_DEBUG=gc-friendly.
* configure.in: changed --enable-gc-friendly=yes to define
ENABLE_GC_FRIENDLY_DEFAULT.
* glib/garray.c: changed ENABLE_GC_FRIENDLY macro #ifdef-s to
if (G_UNLIKELY (g_mem_gc_friendly)).
* glib/gtree.c:
* glib/ghash.c: removed ENABLE_GC_FRIENDLY code which is now taken
care of by g_slice_free1().
* tests/slice-test.c: fixed leaks, reported by Kjartan Maraas.
Tue Jan 24 17:49:36 2006 Tim Janik <timj@imendio.com>
* glib/gslice.c: only use posix_memalign() if it's known to work,
revert to memalign() otherwise.
* configure.in: check for broken posix_memalign() implementations
to fix#328254.
2005-12-27 Matthias Clasen <mclasen@redhat.com>
Fix#316221, Michal Benes, Stanislav Brabec;
* configure.in: Fix a strict aliasing problem in
g_static_mutex_get_mutex().
* glib/gthread.h: ...and in
g_static_mutex_get_mutex_impl_shortcut().
2005-12-02 Matthias Clasen <mclasen@redhat.com>
* glib/gspawn.c:
* configure.in: Remove support for Solaris threads.
(#136971, Sebastian Wilhelmi, patch by Andrew Paprocki)
Thu Dec 1 17:32:46 2005 Tim Janik <timj@imendio.com>
* glib/gslice.[hc]: new slice allocator implementation.
* tests/slice-test.c: added random slice allocation test.
* glib/gthread.[hc]: removed newly added private thread mem API.
* glib/gthreadinit.h:
* glib/gmessages.c:
* glib/gthread.c:
* glib/gmem.c: divided glib threading initialisation into three phases,
initialisation where private keys and messaging are not available (only
needed by gmem.c), initialisation without messaging but private keys
available (gslice.c, gmessage.c), and full fledged initialisers that
server the rest of glib. initialisation functions got renamed to reflect
the limitations of their corresponding phases.
* glib/gmem.c: removed memchunk code, defer allocations to
g_slice_* instead.
* glib/gmem.[hc]: removed g_slice_* skeletons.
* glib/glib.symbols: added g_slice_* symbols.
* configure.in: check for availability of posix_memalign(3), memalign(3)
and valloc(3).
* glib/Makefile.am: added gslice.[hc].
2005-11-28 Matthias Clasen <mclasen@redhat.com>
Fix G_STMT_START / G_STMT_END on Solaris. (#321972,
Andrew Paprocki)
* configure.in: Check whether do { } while (0) works.
* glib/gmacros.h: Use do { } while (0) for G_STMT_START /
G_STMT_END if it works.
2005-10-19 Manish Singh <yosh@gimp.org>
* configure.in: Use AC_CHECK_FUNCS for _NSGetEnviron, to get the
config.h symbol automatically. Fixes bug #313731.
2005-08-17 Matthias Clasen <mclasen@redhat.com>
* configure.in: Check for crt_externs.h and _NSGetEnviron.
* glib/gutils.c: On Darwin, include crt-externs.h and
define environ using _NSGetEnviron(). (#313731)
2005-08-08 Matthias Clasen <mclasen@redhat.com>
* tests/convert-test.c: Enable the endianness test.
* glib/gconvert.c: Make the caching of iconv descriptors
optional.
* configure.in: Add an --enable-iconv-cache option, and
default to disabling iconv caching on new enough glibc.
Somebody with access to Solaris systems will need to test
if opening/closing of iconv descriptors is enough of
a performance problem to warrant the caching on that
platform. Note that the caching is causing correctness
problems in some corner cases, thus turning it off
is desirable unless it has severe performance implications.
2005-07-26 Matthias Clasen <mclasen@redhat.com>
* configure.in: Try -mt as compiler flag for threads, needed
for the HP C compiler on HP-UX. (#163051, Paul Cornett)
2005-07-15 Matthias Clasen <mclasen@redhat.com>
Make refcounting threadsafe by using atomic
operations. (#166020, Wim Taymans)
* gobject.c: Use a recursive lock to protect the
notify queue.
(g_object_unref): Get rid of g_object_last_unref and
do the last unref handling in g_object_unref.
(g_object_ref, g_object_unref): Use atomic operations.
* gsignal.c (struct _HandlerMatch): Use a full integer
for the ref_count field.
(handler_ref, handler_unref_R): Use atomic operations.
* gparam.c (g_param_spec_ref, g_param_spec_unref):
Use atomic operations instead of a lock to make the
refcounting threadsafe.
* gclosure.c (g_closure_ref, g_closure_unref): Use atomic
operations. This is more complicated here, since the
refcount is stored in a bitfield, so we also have
to access all other bitfield members atomically.
* gsignal.c (handlers_find): Read the meta_marshal flag
of the closure atomically.
* tests/Makefile.am (SUBDIRS): Add tests/refcount
* configure.in: Add tests/refcount
* tests/refcount/properties.c: Test property changes
from multiple threads.
* tests/refcount/signals.c: Test signal emission from
multiple threads.
* tests/refcount/objects.c: Test refcounting from
multiple threads.
* tests/refcount/objects2.c:
* tests/refcount/properties2.c: Tests to measure the
overhead of threadsafe refcounting.
* glib/giochannel.c (g_io_channel_ref, g_io_channel_unref):
Use atomic operations to make refcounting
threadsafe. (#166020, Wim Taymans)
2005-07-09 Tor Lillqvist <tml@novell.com>
* configure.in: Don't use autoconf variables for the resource
object files on Win32 any longer. Instead handle that in the
Makefile.am files. Check for windres.
* glibconfig.h.win32.in: Minor tuning to match the
configure-produced glibconfig.h closely.
* */Makefile.am: Don't use the scripts in build/win32 to
compile the .rc file into a resource object file. (This means
we loose the build number increment magic, but I doubt it was
that useful anyway.) Instead use windres directly. To pass the
normal .o file produced by windres through libtool, which
wants .lo files, pass it directly to the linker using a -Wl
option.
* */*.rc.in: Thus replace BUILDNUMBER with 0.
2005-06-30 Matthias Clasen <mclasen@redhat.com>
Apply a patch which may make GLib work on BeOS again.
(#309157, Kian Duffy)
* glib/gmain.c: Update the BeOS includes.
* glib/gstdio.c:
* glib/gutils.c (g_find_program_in_path):
* glib/gbacktrace.c (g_on_error_stack_trace): Use the UNIX
implementation on BeOS, as well.
* configure.in: Don't put glib 1.0 into G_MODULE_LIBS, even
on BeOS.
2005-06-24 Matthias Clasen <mclasen@redhat.com>
Add an mmap() wrapper called GMappedFile. (#148218,
David Schleef, Behdad Esfahbod)
* glib/gmappedfile.[hc]: New files.
* configure.in: Check for mmap.
* glib/Makefile.am: Add new files.
* glib/glib.symbols: Add new functions.
* glib/glib.h: Include gmappedfile.h
* tests/mapping-test.c: Tests for GMappedFile.
* tests/Makefile.am: Add new file.
2005-05-06 Brian Cameron <brian.cameron@sun.com>
* configure.in, gmodule-no-export-2.0-uninstalled.pc.in,
Makefile.am: Added gmodule-no-export-2.0-uninstalled.pc.in
to allow building of other libraries like pango when
glib is uninstalled.
2005-03-27 Tor Lillqvist <tml@novell.com>
* configure.in: Apparently AC_LIBTOOL_WIN32_DLL isn't deprecated
after all, and in fact necessary with HEAD libtool.
2005-02-23 Matthias Clasen <mclasen@redhat.com>
* configure.in: Don't forget to set G_THREAD_LIBS_FOR_GTHREAD
on non-linux platforms. (#168177, Michael Banck)
2005-02-05 Tor Lillqvist <tml@novell.com>
* configure.in (G_LIBS_EXTRA)
* glib/giowin32.c: I think we can include <winsock2.h> and link
with -lws2_32. Only Windows 95 originally didn't have Winsock 2,
and it's available as an update for it. Not that we use any actual
Winsock 2 -only features, but still, simpler to link directly with
ws2_32.dll instead of going through wsock32.dll.
2005-02-04 Matthias Clasen <mclasen@redhat.com>
* configure.in: Define a HAVE_GNUC_VISIBILITY automake
conditional.
* glib/Makefile.am (TESTS): Only check the abi if
the compiler supports visibility, otherwise we
know there will be (harmless) extra symbols.
(#166181, Ed Avis)
2005-01-28 Christian Rose <menthos@menthos.com>
* configure.in: Added "tl" to ALL_LINGUAS.
* po/tl.po: Added Tagalog translation by
Eric Pareja <xenos@upm.edu.ph>.
2005-01-11 Owen Taylor <otaylor@redhat.com>
* configure.in: Add gmodule-export-2.0.pc to AC_CONFIG_FILES.
* glib/Makefile.am gobject/Makefile.am gthread/Makefile.am:
Use grep | head -n 1 instead of grep -m 1 which doesn't work
with slightly older versions of GNU grep in
install-libtool-import-lib rule.
2005-01-04 Matthias Clasen <mclasen@redhat.com>
Fix the inlining magic. (#157536, Jens Hatlak, and
#149907, Morten Welinder)
* configure.in: Define G_CAN_INLINE in glibconfig.h
* glib/gutils.h: Streamline the inlining magic a bit,
don't use extern when implementing the non-inlined
version.
2005-01-01 J. Ali Harlow <ali@juiblex.co.uk>
* configure.in: Don't use AC_TRY_RUN to test for long long format
when using the MSVCRT.DLL runtime since we know the answer anyway
and it causes some mild inconvience when cross compiling.
* README.win32: Add a reference to the cross compiling section
of the reference manual.
* docs/reference/glib/cross.sgml: MinGW uses MSVCRT.DLL which
requires %I64i instead of %lli. (#161306)
2004-12-27 Matthias Clasen <mclasen@redhat.com>
* configure.in: Add an OS_LINUX conditional.
* glib/Makefile.am (TESTS): Only check the ABI on
linux, since the shell script is not portable, and libtool
deficiencies may distort the ABI on other platforms. (#161741)
2004-11-16 Matthias Clasen <mclasen@redhat.com>
* Makefile.am (EXTRA_DIST):
* configure.in (AC_CONFIG_FILES): Add gmodule-no-export-2.0.pc.in
* gmodule-no-export-2.0.pc.in: Add a variants of gmodule-2.0.pc.in
which doesn't add -Wl,--export-dynamic, since Pango or GTK+ don't
need it. (#125627, Owen Taylor)
2004-08-25 Tor Lillqvist <tml@iki.fi>
Win32 equivalences of the XDG folders
* glib/gutils.c (get_special_folder): New function, calls
SHGetSpecialFolderLocation() to get path to places like the My
Documents folder.
(g_get_any_init): Use CSIDL_PROFILE as HOME if not
overridden by env vars.
(g_get_user_data_dir): Use CSIDL_PERSONAL.
(g_get_user_config_dir): Use CSIDL_APPDATA.
(g_get_user_cache_dir): Use CSIDL_INTERNET_CACHE. Debatable...
(g_get_system_data_dirs): Use CSIDL_COMMON_APPDATA and
CSIDL_COMMON_DOCUMENTS.
(g_get_system_config_dirs): Use CSIDL_COMMON_APPDATA.
* configure.in: Add -lole32 to G_LIBS_EXTRA for mingw.
* glib/glib.def: Add the new functions.
2004-08-17 Matthias Clasen <mclasen@redhat.com>
* configure.in: Check for all four values of the
visibility attribute; gcc 2.96 seems to miss
"default". (#150379, Vincent Noel)
2004-08-16 Christian Rose <menthos@menthos.com>
* configure.in: Added "bs" to ALL_LINGUAS.
* po/bs.po: Added Bosnian translation by
Kenan Hadžiavdić <kenanh@frisurf.no>.
2004-08-10 Matthias Clasen <mclasen@redhat.com>
* glib/gmacros.h: Remove G_GNUC_INTERNAL from here.
* configure.in: Check whether the visibility attribute
works and define G_HAVE_GNUC_VISIBILITY and
G_GNUC_INTERNAL in glibconfig.h correspondingly.
Sun Jul 4 01:52:18 2004 Matthias Clasen <maclas@gmx.de>
* configure.in: Use a small test library instead of
libpthread.so for testing RTLD_GLOBAL brokenness. (#139567,
Julio M. Merino Vidal)
Sun Jun 6 15:23:00 2004 Pawan Chitrakar <pawan@nplinux.org>
* ne.po: Added "ne.po" Nepali translation
* configure.in: Added "ne"(Nepali) in ALL_LINGUAS
2004-04-30 Matthias Clasen <mclasen@redhat.com>
* === Released 2.4.1 ===
* glib/libcharset/Makefile.am (INCLUDES): Add -I$(top_srcdir)
to make make distcheck happy.
* configure.in: Version 2.4.1, interface age 1.
* NEWS: Updates
2004-04-03 Tor Lillqvist <tml@iki.fi>
* configure.in: Remove AC_CYGWIN, obsolete. Don't let pthreads be
found on Cygwin, they don't work. (#138401, Roger Leigh)
2004-03-16 Tor Lillqvist <tml@iki.fi>
* configure.in: Define HAVE_INT64_AND_I64 also in the mingw (gcc
on Win32) case, where the 64-bit type is called long long, but the
system printf/scanf format modifier for 64-bit integers is still I64.