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