[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: guile-2.0 on mingw: the sequel
From: |
Mark H Weaver |
Subject: |
Re: guile-2.0 on mingw: the sequel |
Date: |
Fri, 23 Aug 2013 11:13:19 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) |
Panicz Maciej Godek <address@hidden> writes:
> 2013/8/23 Eli Zaretskii <address@hidden>
>
>
> > I managed to go through the compilation process,
> > and (after modifying meta/Makefile.am according to Eli's
> > patch) to make install.
>
>
> This compilation process includes compiling all the Scheme files
> that
> come with Guile. Since you say it succeeded, I don't understand
> what
> you say later, see below. Do you see a lot of *.go files in the
> directory where you built Guile?
>
> When I enter the build directory and type
> $ find ./ -name '*.go'
> it seems that every .scm file from `modules' directory has its .go
> counterpart,
Note that setting GUILE_LOAD_PATH is not enough. You must also set
GUILE_LOAD_COMPILED_PATH to include the top directory where the .go
files are installed. Specifically, both of these should point to a
directory that contains "ice-9", so that
$GUILE_LOAD_PATH/ice-9/boot-9.scm exists, and so does
$GUILE_LOAD_COMPILED_PATH/ice-9/boot-9.go.
A better solution is to provide a proper --prefix, so that the files are
in the default load paths in the built Guile.
Of course, ideally we would allow the entire Guile install to be freely
relocatable, as Windows users have come to expect. This would require
some help from a Windows developer.
Someone on IRC (who prefers to stay anonymous) once outlined this plan
to me:
infer paths in the usual way - by saving the hInstance handle that it
gets in DllMain(), then using GetModuleFileName () on that handle to
obtain location of the libguile-whatever.dll, then checking if that dll
is in a "bin" directory, and taking parent directory of that "bin"
directory as the prefix, and then appending things like "/etc/config.d"
and "/share/guile/stuff" to that prefix
Well, an easy way to fix this is to separate the fix into two parts. One
part is about getting the prefix at runtime (on POSIX you can just use a
mockup that gets it from some envvar; later you'll be able to add a
W32-only implementation that does what i said earlier), and the other
makes guile use that prefix to construct paths it needs
If there are no objections to this approach, I'd be willing to work with
a Windows developer to make it happen.
Regards,
Mark
- Re: guile-2.0 on mingw: the sequel, (continued)
- Re: guile-2.0 on mingw: the sequel, Panicz Maciej Godek, 2013/08/23
- Re: guile-2.0 on mingw: the sequel, Eli Zaretskii, 2013/08/24
- Re: guile-2.0 on mingw: the sequel, Panicz Maciej Godek, 2013/08/24
- Re: guile-2.0 on mingw: the sequel, Eli Zaretskii, 2013/08/25
- Re: guile-2.0 on mingw: the sequel, Mark H Weaver, 2013/08/25
- Re: guile-2.0 on mingw: the sequel, Eli Zaretskii, 2013/08/25
- Re: guile-2.0 on mingw: the sequel, Mark H Weaver, 2013/08/25
- Re: guile-2.0 on mingw: the sequel, Ludovic Courtès, 2013/08/25
- Re: guile-2.0 on mingw: the sequel, Panicz Maciej Godek, 2013/08/27
- Re: guile-2.0 on mingw: the sequel, Eli Zaretskii, 2013/08/26
- Re: guile-2.0 on mingw: the sequel,
Mark H Weaver <=
- Re: guile-2.0 on mingw: the sequel, Eli Zaretskii, 2013/08/23
- Re: guile-2.0 on mingw: the sequel, Mark H Weaver, 2013/08/25
- Re: guile-2.0 on mingw: the sequel, Mark H Weaver, 2013/08/25
- Re: guile-2.0 on mingw: the sequel, Eli Zaretskii, 2013/08/25
- Re: guile-2.0 on mingw: the sequel, Eli Zaretskii, 2013/08/25
- Re: guile-2.0 on mingw: the sequel, Mark H Weaver, 2013/08/25
- Re: guile-2.0 on mingw: the sequel, dsmich, 2013/08/25
- Re: guile-2.0 on mingw: the sequel, Eli Zaretskii, 2013/08/25
- Re: guile-2.0 on mingw: the sequel, Mark H Weaver, 2013/08/26
- Re: guile-2.0 on mingw: the sequel, Mark H Weaver, 2013/08/26