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)