[cello-devel] scrolling in da house

Thomas F. Burdick tfb at OCF.Berkeley.EDU
Sat Apr 3 20:45:57 UTC 2004


Kenny Tilton writes:
 > 
 > Thomas F. Burdick wrote:
 > 
 > >Oh, I didn't send a diff because (a) I'm not sure where I put the
 > >original source that I changed, and (b) my changes are probably easier
 > >to narrate.  Every instance of a pathname became a reference to a
 > >global variable, and those are defined in configuration.lisp.
 >
 > OK. Where is /that/ found? /something/cellocore/configuration.lisp? How 
 > does it get loaded? Is it the first file loaded by cellocore.asd?

Yep.

 > >  With
 > >the SBCL/CMUCL Alien system, you need to load libraries before files
 > >that reference symbols in them, so I put the forms to load all of the
 > >libraries in load-foreign-libraries.lisp, and have all the files with
 > >UFFI definitions depend on that file.
 >
 > OK. Methinks configuration.lisp will also need stuff like "(push 
 > :cl-graphicks *features*)" to control what gets loaded, since everything 
 > but FreeGlut is optional (but god help any GUI not using FTGL to get 
 > nice fonts).

Yeah, that sounds like a good approach to me.  It'd look something
like:

  (defparameter *foo-library-path* nil)
  (defparameter *bar-library-path* nil)
...
  (when *foo-library-path* (push :cl-foo *features*))
  (when *bar-library-path* (push :cl-bar *features*))

?

 > >  Wait, Kenny ... *you're* worried about dependencies?!?!
 > >How many libraries do you have to get for Cello again? :-)
 >
 > Freeglut. Too many? :)
 > 
 > The neat thing will be polishing up what I have already started: some 
 > demo such as ClouCell which can go like this:
 > 
 > <install freeglut>
 > asdf-install cello-core
 > <try out ugly cloucell>
 > <install ftgl>
 > asdf-install cl-ftgl
 > <try out pretty cloucell>
 > 
 > Something like that.

I don't think that'll be difficult.  It will require some ASDF
extensions to note that Cello depends on cl-ftgl iff :cl-ftgl is on
*features*, because the defsystem form gets read, then
configuration.lisp gets loaded, then *features* is all setup.  I think
this is the kind of extension that asdf should support, tho.




More information about the cello-devel mailing list