[gambit-list] Gambit installer

Adrien Pierard pierarda at iro.umontreal.ca
Tue Sep 30 10:11:53 EDT 2008


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!

-- 
"I am not a Church numeral; I am a free variable!"
(The Scheme Underground)
For every complex problem, there is a solution that is simple, neat, and wrong.



More information about the Gambit-list mailing list