Subject: Windows builds and the build system rationale
From: Stephen Leake
Date: 16 Sep 2002 13:50:20 -0400
James Amundson <amundson@fnal.gov> writes:
> On Mon, 2002-09-16 at 09:06, Stephen Leake wrote:
>
> > These are all very reasonable requirements.
> >
> > However, the use of the term "script" is a problem. If it is assumed
> > that <prefix>/bin/maxima is a "script", that means we have to have a
> > standard scripting language. On Unix systems, the standard is /bin/sh.
> > On Windows, it is "the DOS box". The two are _not_ compatible.
>
> I am not a moron. I know that Bourne shell is not port of DOS.
I'm sorry; I did not mean to imply you were. I was just making sure we
both were talking the same language. You do keep saying "I know very
little about Windows".
> The "scripts" I was talking about are Bourne shell and wish. The
> reason I maintained xmaxima as a pure wish script was precisely so
> that it could be used on Windows systems.
Yes, that is good. But the command line scripts are not wish, so they
are not portable.
> > It would be much simpler (from a cross-platform point of view) if
> > <prefix>/bin/maxima were an executable, that required no command
> > line arguments. Non-standard ways to run maxima could be supported
> > via command line options and/or environment variables.
>
> The problem is that most Lisp implementations do not generate
> stand-alone executables. That is the reason that the maxima executable
> is a shell script.
Well, I don't understand. The _only_ thing I need to add to maxima.exe
to make it run is the command line argument "-eval (run)". Surely the
gcl lisp compiler could be changed so that command line arg is the
default? I realize that is outside the Maxima project, but it seems
like a reasonable approach.
Perhaps the shell scripts also do more stuff, but the extra
functionality does not appear to be needed for a command line
interface to maxima.
People who want the extra functionality could install MSYS or Cygwin,
so they can run the shell scripts.
> > > The current build system meets those requirements under
> > > unix-like systems. I don't know enough about windows to have any
> > > idea what to do there. I did my best to not avoid things I knew
> > > would cause new problems under Windows, but I did so with little
> > > guidance. If the people working on the windows packaging would
> > > like to offer some guidance, now would be the time.
> >
> > The main problem is the use of a shell script. I believe it is
> > possible to accomplish all of the requirements above without shell
> > scripts (on both Windows and Unix).
>
> No, it is not.
Ok. Someday I'll go read the source, and find out why.
--
-- Stephe