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