On Tue, Aug 22, 2006 at 11:46:43AM -0400, Daniel Macks wrote:
>
> Modules are loaded with g_module_open, a nice generic interface,
> however other parts of genius (0.7.6.1) contain things that are
> hard-coded to the linux implementation of it.
>
> 1. test.plugin.in hardcodes the module extension as .so even though
> that's not always true. As distributed, genius builds me
> libtestplugin.dylib, I assume win32 folks might get .dll, etc.
> Instead, ./configure should query glib to get the appropriate
> extension and patch that into the test.plugin.in->test.plugin
> setup. Probably best way is with AC_RUN_IFELSE and have the program
> print the value of the G_MODULE_SUFFIX macro from glibconfig.h.
I have an easier solution. Put no extension in the .plugin file and append
G_MODULE_SUFFIX in the code. I'm making this change now.
> 2. Technically, g_module_open opens modules, not shared libraries, and
> on some platforms, there's a difference in those binary types. When
> compiling modules, need to pass -module to the linker. Also, should
> pass -avoid-version, since there's no need for library versioning. Add
> to src/Makefile.am:
>
> libtestplugin_la_LDFLAGS = -module -avoid-version
OK done ...
Thanks! Good catches, it's been a long time since I wrote the plugin
interface and the test plugin is the only plugin in existence anyway.
Jiri
-- George <jirka_at_5z.com> The surprising thing about this paper is that a man who could write it would. -- J. E. LittlewoodReceived on Mon Aug 28 2006 - 18:41:00 CDT
This archive was generated by hypermail 2.2.0 : Sun Apr 17 2011 - 21:00:02 CDT