summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorSebastian Wilhelmi <wilhelmi@ira.uka.de>2000-12-22 13:44:25 +0000
committerSebastian Wilhelmi <wilhelmi@src.gnome.org>2000-12-22 13:44:25 +0000
commit57a7a2b0100589ec6018b23aef935dc10d7923ce (patch)
tree4c8fb34678e9c83a93015a15bdc5e516c9aed92b /docs
parent32241715f42b437299282367f39becb0c8602d23 (diff)
downloadglib-57a7a2b0100589ec6018b23aef935dc10d7923ce.tar.gz
Determine the suffix of the shared librarries for this system. This is
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.
Diffstat (limited to 'docs')
-rw-r--r--docs/reference/ChangeLog6
-rw-r--r--docs/reference/glib/glib-sections.txt1
-rw-r--r--docs/reference/glib/tmpl/modules.sgml25
3 files changed, 30 insertions, 2 deletions
diff --git a/docs/reference/ChangeLog b/docs/reference/ChangeLog
index c24794f73..92634cf2f 100644
--- a/docs/reference/ChangeLog
+++ b/docs/reference/ChangeLog
@@ -1,3 +1,9 @@
+2000-12-22 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
+
+ * glib/glib-sections.txt: Added G_MODULE_SUFFIX.
+
+ * glib/tmpl/modules.sgml: Updated.
+
2000-12-19 Sebastian Wilhelmi <wilhelmi@ira.uka.de>
* glib/glib-sections.txt: Added g_rand_boolean and
diff --git a/docs/reference/glib/glib-sections.txt b/docs/reference/glib/glib-sections.txt
index 034086c19..3eb8f1190 100644
--- a/docs/reference/glib/glib-sections.txt
+++ b/docs/reference/glib/glib-sections.txt
@@ -1094,6 +1094,7 @@ g_module_error
<SUBSECTION>
GModuleCheckInit
GModuleUnload
+G_MODULE_SUFFIX
G_MODULE_EXPORT
G_MODULE_IMPORT
</SECTION>
diff --git a/docs/reference/glib/tmpl/modules.sgml b/docs/reference/glib/tmpl/modules.sgml
index 9e33e67a1..0719be68d 100644
--- a/docs/reference/glib/tmpl/modules.sgml
+++ b/docs/reference/glib/tmpl/modules.sgml
@@ -91,8 +91,20 @@ prefix and suffix. This should be freed when no longer needed.
<!-- ##### FUNCTION g_module_open ##### -->
<para>
-Opens a module.
-If the module has already been opened, its reference count is incremented.
+Opens a module. If the module has already been opened, its reference
+count is incremented.
+</para>
+
+<para>
+First of all g_module_open() tries to open @file_name as a module. If
+that fails and @file_name has the ".la"-suffix (and is a libtool
+archive) it tries to open the corresponding module. If that fails and
+it doesn't have the proper module suffix for that plaform
+(#G_MODULE_SUFFIX,) this suffix will be appended and the coresponding
+module will be opended. If that fails and @file_name doesn't have the
+".la"-suffix, this suffix is appended and g_module_open() tries to
+open the corresponding module. If eventually that fails as well, NULL
+is returned.
</para>
@file_name: the name of the file containing the module.
@@ -183,6 +195,15 @@ It is passed the #GModule structure.
@module: the module about to be unloaded.
+<!-- ##### MACRO G_MODULE_SUFFIX ##### -->
+<para>
+Expands to the proper shared library suffix for the current platform
+without the leading dot. For the most Unices and Linux this is "so",
+for some HPUX versions this is "sl" and for Windows this is "dll".
+</para>
+
+
+
<!-- ##### MACRO G_MODULE_EXPORT ##### -->
<para>
Used to declare functions exported by modules.