chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Chicken-users] CVS Update (1074)


From: felix
Subject: [Chicken-users] CVS Update (1074)
Date: Thu, 15 Aug 2002 09:08:02 +0200

Hello, everybody!

The current CVS version has a couple of changes:
- I removed most $<'s and $@'s from Makefile.am
- Tony has made some HPUX-specific changes to the dynamic loading stuff
- A preliminary, untested and most certainly buggy version of the
  setup tool (`chicken-setup') is now provided, together with a changed
  version of `require'.
- Fixed the bugs reported by Panagiotis

The setup-tool is intended to package, extract, build and install (shared)
extension libraries. Some doumentation is there, but of course not enough.
Specifically there are no examples yet. The whole thing is still
smoking, but anyone adventerous enough might play around with it.

A (very simple) example:

% cat hello.scm
(define (hello x) (print "Hello, " x))
% cat hello.setup
(hello ())
% chicken-setup --wrap hello
% ls
hello.egg
hello scm
hello.setup

(later...somewhere else)

$ ls
hello.egg
$ chicken-setup --install hello
$ csi -quiet
>>> (require 'hello)
; loading /usr/local/lib/chicken/hello.so
>>> (hello 'you)
Hello, you
>>>

The mechanism is intended to support hierarchical packages, so something
like the following should work, too:

current directory:

net/
  support-macros.scm
  sockets.scm
  web/
    cgi.scm
    http.scm
net.setup

% cat net.setup
(net ()
  (support-macros ([syntax]))
  (sockets ([require-for-syntax support-macros]))
  (web ()
    (cgi ())
    (http ([require-for-syntax support-macros])) ) )
% chicken-setup --wrap net

...

$ chicken-setup --install net
...
$ csi -quiet
>>> (require '(net web cgi))
...

Enter `chicken-setup --help' for a list of command-line options.
`chicken-setup --list' shows the currently installed extensions,
alternatively
you may take a look at $(prefix)/lib/chicken/REGISTRY.

The installation process does some things to setup the registry. AFAICT
this seems to work ok on Linux, but I would like to know how it does on
other systems.

Any comments would be very welcome.


cheers,
felix






reply via email to

[Prev in Thread] Current Thread [Next in Thread]