mk:defsystem for maxima



On Wed, 2001-10-24 at 14:03, C Y wrote:
> 
> --- James Amundson <amundson@fnal.gov> wrote:

> I plan to setup an
> > autoconf/automake system for maxima so that it can be configured, 
> > built and installed in a way familiar to users of other autoconf'ed 
> > projects. 
> 
> That would be really, really, really cool.  That was one of the big
> barriors for me when I first tried maxima - the nonstandard build
> process.

Good. I'm glad to hear that someone else feels the same way. My goal is
that users unfamiliar with lisp will still be familiar with the
interface to the build system (i.e., ./configure ; make ; make install)
while allowing real lisp hackers to feel comfortable with what's under
the hood (mk:defsystem).

> > The lisp part will continue to actually be built by mk:defsystem.
> 
> I doubt that'll be a problem - in fact, that would probably be the best
> thing.  One thing, though - can autoconf check for the presence of
> mk:defsystem as part of its initial stuff, and give an informative
> message about installing it if it isn't already present?

Yes. I'll check for mk:defsystem, etc. I'm only using two files from
CLOCC, defsystem.lisp and run-lisp, so it might be a good idea to bundle
a default version with the maxima distribution. Then again, it might
not. I haven't decided. At the very least, I would seek the blessing of
the CLOCC maintainers before doing so. I would also provide the option
to use an external version of those files.

> > I also plan to write a wrapper script so that maxima can be invoked
> > from the command line in a manner independent of lisp implementation.
> 
> Also very cool.  Do you think maybe you could add an option (this may
> be a bad idea, but it kind of strikes me as cool so I'll throw it out)
> to tell the compile system to make binarys from different lisps, and
> then have the script accept an option as to which lisp to run it in?

Yes, that's what I plan to do. In fact, such a script already exists on
my machine, but it isn't ready for public consumption.

> Say, for example, I wanted to compile maxima against GCL, CMUCL, and
> Clisp, 'cause I'm a geek and want to use different lisps for different
> types of jobs:
> 
> ./configure --use-gcl --use-cmucl --use-clisp --default clisp

...

> Sorry if I'm off base again, but it sort of seemed like a cool idea.

I think it's a cool idea, too. I had planned to do almost exactly what
you are suggesting.

> > I'm sending this message now not because I have a polished final
> > product ready, but because I hope others will be interested in 
> > discussing and working on it.
> 
> Unfortunately I personally don't have the expertise to help you put it
> togeather, but I'll volunteer to be an early and frequent tester.  Do
> we have any autoconf gurus out there?

I'm happy to do the auto(conf,make) work. It's well within my expertise.
I can't promise to finish it for at least a month, however. (In Real
Life I'm in the process of preparing for SuperComputing 2001, which
happens early in November.)

--Jim