Sigh. I am afraid we are now suffering the effects of miscommunication
from some time ago. For example:
On Sun, 2002-09-15 at 11:49, Mike Clarkson wrote:
> James, I would really like to see a windows binary with CLISP too, but
> CLISP windows releases are real windows not MSYS.
It is trivial to install CLISP under Cygwin.
./configure && make && make install
will do it. I assume MSYS will be the same. Are you sure you cannot just
use the dos clisp from MSYS?
> The maxima build is
> so wedded to GNU configure now; how hare will it be to build the
> current maxima without it?
Maxima now uses autoconf and automake, which rely on bourne shell
scripts and make files. However, the lisp part of the build uses
defsystem, so it is pure lisp.
The older maxima build system *also* used bourne shell and make files.
It did not use defsystem. The changes to the build system should make it
much *easier* to port, not harder. If there are a few rough edges under
windows, then we should identify them and work them out.
The one thing that I knew I was making more complicated under Windows
was the introduction of the maxima wrapper script written in bourne
shell. It exists so that maxima would present a consistent command-line
user interface, regardless of lisp implementation used. Most lisps do
not generate standalone executables, so a wrapper script was
unavoidable. I wasn't sure what the best way around that would be under
windows. I intentionally left xmaxima as pure tcl/tk so as to avoid that
problem.
One option for the maxima wrapper would be to replace it with a compiled
program written in a least-common-denominator language. I'm afraid that
would have to be C.
> CLISP used to ship maxima.mem with it, so
> they knew how to build maxima before all of the configure
> superstructure was put in place. It might be harder now.
>
> It is important to note that under Windows, gcl is hardwired into
> xmaxima right now as a special and only case. Not a problem to add
> another special case, but because of configure, and maxima as a shell
> script, and run-maxima-lisp as a shell script, you have to duplicate
> all of their logic before the current approach to multiple lisps will
> run under Windows. Presumably you would do that in Tcl in xmaxima, but
> I do not like duplicated logic. If you have to do it in Tcl for
> xmaxima, then you might as well bite the bullet and replace the
> maxima.sh and run-maxima-lisp.sh shell scripts with Tcl scripts. The
> drawbacks of having Tcl scripts are less than the nightmare of
> duplicated logic, and most people will have Tcl for xmaxima.
I don't like duplicated logic, either, but I didn't see any other way.
***I already did the work to put the lisp-switching logic in to xmaxima
months ago.*** In fact, if I check out xmaxima from two months ago, I
can do this:
> xmaxima --help
usage: xmaxima [options] [url]
If given, [url] will be opened in the help browser instead
of the default starting page.
options:
--help: Display this usage message.
-l <lisp>, --lisp=<lisp>: Use lisp implementation <lisp>.
--use-version=<version>: Launch maxima version <version>.
Some of the options seem to have been broken by recent changes. "-l
clisp" still works, however. I really hate to see these things regress.
--Jim