unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
From: Mark H Weaver <mhw@netris.org>
To: Panicz Maciej Godek <godek.maciek@gmail.com>
Cc: "guile-user@gnu.org" <guile-user@gnu.org>
Subject: Re: guile-2.0 on mingw: the sequel
Date: Fri, 23 Aug 2013 11:13:19 -0400	[thread overview]
Message-ID: <877gfccueo.fsf@tines.lan> (raw)
In-Reply-To: <CAMFYt2bvYrmYtwJTo-iUObTZNio=raesW7YgZZCs2zEj5yNTsw@mail.gmail.com> (Panicz Maciej Godek's message of "Fri, 23 Aug 2013 11:29:27 +0200")

Panicz Maciej Godek <godek.maciek@gmail.com> writes:

> 2013/8/23 Eli Zaretskii <eliz@gnu.org>
>
>     
>     > 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



  parent reply	other threads:[~2013-08-23 15:13 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-08-22 20:25 guile-2.0 on mingw: the sequel Panicz Maciej Godek
2013-08-23  6:38 ` Eli Zaretskii
2013-08-23  9:29   ` Panicz Maciej Godek
2013-08-23 10:16     ` Eli Zaretskii
2013-08-23 20:14       ` Panicz Maciej Godek
2013-08-24  6:31         ` Eli Zaretskii
2013-08-24  8:05           ` Panicz Maciej Godek
2013-08-25 15:26             ` Eli Zaretskii
2013-08-25 16:59               ` Mark H Weaver
2013-08-25 17:47                 ` Eli Zaretskii
2013-08-25 19:03                   ` Ludovic Courtès
2013-08-25 19:34                   ` Mark H Weaver
2013-08-27 21:51                   ` Panicz Maciej Godek
2013-08-26 13:28                 ` Eli Zaretskii
2013-08-23 15:13     ` Mark H Weaver [this message]
2013-08-23 15:34       ` Eli Zaretskii
2013-08-25 18:59         ` Ludovic Courtès
2013-08-25 21:19           ` Mark H Weaver
2013-08-26  2:35           ` Eli Zaretskii
2013-08-25 19:50         ` Mark H Weaver
2013-08-25 19:56           ` Mark H Weaver
2013-08-25 20:33             ` Eli Zaretskii
2013-08-25 20:40               ` Eli Zaretskii
2013-08-25 21:42               ` Mark H Weaver
2013-08-25 23:24                 ` dsmich
2013-08-26  2:44                   ` Eli Zaretskii
2013-08-26  5:56                     ` Mark H Weaver
2013-08-26  6:26                       ` Mark H Weaver
2013-08-26 13:10                       ` Eli Zaretskii
2013-08-26  2:40                 ` Eli Zaretskii
2013-08-25 20:32           ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=877gfccueo.fsf@tines.lan \
    --to=mhw@netris.org \
    --cc=godek.maciek@gmail.com \
    --cc=guile-user@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).