* dynl.c (DYNL_GLOBAL): New.
(sysdep_dynl_link): Added `flags' argument. (kw_global, sym_global): New. (scm_dynamic_link): Handle keyword arguments. Pass suitable flags to sysdep_dynl_link. * dynl-dl.c (sysdep_dynl_link): Handle new `flags' argument by conditrionally adding RTLD_GLOBAL to DLOPEN_MODES. * dynl-shl.c (sysdep_dynl_link): Add and ignore new flags argument. * dynl-dld.c (sysdep_dynl_link): Add and ignore new flags argument. * dynl.h (scm_dynamic_link): Added rest argument. * dynl.c (sysdep_dynl_unlink, sysdep_dynl_func): Use const qualifier for char* argument, to match prototypes. Thanks to Mark Elbrecht.
This commit is contained in:
parent
56ef2fe230
commit
56a19408b8
5 changed files with 22 additions and 5 deletions
13
NEWS
13
NEWS
|
|
@ -46,6 +46,19 @@ in backtraces.
|
|||
|
||||
* Changes to Scheme functions and syntax
|
||||
|
||||
** The function `dynamic-link' now takes optional keyword arguments.
|
||||
The only keyword argument that is currently defined is `:global
|
||||
BOOL'. With it, you can control whether the shared library will be
|
||||
linked in global mode or not. In global mode, the symbols from the
|
||||
linked library can be used to resolve references from other
|
||||
dynamically linked libraries. In non-global mode, the linked
|
||||
library is essentially invisible and can only be accessed via
|
||||
`dynamic-func', etc. The default is now to link in global mode.
|
||||
Previously, the default has been non-global mode.
|
||||
|
||||
The `#:global' keyword is only effective on platforms that support
|
||||
the dlopen family of functions.
|
||||
|
||||
** New function `provided?'
|
||||
|
||||
- Function: provided? FEATURE
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue