On Tue, Sep 30, 2008 at 10:50:39AM +0200, Christian Jaeger wrote :
Christian Jaeger wrote: My *guess* is that you want to make it possible to have several (binary) distribution packages of different versions of Gambit in
Actually *I* don't at all. But Marc does, so I want the new installer to be Marc-compliant while being maintainers-and-OSs-friendly.
- with the current Gambit installation paths the same goal is still
possible just as well (you'd refer to /usr/local/Gambit-C/v4.2.6/bin/gsc for example); I agree that it's not standard for binary distribution packages, though.
That's the main point yes.
- choosing between Gambit versions by using an environment variable is
having the aim in mind to try a program with several different Gambit's without having to change the program's source code or make files; i.e. it's something with developers in mind.
I think that developers do whatever they want at home, but that the user shouldn't pay for this. And that work must be done too to help maintainers offer easily the software for as many users as possible. Also, if you want to use the environment, then you can do PATH=/path/to/gambit/bin:$PATH But John Doe shouldn't have to do so.
- so the art here is to keep the possibility to choose between Gambit
versions by changing PATH and still be able to generate a FreeBSD / FHS[*] 'compatible' filesystem layout (and do this without using symlinks on Windows?).
I don't know windows. If a symlink is a real issue, storage isn't.
(For me, the developer view is more important currently; also it's not clear yet how module systems might be coming into play here; so if in doubt, not changing might be the better option. In any case, be prepared to change again once module systems are here.)
I don't know of this could influence the filesystem hierarchy. But hypothetical induction should not hinder evolution. Since I suggest a highly modifiable installer, that shouldn't bee too hard anyway.
I've checked the manual for "~~", and there are more uses to it than just syntax-case and lib.
Ok.
«When the interpreter starts off it tries to execute a `(load "~~/gambcext")' (for an explanation of how file names are interpreted see Host environment). An error is not signaled when the file does not exist. Interpreter extensions and patches that are meant to apply to all users and all modes should go in that file.»
that's typical $prefix/etc/gambit-c/config and ~/.gambit-c/config configuration
«The `-l' option is only meaningful when an incremental link file is being generated (i.e. the `-link' option appears on the command line and the `-flat' option is absent). The `-l' option specifies the link file (without the `.c' extension) of the base library to use for the incremental link. By default the link file of the Gambit runtime library is used (i.e. `~~/lib/_gambc.c').»
that's ~~/lib as I said.
You can get the current ~~ path with: This means that you can get the correct paths corresponding to the "gsi"/"gsc" binary being found in the current PATH.
Adding support for this isn't too hard... -D__GAMBCETC -D___GAMBCLIB and so on... It's already quite the case.
$ links "$(gsi -e '(display (path-expand "~~/doc/gambit-c.html"))')"
That's not worthy to me
$ gcc ... -I"$(gsi -e '(display (path-expand "~~/include"))')" ...
I suugest the usual gcc ... `gambit-conf --cflags` `gambit-config --libs`
Christian. (PS. for some reason your emails had a Reply-To header set to the gambit mailing list; so I guess you don't want to receive Cc's to your address.)
Bad muttrc.
P!