[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: statically linking in srfi modules
From: |
Richard Shann |
Subject: |
Re: statically linking in srfi modules |
Date: |
Sun, 10 Feb 2013 11:11:15 +0000 |
On Sat, 2013-02-09 at 21:00 -0500, Mark H Weaver wrote:
> Hi Richard,
>
> Don't worry, we'll get it working. Here's another attempt.
> Replace the calls to 'scm_c_register_extension' with the following:
>
> scm_c_call_with_current_module (scm_c_resolve_module ("guile"),
> bind_srfi_initializers, NULL);
>
> With the following additional definitions:
>
> static SCM
> init_srfi_1 (void)
> {
> scm_init_srfi_1 ();
> return SCM_UNSPECIFIED;
> }
>
> static SCM
> init_srfi_60 (void)
> {
> scm_init_srfi_60 ();
> return SCM_UNSPECIFIED;
> }
>
> static SCM
> bind_srfi_initializers (void *dummy)
> {
> scm_c_define_gsubr ("%init-srfi-1", 0, 0, 0, init_srfi_1);
> scm_c_define_gsubr ("%init-srfi-60", 0, 0, 0, init_srfi_60);
> return SCM_UNSPECIFIED;
> }
>
> Then, starting with the original versions of srfi-1.scm and srfi-60.scm
> from Guile 1.8, replace the (load-extension ...) calls in those two
> files with (%init-srfi-1) and (%init-srfi-60), respectively.
With this Denemo starts up looking very good - no error messages from
any of the scheme executed on startup. However the symbol make-regexp is
undefined. Denemo executes
(use-modules (srfi srfi-1)) ; List library
(use-modules (srfi srfi-8)) ; Returning and Accepting Multiple Values
(use-modules (srfi srfi-13)) ; String library
(use-modules (ice-9 regex)) ; regular expressions
(use-modules (ice-9 optargs)) ; optional (define* ) arguments
(use-modules (ice-9 q)) ; queue module
at startup.
I have displayed (defined? 'make-regexp) and it is #f from before the
first of those module loads and remains #f throughout.
I am not sure if it is defined or merely re-defined by (ice-9 regex).
Could this be a side effect of those initialization calls made in the C
code? Or is this a separate problem? ... I realize that I don't know for
sure that srfi-1 has successfully loaded - is there a simple test for
that?
Thanks for your patience,
Richard
- Re: statically linking in srfi modules, (continued)
- Re: statically linking in srfi modules, Richard Shann, 2013/02/08
- Re: statically linking in srfi modules, Richard Shann, 2013/02/08
- Re: statically linking in srfi modules, Mark H Weaver, 2013/02/08
- Re: statically linking in srfi modules, Mark H Weaver, 2013/02/08
- Re: statically linking in srfi modules, Richard Shann, 2013/02/08
- Re: statically linking in srfi modules, Richard Shann, 2013/02/09
- Re: statically linking in srfi modules, Mark H Weaver, 2013/02/09
- Re: statically linking in srfi modules, Mark H Weaver, 2013/02/09
- Re: statically linking in srfi modules, Richard Shann, 2013/02/09
- Re: statically linking in srfi modules, Mark H Weaver, 2013/02/09
- Re: statically linking in srfi modules,
Richard Shann <=
- Re: statically linking in srfi modules, Mark H Weaver, 2013/02/10
- Re: statically linking in srfi modules, Richard Shann, 2013/02/10
- Re: statically linking in srfi modules, Mark H Weaver, 2013/02/10
- Re: statically linking in srfi modules, Richard Shann, 2013/02/11
- Re: statically linking in srfi modules, Richard Shann, 2013/02/11
- Re: statically linking in srfi modules, Mark H Weaver, 2013/02/11
- Re: statically linking in srfi modules, Richard Shann, 2013/02/12
- Re: statically linking in srfi modules, Mark H Weaver, 2013/02/12
- Re: statically linking in srfi modules, Ludovic Courtès, 2013/02/12
- Re: statically linking in srfi modules, Richard Shann, 2013/02/09