Tue Dec 3 20:56:19 2002 Owen Taylor <otaylor@redhat.com>
* gmodule.c (g_module_open): Properly refcount the
main module if it is already open. (#98648)
Sat Mar 2 14:46:17 2002 Owen Taylor <otaylor@redhat.com>
* gmodule-beos.c (_g_module_build_path) * gmodule-dyld.c (_g_module_build_path)
gmodule-dl.c (_g_module_build_path): Use G_MODULE_SUFFIX rather than
a hardcoded ".so". (#72803)
Sun Feb 17 18:15:22 2002 Owen Taylor <otaylor@redhat.com>
* gmodule.c (g_module_open): Fix typo when checking
if file + module_suffix exists. (Miroslaw Dobrzanski-Neumann,
#71801)
2001-11-24 Tor Lillqvist <tml@iki.fi>
*/.cvsignore: Add various Win32 related file types.
gmodule:
2001-11-24 Tor Lillqvist <tml@iki.fi>
* Makefile.am: Remove rule for testgmodule.exp, too.
2001-11-22 Tor Lillqvist <tml@iki.fi>
* gmodule-win32.c: Current w32api headers do include tlhelp32.h,
so no need to have an extract from it here.
Thu Nov 22 13:14:18 2001 Owen Taylor <otaylor@redhat.com>
* configure.in (GLIB_MICRO_VERSION): Version 11,
interface, binary age 0.
* NEWS: Updated.
* tests/Makefile.am (libmoduletestplugin_[ab]_la_LDFLAGS):
Add dummy -rpath argument. On some (but not all) platforms,
libtool will only build a convenience library without this.
(#63486, Dan Winship)
* Makefile.am (EXTRA_DIST): Add README.in, INSTALL.in -
autoconf-2.5x checks for 'make dist' in the tarball
when you make distcheck.
* glib/Makefile.am (EXTRA_DIST): Distribute
makefile.msc/mingw.in, glib.rc.in.
* tests/patterntest.c: Include string.h.
* glib/gpattern.c (g_utf8_reverse): doc parsing fix.
2001-10-23 Tor Lillqvist <tml@iki.fi>
* {glib,gmodule,gobject,gthread}/Makefile.am: (Win32): If we
have built the MSVC import library, install it. Install the
gcc import library. Also support uninstall.
2001-10-09 Tor Lillqvist <tml@iki.fi>
* gmodule-win32.c (_g_module_build_path): More Unix compatibility:
Add "lib" prefix in case the module name doesn't already have it,
except if it ends with ".dll" (in which case it probably already
is the name of an existing DLL). This is needed for instance for
the gdk-pixbuf loaders, which are called "lib*.dll", but
gdk-pixbuf-io calls g_module_build_path without the "lib" prefix.
2001-09-25 Tor Lillqvist <tml@iki.fi>
* configure.in: More Win32 automake macros. For .def files:
GLIB_DEF, GMODULE_DEF, GOBJECT_DEF and GTHREAD_DEF. For .exp
files: TESTGMODULE_EXP (for programs that need to export symbols,
just testgmodule here). A new conditional, MS_LIB_AVAILABLE to
test whether the Microsoft librarian ("ar") is available to build
MS import libraries.
* glib/Makefile.am
* gmodule/Makefile.am: Use above. New rule to build MS import
library.
* glib/makefile.msc.in
* tests/makefile.msc.in
* tests/makefile.mingw.in: Use same DLL and import library names as
libtool.
gmodule:
2001-09-25 Tor Lillqvist <tml@iki.fi>
* makefile.mingw.in: Fix missing end @ in @LT_CURRENT@.
* makefile.msc.in: Use same DLL and import library names as
libtool.
gobject:
2001-09-25 Tor Lillqvist <tml@iki.fi>
* Makefile.am: Use new macros for .def file, and check for
MS_LIB_AVAILABLE, new rule to build MS import library.
* makefile.msc.in: Use same DLL and import library names as
libtool.
gthread:
2001-09-25 Tor Lillqvist <tml@iki.fi>
* Makefile.am: Use new macros for .def file, and check for
MS_LIB_AVAILABLE, new rule to build MS import library.
* makefile.msc.in: Use same DLL and import library names as
libtool.
2001-09-18 Tor Lillqvist <tml@iki.fi>
* glib/gmain.c
* glib/giowin32.c: Mark the _funcs tables for export.
* glib/glib.def: Add here, too.
* glib/gwin32.c (get_package_directory_from_module): No reason to
check for the module being in a bin or lib directory only when
module_name is non-NULL.
* glib/gwin32.c (g_win32_get_package_installation_directory):
Check first in HKEY_CURRENT_USER, then in HKEY_LOCAL_MACHINE.
* gmodule/Makefile.am: On Win32, pass a dummy -rpath flag to
libtool when building libgplugin_[ab].la, otherwise libtool
doesn't create a DLL, but a static archive.
Wed Jun 20 12:00:54 2001 Owen Taylor <otaylor@redhat.com>
Changes for 64-bit cleanliness, loosely based on patch
from Mark Murnane.
* gconvert.c (g_convert/g_convert_with_fallback): Remove
workarounds for since-fixed GNU libc bugs. Minor
doc fix.
* gconvert.[ch]: Change gint to gsize/gssize as
appropriate.
* gconvert.c (g_locale/filename_to/from_utf8): Fix incorrect
computation of bytes_read / bytes_written.
* gfileutils.[ch] (g_file_get_contents): Make length
out parameter 'gsize *len'.
* ghook.c (g_hook_compare_ids): Don't compare a
and b as 'a - b'.
* gmacros.h (GSIZE_TO_POINTER): Add GPOINTER_TO_SIZE,
GSIZE_TO_POINTER.
* gmain.c (g_timeout_prepare): Rewrite to avoid
overflows. (Fixes bug when system clock skews
backwards more than 24 days.)
* gmarkup.[ch]: Make lengths passed to callbacks
gsize, length for g_markup_parse-context_parse(),
g_markup_escape_text() gssize.
* gmessages.[ch] (g_printf_string_upper_bound): Change
return value to gsize.
* gmessages.c (printf_string_upper_bound): Remove
a ridiculous use of 'inline' on a 300 line function.
* gstring.[ch]: Represent size of string as a gsize,
not gint. Make parameters to functions take gsize,
or gssize where -1 is allowed.
* gstring.c (g_string_erase): Make
g_string_erase (string, pos, -1) a synonym for
g_string_truncate for consistency with other G*
APIs.
* gstrfuncs.[ch]: Make all functions taking a string
length, take a gsize, or gssize if -1 is allowed.
(g_strstr_len, g_strrstr_len). Also fix some boundary
conditions in g_str[r]str[_len].
* gutf8.c tests/unicode-encoding.c: Make parameters that
are byte lengths gsize, gssize as appropriate. Make
character offsets, other counts, glong.
* gasyncqueue.c gcompletion.c
timeloop.c timeloop-basic.c gutils.c gspawn.c.
Small 64 bit cleanliness fixups.
* glist.c (g_list_sort2, g_list_sort_real): Fix functions
that should have been static.
* gdate.c (g_date_fill_parse_tokens): Fix extra
declaration that was shadowing another.
* tests/module-test.c: Include string.h
Mon Jun 18 15:43:29 2001 Owen Taylor <otaylor@redhat.com>
* gutf8.c (g_get_charset): Make argument
G_CONST_RETURN char **.
Tue May 29 12:57:51 2001 Tim Janik <timj@gtk.org>
* gmodule.c (g_module_symbol): erk, strconcat needs NULL as last arg.
make sure we pass module name with suffix into backend open.
Mon May 28 20:19:25 2001 Tim Janik <timj@gtk.org>
* gmodule.c (g_module_open): as a last resort, if we can't access()
the module, leave it up to the platform backends to find it.
(fixes implicit search patch loading i broke with my last
commit, spotted by Padraig O'Briain).
Sun May 27 05:09:18 2001 Tim Janik <timj@gtk.org>
* gmain.c (g_main_context_prepare): unlock context when bailing
out with a warning.
(g_main_context_check): same here.
* gmain.c (g_main_context_check): before returning due to
changed pollfds, unlock context.
Sun May 27 04:52:28 2001 Tim Janik <timj@gtk.org>
* gsignal.[hc] (g_signal_stop_emission_by_name): added variant
to stop signal emissions through a detailed_signal string.
* gsignal.c (signal_emit_R) (g_signal_emit_valist): account for
the fact that g_value_* functions may cause signal emissons by
unlocking the global signal system lock around g_value_* functions.
(signal_emit_unlocked_R): renamed this from signal_emit_R() to reflect
that this functions acquires the lock on its own now.
* gmodule-dyld.c: gmodule implementation for Darwin/Mac OS X
* gmodule.c:
* gmoduleconf.h.in: Add gmodule-dyld support
* testgmodule.c (main): Fix spelling
2001-03-13 Tor Lillqvist <tml@iki.fi>
From Edward M. Lee <tailbert@yahoo.com>:
* gdate.c (g_date_set_parse): add support for dates that in the
form "Wed Mar 14 2001". Running testgdate on cygwin requires this.
2001-03-13 Tor Lillqvist <tml@iki.fi>
From Edward M. Lee <tailbert@yahoo.com>:
* gmodule-win32.c (_g_module_build_path): use (cygwin friendly) dir
separator.
2001-03-12 Tor Lillqvist <tml@iki.fi>
* tests/Makefile.am (libmoduletestplugin_b_la_LIBADD,
libmoduletestplugin_b_la_LIBADD): Link with the libgmodule la only
on Win32.
2001-03-12 Tor Lillqvist <tml@iki.fi>
* Makefile.am (libgplugin_a_la_LIBADD, libgplugin_b_la_LIBADD):
Link with the libgmodule la only on Win32.
2001-03-10 Tor Lillqvist <tml@iki.fi>
* */Makefile.am: Use the _LIBADD dependencies on libglib only on
Win32.
* gobject/gobject.def: Add a couple of missing entries.
2001-02-21 Tor Lillqvist <tml@iki.fi>
* gmodule.h: Use G_BEGIN_DECLS and G_END_DECLS. Define
G_MODULE_EXPORT correctly on Cygwin, too.
* gmodule-win32.c (_g_module_open): Convert path to Windows format
on Cygwin.
* Makefile.am (libglib): Use libglib-1.3.la from
top_builddir. Invoke libtool with -no-undefined for Win32 and
Cygwin.
Sat Feb 17 07:26:33 2001 Tim Janik <timj@gtk.org>
* configure.in (G_MODULE_HAVE_DLERROR): add check for broken RTLD_GLOBAL
(on OSF1 V5.0).
Sat Feb 17 07:27:15 2001 Tim Janik <timj@gtk.org>
* gmodule.c: work around platforms that have broken RTLD_GLOBAL.
2001-01-27 Tor Lillqvist <tml@iki.fi>
* gmodule.c: (Win32) Need <io.h> for open() and close().
2001-01-27 Tor Lillqvist <tml@iki.fi>
* makefile.msc.in: Don't try to compile gmarshal.c on its own.
2000-12-22 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* configure.in: Determine the suffix of the shared librarries for
this system. This is done analogous to
ltconfig.sh. G_MODULE_SUFFIX in glibconfig.h is set to either
"sl", "dll", or (most often) "so".
* tests/Makefile.am, tests/module-test.c,
tests/libmoduletestplugin_a.c, tests/libmoduletestplugin_b.c:
Added new testcase for gmodule. This is mostly copied from
gmodule/testgmodule.c, but unlike that is is quiet. (Why BTW are
some tests that verbose, not to say loquacious...)
* gmodule.c: Make g_module_open more tolerant wrt to the module
name. First it tries to open the module as named, if that fails,
it checks, whether it is a libtool archive and parses it, if that
fails it appends the systems shared library suffix
(i.e. ".so") (if not already found) and tries again and if that
fails it tries to append the ".la" libtool suffix (if not already
found) and parses it.
* gmodule.c: Lock recursive mutex during most module functions for
safety.
* gmodule-dl.c: Return an error from _g_module_symbol only, if
dlerror says so. All other functions return an error as well, if
dlerror returns NULL.
* testgmodule.c: Thanks to the above change the #ifdefs have
vanished.
* glib/glib-sections.txt: Added G_MODULE_SUFFIX.
* glib/tmpl/modules.sgml: Updated.
gmodule:
* Makefile.am (BUILT_EXTRA_DIST): New variable.
(dist-hook): Handle $(BUILT_EXTRA_DIST).
gobject:
* Makefile.am (BUILT_EXTRA_DIST): New variable.
(dist-hook): Handle $(BUILT_EXTRA_DIST).
(*): Remove traces of @STRIP_{BEGIN,END}@.
gthread:
* Makefile.am (BUILT_EXTRA_DIST): New variable.
(dist-hook): Handle $(BUILT_EXTRA_DIST).
docs/reference:
'make distcheck' fixes.
* glib/Makefile.am (EXTRA_DIST): Add $(DOC_MODULE)-decl.txt.
(html): Run 'gtkdoc-fixxref' in $(srcdir).
(dist-check-gtkdoc): Add missing quote.
(dist-hook): Copy in dependency order, so that none of the
makerules are fired in a tarball build.
* gobject/Makefile.am: Likewise.
toplevel:
Remove need for acconfig.h, and misc. cleanups.
* acglib.m4 (GLIB_SIZEOF): Add 'autoheader' comment to
AC_DEFINE_UNQUOTED.
(GLIB_BYTE_CONTENTS): Likewise.
* configure.in: Add 'autoheader' comments to all AC_DEFINE(...)
and AC_DEFINE_UNQUOTED(...) lines.
Replace AC_MSG_CHECKING/AC_CACHE_VAL with AC_CACHE_CHECK.
(AM_PROG_LIBTOOL): Move after AC_PROG_CC.
* acconfig.h: Empty out.
* Makefile.am (BUILT_EXTRA_DIST): New variable. List 'dist'able
files that are created in the builddir.
(dist-hook): Handle those files.
(libglib_1_3_la_SOURCES): Remove @ALLOCA@. @ALLOCA@ should only
be used in an _LDADD or _LIBADD, since it expands (if necessary)
to 'alloca.o'.
* tests/Makefile.am (BUILT_EXTRA_DIST): New variable.
(dist-hook): Handle $(BUILT_EXTRA_DIST).
2000-09-28 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* gmodule.h: Moved declaration of g_log_domain_gmodule up before
the inclusion of glib.h to make it compile on non-gcc compilers.
2000-07-22 Tor Lillqvist <tml@iki.fi>
* build-dll: Fix resource handling, the resource file got left out
from the DLL after all... Remove the WIN32APIHEADERS, not needed
with current windres.
* glib.def: Add new functions.
2000-07-20 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* gutils.c, glib.h: Mark the functions g_basename and g_dirname
deprecated. They will issue an warning once, when compiled with
G_ENABLE_DEBUG, but continue to work as before. Instead the
functions g_path_get_basename and g_path_get_dirname should be
used, which BOTH return newly allocated memory, that has to freed
by g_free. The new g_path_get_basename now strips trailing slashes
from the path. This fixes#5097. For discussion see
http://mail.gnome.org/pipermail/gtk-devel-list/2000-April/003139.html
* gwin32.c, testglib.c, tests/dirname-test.c: Use the new
functions instead of the old ones.
* gmodule/libgplugin_a.c, gmodule/testgmodule.c: Use
g_path_get_basename instead of the deprecated g_basename.
2000-07-19 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* configure.in, glib.h: glibconfig.h and glib.h now include files
outside of the extern "C" block. Makes some C++ compiler
happy. Reported by Denis Vakatov <vakatov@peony.nlm.nih.gov>.
* gmodule/gmodule.h: include glib.h before doing extern "C".
Makes some C++ compiler happy. Reported by Denis Vakatov
<vakatov@peony.nlm.nih.gov>.
2000-07-19 Tor Lillqvist <tml@iki.fi>
* gmodule-win32.c: Don't #include <tlhelp32.h> when compiling with gcc, as it
isn't provided. Declaration of a needed struct (from
www.microsoft.com) inserted instead.
2000-05-13 Tor Lillqvist <tml@iki.fi>
* makefile.mingw.in
* tests/makefile.mingw.in
* build-dll: Rename makefile.cygwin(.in) to
makefile.mingw(.in), which better describes what it is. Move the
build of gmodule, gthread and gobject DLLs to makefiles in those
directories. Move resource file handling and build number bump to
build-dll, where it sits much cleaner.
* README.win32
* Makefile.am (EXTRA_DIST): Update accordingly.
* glib.h: Add G_PI, G_PI_2, G_PI_4, G_E, G_LN2, G_LN10 and
G_SQRT2. M_PI etc aren't necessarily in <math.h> in strict ISO C
implementations.
* glib.def: Add g_strcanon.
* gtree.c (g_tree_node_rotate_left): Remove unused variables.
* gwin32.c (g_win32_opendir): Remove unneeded statement.
gmodule:
* makefile.mingw.in: New file, with gmodule stuff
moved from ../makefile.mingw.in.
* Makefile.am: Add to EXTRA_DIST, and add rule to make makefile.mingw.
gobject:
* makefile.mingw.in
* gobject.def
* gobject.rc.in: New files, for Win32 (mingw) build.
* Makefile.am: Add to EXTRA_DIST. Add rules to produce the
corresponding non-*.in files.
* gtype.h: (Win32:) Mark _g_type_fundamental_last for
export/import from DLL.
gthread:
* makefile.mingw.in: New file, with gthread stuff moved from
../makefile.mingw.in.
* Makefile.am: Add to EXTRA_DIST, add rule to build makefile.mingw.
2000-05-02 Tor Lillqvist <tml@iki.fi>
* glib.def: Add new functions.
* makefile.{cygwin,msc}.in (glib_OBJECTS): Add new object files.
* tests/makefile.{cygwin,msc}.in: Add threadpool-test.
* gmodule-win32.c: No need to include <psapi.h>
2000-03-23 Tor Lillqvist <tml@iki.fi>
* gmodule-win32.c (_g_module_symbol): When looking for symbols in
the "main" module we must search both the main program and all
currently loaded DLLs. Not only the main program, or even just the
DLLs loaded as gmodules. Libglade requires this.
Thus we need to get a list of all modules in the current
process. There are two alternative APIs to do this: PSAPI and
Toolhelp. The former is only available on NT (including Win2k),
the latter on Win9x and Win2k. Check which one works, and use
that.
Code for using PSAPI and Toolhelp was borrowed from the Dr. Mingw
tool written by José Fonseca <em96115@fe.up.pt>. Thanks.
2000-03-04 Tor Lillqvist <tml@iki.fi>
* gwin32.c (g_win32_error_message): New function that returns the
message string for a Win32 error code.
* glib.h: Declare it.
* glib.def: Export it, plus g_node_copy.
* gmodule-win32.c: Call g_win32_error_message() to get the error
message strings.
* libgplugin_a.c
* libgplugin_b.c
* gmodule.c: Remove LibMain functions that were needed by LCC,
which is not a supported compiler.
* testgmodule.c (main): Test for G_MODULE_IMPL ==
G_MODULE_IMPL_WIN32, not G_OS_WIN32.
* gmoduleconf.h.win32: Remove LCC stuff from here, too.
Wed Mar 1 10:39:39 2000 Tim Janik <timj@gtk.org>
* gslist.c (g_slist_reverse): minor optimization.
* testglib.c (g_node_test): added a couple of tests for
g_node_copy().
* glib.h:
* gnode.c (g_node_copy): new function to copy subtrees,
supplied by dbsears@ix.netcom.com.
changed iterator to walk the children list backwards, so
we get down from O(n^2) to O(n).
* gnode.c (g_node_first_sibling): applied patch from
dbsears@ix.netcom.com to optimize access if node->parent
is present.
* gutils.c (g_get_any_init): backed out HAVE_PW_GECOS check around
assignment of g_real_name, sicne HAVE_PW_GECOS is never defined and
thus breaks the original code.
* merged changes from 1.2.7.
Sat Feb 19 19:43:29 2000 Tim Janik <timj@gtk.org>
* testgmodule.c (main): added test to check that not yet bound symbols
in shared libraries of the main module are retrievable, from David Gero.
Fri Jan 28 11:37:41 2000 Owen Taylor <otaylor@redhat.com>
Bug #4156 - Changes vaguely modelled after Scott Gifford's patch
* gtimer.c (g_timer_elapsed): Never report negative times -
clip times to 0.
* gmain.c (g_timeout_prepare): Guard against unexpected
clock shifts by never setting a timeout of more than
data->interval msecs.
Wed Mar 1 05:34:47 2000 Tim Janik <timj@gtk.org>
* gmodule-beos.c (_g_module_symbol): do not return NULL symbols.
* gmodule-os2.c: removed NetBSD specific defines.
(_g_module_self): set an error message for unsupported behaviour.
* gmodule-beos.c: many coding style fixups.
(_g_module_open):
(_g_module_self):
(_g_module_close):
(_g_module_symbol): bunch of memory leaks plugged.
* gmodule-dl.c: make sure the error message returned from dlerror()
is always != NULL, by using a wrapper function fetch_dlerror(). based
on a patch to fix _g_module_symbol() for NetBSD from Scott Presnell
<srp@zgi.com>.
* gmodule-dld.c: minor indentation.
* gmodule-win32.c: minor cleanups.
* merges from glib-1-2.
found; this leads to an incorrect return value of g_module_symbol.]
2000-01-13 Martin Baulig <martin@home-of-linux.org>
* gmodule.c (g_module_open): Check whether `check_init' is not NULL
before we attempt to call it.
1999-10-31 Tor Lillqvist <tml@iki.fi>
* gcache.c (g_cache_remove): Don't crash if removing a nonexistent
value.
* gutils.c (gwin_getlocale): New Win32-specific function, returns
a Unixish current locale string (en, zh_TW etc).
* glib.h: Declare it.
* glib.def: Export it.
* testglib.c: Test it.
* gmessages.c (Win32: ensure_stdout_valid): Some improvements,
make sure we don't call AllocConsole several times, which I think
has happened.
1999-10-05 Tor Lillqvist <tml@iki.fi>
* glibconfig.h.win32.in: Don't define WIN32 and NATIVE_WIN32.
* gerror.c (g_on_error_query): (Win32) Slightly more verbosity.
* build-dll: Don't strip.
* gmodule.h: (Win32) Use __declspec(dllexport) in G_MODULE_EXPORT
only with gcc.
Sat Jul 24 20:11:35 1999 Tim Janik <timj@gtk.org>
* merged GLib 1.3.0 with glib-1.2.3 from Fri Jul 16 22:18:36.
* incorporated proposed cleanups from gtk-devel-list.
* bumped version number to GLib-1.3.1
* glib.h:
* gqueue.c:
* gstring.c:
* glist.c:
removed string tokenisation (we got g_strsplit() and g_strjoin()
already) and readline functions.
s/g_list_delete/g_list_delete_link.
implemented g_slist_delete_link.
removed notion of g_ATEXIT() macro in glib.h, this is an *internal*
macro, g_atexit() is provided for public consumption.
added GTrashStack inline utility functions.
reimplement double eneded queues.
removed GStack implementation, people can use a queue or a (singly)
linked list for this task.
deprecated g_strescape(), we need the SunOS variants here.
* gdate.c: added DEBUG_MSG() macro to wrap old messages.
* *.*: CVS merges.
* upgrade to libtool 1.3.3.
* makefile.msc.in makefile.cygwin.in glibconfig.h.win32.in
config.h.win32.in tests/makefile.msc.in tests/makefile.cygwin.in:
New files, used to generate corresponding non-.in files when
making a dist. This is just so the version numbers will be kept in
synch automatically.
* configure.in: Also substitute @GLIB_MAJOR_VERSION@,
@GLIB_MINOR_VERSION@, and @GLIB_INTERFACE_AGE@.
* Makefile.am tests/Makefile.am: Also distribute makefile.cygwin.
* gerror.c (g_on_error_query): On Win32, put up a MessageBox and
then exit.
* glib.def: Add a couple of functions.