20d8fa2ee26d88aa3f23ecec7c5bc47fd21b6a90
[platform/upstream/glib.git] / gmodule / ChangeLog
1 2001-11-16  Michael Meeks  <michael@ximian.com>
2
3         * gmodule.c (parse_libtool_archive): fix leak.
4
5 2001-10-30  Dan Winship  <danw@ximian.com>
6
7         * Makefile.am (EXTRA_DIST): Add gmodule-dyld.c
8
9 2001-10-23  Tor Lillqvist  <tml@iki.fi>
10
11         * Makefile.am: (Win32): If we have built the MSVC import library,
12         install it. Install the gcc import library. Also support
13         uninstall.
14
15 2001-10-09  Tor Lillqvist  <tml@iki.fi>
16
17         * gmodule-win32.c (_g_module_build_path): More Unix compatibility:
18         Add "lib" prefix in case the module name doesn't already have it,
19         except if it ends with ".dll" (in which case it probably already
20         is the name of an existing DLL). This is needed for instance for
21         the gdk-pixbuf loaders, which are called "lib*.dll", but
22         gdk-pixbuf-io calls g_module_build_path without the "lib" prefix.
23
24 2001-10-03  jacob berkman  <jacob@ximian.com>
25
26         * libgplugin_a.c: (gplugin_a_module_func): 
27         * gmodule.h: s/retrive/retrieve/
28
29 2001-09-25  Tor Lillqvist  <tml@iki.fi>
30
31         * makefile.mingw.in: Fix missing end @ in @LT_CURRENT@.
32
33         * makefile.msc.in: Use same DLL and import library names as
34         libtool.
35         
36 2001-09-19  Tor Lillqvist  <tml@iki.fi>
37
38         * gmodule.rc.in: Correct InternalName and OriginalFilename to
39         match what we actually produce.
40
41 2001-09-18  Tor Lillqvist  <tml@iki.fi>
42
43         * Makefile.am: On Win32, pass a dummy -rpath flag to libtool when
44         building libgplugin_[ab].la, otherwise libtool doesn't create a
45         DLL, but a static archive.
46
47 2001-07-20  Hans Breuer  <hans@breuer.org>
48
49         * makefile.msc.in : reflect glib move
50
51 2001-05-21  Mark Murnane  <Mark.Murnane@ireland.sun.com>
52
53         * gmodule.c (g_str_check_suffix):  Modified type of string_len
54         and suffix_len to be gsize.  Properly accommodates return from
55         strlen().
56
57 2001-05-29  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
58
59         * gmodule.c (g_module_set_error_unduped): Do not g_strdup, as
60         promised in the function name.
61
62 Tue May 29 12:57:51 2001  Tim Janik  <timj@gtk.org>
63
64         * gmodule.c (g_module_symbol): erk, strconcat needs NULL as last arg.
65         make sure we pass module name with suffix into backend open.
66
67 Mon May 28 20:19:25 2001  Tim Janik  <timj@gtk.org>
68
69         * gmodule.c (g_module_open): as a last resort, if we can't access()
70         the module, leave it up to the platform backends to find it.
71         (fixes implicit search patch loading i broke with my last
72         commit, spotted by Padraig O'Briain).
73
74 Thu May 24 03:43:12 2001  Tim Janik  <timj@gtk.org>
75
76         * gmodule.c (g_module_open): reordered code so we have a single
77         module loading point (for reliable error messages). do access()
78         tests to figure plausible file names.
79         make error messages more verbose so users canfigure what's going on.
80
81 2001-04-20  Dan Winship  <danw@ximian.com>
82
83         * gmodule-dyld.c: gmodule implementation for Darwin/Mac OS X
84
85         * gmodule.c: 
86         * gmoduleconf.h.in: Add gmodule-dyld support
87
88         * testgmodule.c (main): Fix spelling
89
90 2001-03-13  Tor Lillqvist  <tml@iki.fi>
91
92         From Edward M. Lee  <tailbert@yahoo.com>:
93
94         * gmodule-win32.c (_g_module_build_path): use (cygwin friendly) dir
95         separator.
96
97 2001-03-12  Tor Lillqvist  <tml@iki.fi>
98
99         * Makefile.am (libgplugin_a_la_LIBADD, libgplugin_b_la_LIBADD):
100         Link with the libgmodule la only on Win32.
101
102 2001-03-10  Tor Lillqvist  <tml@iki.fi>
103
104         * Makefile.am: Use the _LIBADD dependency on libglib only on the
105         Win32 platform (including Cygwin).
106
107 2001-03-07  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
108
109         * Makefile.am, makefile.mingw.in, makefile.msc.in: Set
110         G_LOG_DOMAIN to \"GModule\" instead of g_log_domain_gmodule.
111
112         * gmodule.def, gmodule.h, gmodule.c: Removed g_log_domain_gmodule.
113
114 2001-02-21  Tor Lillqvist  <tml@iki.fi>
115
116         * gmodule.h: Use G_BEGIN_DECLS and G_END_DECLS. Define
117         G_MODULE_EXPORT correctly on Cygwin, too.
118
119         * gmodule-win32.c (_g_module_open): Convert path to Windows format
120         on Cygwin.
121
122         * Makefile.am (libglib): Use libglib-1.3.la from
123         top_builddir. Invoke libtool with -no-undefined for Win32 and
124         Cygwin.
125
126 2001-02-17  Havoc Pennington  <hp@pobox.com>
127
128         Applied patch from Soeren Sandmann:
129         
130         * gmodule.c (g_module_error): G_CONST_RETURN
131         (g_module_name): G_CONST_RETURN
132
133 Sat Feb 17 07:27:15 2001  Tim Janik  <timj@gtk.org>
134
135         * gmodule.c: work around platforms that have broken RTLD_GLOBAL.
136
137 2001-01-27  Tor Lillqvist  <tml@iki.fi>
138
139         * gmodule.c: (Win32) Need <io.h> for open() and close().
140
141 2000-12-22  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
142
143         * gmodule.c: Make g_module_open more tolerant wrt to the module
144         name. First it tries to open the module as named, if that fails,
145         it checks, whether it is a libtool archive and parses it, if that
146         fails it appends the systems shared library suffix
147         (i.e. ".so") (if not already found) and tries again and if that
148         fails it tries to append the ".la" libtool suffix (if not already
149         found) and parses it.
150
151         * gmodule.c: Lock recursive mutex during most module functions for
152         safety.
153
154         * gmodule-dl.c: Return an error from _g_module_symbol only, if
155         dlerror says so. All other functions return an error as well, if
156         dlerror returns NULL.
157
158         * testgmodule.c: Thanks to the above change the #ifdefs have
159         vanished.
160
161 2000-10-15  Raja R Harinath  <harinath@cs.umn.edu>
162
163         * Makefile.am (BUILT_EXTRA_DIST): New variable.
164         (dist-hook): Handle $(BUILT_EXTRA_DIST).
165
166 2000-09-28  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
167
168         * gmodule.h: Moved declaration of g_log_domain_gmodule up before
169         the inclusion of glib.h to make it compile on non-gcc compilers.
170
171 2000-07-22  Tor Lillqvist  <tml@iki.fi>
172
173         * makefile.mingw.in: Remove leftover gmodule-win32res.o stuff. The
174         build-dll script automagically handles resources.
175
176 2000-07-20  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
177
178         * libgplugin_a.c, testgmodule.c: Use g_path_get_basename instead
179         of the deprecated g_basename.
180
181 2000-07-19  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
182
183         * gmodule.h: include glib.h before doing extern "C". Makes some C++
184         compiler happy. Reported by Denis Vakatov
185         <vakatov@peony.nlm.nih.gov>.
186
187 2000-07-19  Tor Lillqvist  <tml@iki.fi>
188
189         * gmodule-win32.c: Don't #include <tlhelp32.h> when compiling with
190         gcc, as it isn't provided. Declaration of a needed struct (from
191         www.microsoft.com) inserted instead.
192
193 2000-05-13  Tor Lillqvist  <tml@iki.fi>
194
195         * makefile.mingw.in: New file, with gmodule stuff
196         moved from ../makefile.mingw.in.
197
198         * Makefile.am: Add to EXTRA_DIST, and add rule to make makefile.mingw.
199
200 2000-05-02  Tor Lillqvist  <tml@iki.fi>
201
202         * gmodule-win32.c: No need to include <psapi.h>
203
204 2000-03-23  Tor Lillqvist  <tml@iki.fi>
205
206         * gmodule-win32.c (_g_module_symbol): When looking for symbols in
207         the "main" module we must search both the main program and all
208         currently loaded DLLs. Not only the main program, or even just the
209         DLLs loaded as gmodules.  Libglade requires this.
210
211         Thus we need to get a list of all modules in the current
212         process. There are two alternative APIs to do this: PSAPI and
213         Toolhelp. The former is only available on NT (including Win2k),
214         the latter on Win9x and Win2k. Check which one works, and use
215         that.
216
217         First check for the symbol in the main program, and if not found
218         there, in all the modules.
219
220         Code for using PSAPI and Toolhelp was borrowed from the Dr. Mingw
221         tool written by José Fonseca <em96115@fe.up.pt>. Thanks.
222
223 2000-03-04  Tor Lillqvist  <tml@iki.fi>
224
225         * gmodule-win32.c: Call g_win32_error_message() to get the error
226         message strings.
227
228         * libgplugin_a.c
229         * libgplugin_b.c
230         * gmodule.c: Remove LibMain functions that were needed by LCC,
231         which is not a supported compiler.
232
233         * testgmodule.c (main): Test for G_MODULE_IMPL ==
234         G_MODULE_IMPL_WIN32, not G_OS_WIN32.
235
236         * gmoduleconf.h.win32: Remove LCC stuff from here, too. 
237
238 Wed Mar  1 05:34:47 2000  Tim Janik  <timj@gtk.org>
239
240         * gmodule-beos.c (_g_module_symbol): do not return NULL symbols.
241
242         * gmodule-os2.c: removed NetBSD specific defines.
243         (_g_module_self): set an error message for unsupported behaviour.
244
245         * gmodule-beos.c: many coding style fixups.
246         (_g_module_open):
247         (_g_module_self):
248         (_g_module_close):
249         (_g_module_symbol): bunch of memory leaks plugged.
250
251         * gmodule-dl.c: make sure the error message returned from dlerror()
252         is always != NULL, by using a wrapper function fetch_dlerror(). based
253         on a patch to fix _g_module_symbol() for NetBSD from Scott Presnell
254         <srp@zgi.com>.
255
256         * gmodule-dld.c: minor indentation.
257
258         * gmodule-win32.c: minor cleanups.
259
260         * merges from glib-1-2.
261
262 Sat Feb 19 19:43:29 2000  Tim Janik  <timj@gtk.org>
263
264         * testgmodule.c (main): added test to check that not yet bound symbols
265         in shared libraries of the main module are retrievable, from David Gero.
266
267 2000-01-13  Martin Baulig  <martin@home-of-linux.org>
268
269         * gmodule.c (g_module_open): Check whether `check_init' is not NULL
270         before we attempt to call it.
271
272 Sun Oct  3 19:30:52 PDT 1999 Manish Singh <yosh@gimp.org>
273
274         * gmodule.h
275         * testgmodule.c: use G_OS stuff
276
277 Sat Jul 24 20:47:18 1999  Tim Janik  <timj@gtk.org>
278
279         * merged changes from GLib-1-2 branch.
280
281 1999-05-06  Tor Lillqvist  <tml@iki.fi>
282
283         * gmodule.c: Remove LibMain.
284
285 Sat May  1 10:58:57 PDT 1999 Manish Singh <yosh@gimp.org>
286
287         * Makefile.am: use -avoid-version and -module for test plugins
288
289 Mon Apr 19 08:43:59 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
290
291         * Makefile.am (EXTRA_DIST): Add gmodule-os2.c
292
293 Wed Apr  7 20:12:58 1999  ape@lrdpf.spacetec.no  (Asbjorn Pettersen)
294
295         * gmodule-os2.c: OS/2 specific file for gmodule.
296         * gmodule.c (_g_module_open): Add gmodule-os2.c if G_MODULE_IMPL_OS2.
297         * gmoduleconf.h.in: Add G_MODULE_IMPL_OS2.
298
299 Fri Apr 23 09:03:48 1999  Tim Janik  <timj@gtk.org>
300
301         * gmodule.c (g_module_symbol): removed inline variable assignment.
302         s/CHECK_ERROR/SUPPORT_OR_RETURN/ to make the code more self descriptive.
303
304 Wed Feb 10 12:06:30 1999  Tim Janik  <timj@gtk.org>
305
306         * gmodule.c (CHECK_ERROR): be more descriptive on unsupported systems.
307
308 Wed Feb 10 07:56:33 1999  Tim Janik  <timj@gtk.org>
309
310         * gmodule.c (g_module_error): fixed errernerous code wrt to thread
311         specific error string allocation handling.
312
313 Thu Jan 21 12:40:11 EST 1999  Jeff Garzik  <jgarzik@pobox.com>
314
315         * gmodule-dl.c (_g_module_build_path):
316         Add braces to eliminate an ambiguous else warning.
317
318 1999-01-16  Tor Lillqvist  <tml@iki.fi>
319
320         * gmodule-dl.c gmodule-dld.c: In
321         _g_module_build_path, don't add the "lib" prefix and
322         ".so" or ".sl" suffix if already there.
323
324         * gmodule-win32.c: Likewise for the ".dll" suffix.
325
326 1998-12-10  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>
327
328         * gmodule.c: Made it MT safe, the g_module_error() is now thread
329         specific.
330
331 Fri Nov 20 14:43:44 1998  Tim Janik  <timj@gtk.org>
332
333         * gmodule.c (_g_module_build_path): added empty default imlementation
334         so gmodule.so compiles on systems that are not yet supported, fix from
335         Erik Bagfors <bagfors@hpc2n.umu.se>.
336
337 1998-11-13  Nuno Ferreira  <nmrf@rnl.ist.utl.pt>
338
339         * Makefile.am (INCLUDES): The previous commit message is wrong
340         about the -I$(top_srcdir) being redundant. I put it back.
341
342 Wed Nov 11 23:23:22 EST 1998 Jeff Garzik <jgarzik@pobox.com>
343
344         * Makefile.am : INCLUDES is the right way to add to CFLAGS, not 
345         DEFS.  Also there are bugs with '+=' in makefiles.
346         Got rid of DEFS line by moving G_LOG_DOMAIN setting into INCLUDES.
347         Removed redundant -I from INCLUDES.
348
349 Tue Oct 27 04:00:11 1998  Tim Janik  <timj@gtk.org>
350
351         * testgmodule.c (main): changed the #ifdef WIN32 test to NATIVE_WIN32,
352         this needs to be more constistent throughout the code, do we go for
353         NATIVE_WIN32 or WIN32?
354
355         * gmodule.c (LibMain): special cased the #ifdef __LCC__ case for
356         NATIVE_WIN32, since lcc maybe used on other platforms as well.
357         * libgplugin_a.c (LibMain): 
358         * libgplugin_b.c (LibMain): 
359         likewise. not sure i like this special requirement for lcc in here.
360
361         * gmodule-dl.c (_g_module_build_path): 
362         feature empty "" directories and prepend the module name with "lib".
363
364         * gmodule-dld.c (_g_module_build_path): 
365         * gmodule-win32.c (_g_module_build_path): 
366         feature empty "" directories.
367
368         * we need some more magic in the _g_module_build_path variants
369         so we don't append/prepend lib and .so, .sl or .dll for those names
370         that already contain it.
371
372         * applied patch from Tor Lillqvist for g_module_build_path() and
373         windows support.
374
375 1998-10-20: Tor Lillqvist <tml@iki.fi>
376
377         * gmodule/gmodule-win32.c:
378         New file.
379
380         * gmodule/gmodule.c gmodule/gmodule.h:
381         Added the funcion g_module_build_path that builds the path to
382         a module file, decorating the name according to the system's
383         conventions.  Added the Windows implementation.
384
385         * gmodule/libgplugin_a.c gmodule/libgplugin_b.c:
386         Added LibMain for LCC-Win32.
387
388         * gmodule/testgmodule.c:
389         Handle Windows dll names.
390
391 1998-10-25  Raja R Harinath  <harinath@cs.umn.edu>
392
393         * gmodule.h: Remove `#pragma }'.
394         * gmoduleconf.h.in: Likewise.
395
396 Wed Oct 21 19:58:27 1998  Tim Janik  <timj@gtk.org>
397
398         * gmodule.c (g_module_symbol): fixed a string pointer bug that could
399         cause garbage error messages from g_module_symbol() for systems that
400         NEED_USCORE.
401
402 Mon Sep 21 01:54:48 1998  Tim Janik  <timj@gtk.org>
403
404         * gmodule.h: 
405         * gmodule.c: renamed old _de_init functionality to _unload.
406         modules are now expected to export:
407         G_MODULE_EXPORT const gchar* g_module_check_init (GModule *module);
408         and
409         G_MODULE_EXPORT void g_module_unload (GModule *module);
410         returning a string other than NULL from g_module_check_init() will
411         prevent the module from being loaded. a call to g_module_make_resident()
412         from g_module_unload() will prevent the module from being unloaded and
413         still make it resident.
414
415 Thu Sep 17 06:34:22 1998  Tim Janik  <timj@gtk.org>
416
417         * gmodule.h: 
418         * gmodule.c: implemented g_module_make_resident() which can be
419         used to make modules resident.
420         fixed a buglet about the optional "g_module_de_init" function in
421         modules, which could get invoked twice on very obscure occasions.
422
423 Tue Sep 15 14:57:30 1998  Owen Taylor  <otaylor@redhat.com>
424
425         * Makefile.am: Update to libtool-1.2b,
426         change library versioning scheme to drop LT_RELEASE
427         from the -l line, while keeping it in the soname.
428
429 Thu Aug 20 07:08:16 1998  Tim Janik  <timj@gtk.org>
430
431         * gmodule.c: provide no operation implementation for the underlying
432         _g_module_* functions, so we at least compile on systems that have
433         neither of G_MODULE_IMPL_DL or G_MODULE_IMPL_DLD.
434
435 Mon Aug 17 03:41:52 1998  Tim Janik  <timj@gtk.org>
436
437         * gmodule.h:
438         * gmodule.c (g_module_open): changed the return type for the
439         GModuleCheckInit function to be a string, describing the error
440         condition.
441         (g_module_symbol): show the failing symbol on error messages.
442
443 Fri Aug 14 02:24:39 1998  Tim Janik  <timj@gtk.org>
444
445         * Makefile.am: feature the G_LOG_DOMAIN macro to set the log domain
446         to "GModule" upon compilation. we currently have to add this definition
447         to the DEFS variable.
448         * testgmodule.c: we need an ugly #undef G_LOG_DOMAIN at the start
449         of this file currently, since automake doesn't support per target
450         _CFLAGS yet.
451
452 Mon Aug 10 03:35:57 1998  Tim Janik  <timj@gtk.org>
453
454         * gmodule.c: minor changes to internal interface.
455         * gmodule-dl.c: 
456         * gmodule-dld.c: put some comments into the files, and provided
457         better error checking for shl_findsym(). whish i had a system to
458         test this stuff on.
459
460 Mon Aug 10 02:18:31 1998  Tim Janik  <timj@gtk.org>
461
462         * Makefile.am (lib_LTLIBRARIES): for now, skip the dependency on
463         -lglib for libgmodule-1.1.la, libgplugin_a.la and libgplugin_b.la
464         since this clashes with inter-library-dependencies for not installed
465         libraries. glib-config takes care of this for the usuall case, but
466         there needs to be a better way...
467
468 Sun Aug  9 15:57:38 1998  Tim Janik  <timj@gtk.org>
469
470         * testgmodule.c: test program for GModule.
471         * libgplugin_a.c: 
472         * libgplugin_b.c: test plugins for testgmodule.c.
473
474         * gmodule.h: 
475         * gmodule.c: GModule library implementation, which is basically
476         a wrapper about system specifc dynamic loading facilities.
477
478 Sun Aug  9 10:31:05 1998  Tim Janik  <timj@gtk.org>
479
480         * ChangeLog start for gmodule.