Re: Mingw32 Maxima "make check"



Hi James.

> Ugh. I know more about getopts (and the possble lack thereof) than I
> care to discuss. A similar problem recently cropped up in my Real Job.
> It looks like I'm going to have learn something about mingw before this
> is over...

Not too much to learn, really.

 - Mingw32 is a native win32 gcc compiler, currently in the version 2.95
series.

 - Get the Mingw32 1.1 zip file from Source Forge and unzip it somewhere
convenient (say for this example, c:\mingw32).  Change the name of make.exe
in the Ming32 bin directory so that it can't be accessed as "make", because
it is not up to the job we are doing.

 - Install Cygwin from sources.redhat.com.

 - Start a bash shell and execute:

    export PATH=/cygdrive/c/mingw32/bin:${PATH}

 - Typing "gcc -v" should now get you the Mingw32.

 - Build GCL per the instructions in GCL CVS "readme.mingw".

> Does mingw include bash?

No.  It is designed to work as a normal Win32 compiler no need for faux Unix
tools.

For development, I am using Cygwin as a host environment to get the
configuration and Posix tools needed to drive the build.  So the Maxima
script should work, in principle, as Bash is available under Cygwin.

The $@ argument passed to process_args() in "src/maxima" has the appropriate
values so either the call to process_args() or getopt is the problem.

Based on the Bash man page, the syntax for getopts seems to be OK, although
I have never used it before so can't be certain.

> If so, please change the #! line in src/maxima
> (and src/maxima.in while you are at it) to point to bash. That should
> solve your problem for the short term. Please let me know what happens
> so I can start thinking about a long-term solution.

I tried that and it was still the same problem.

As you probably know,  the finished product (XMaxima, maxima, gcl) is not
(and should not be) dependent on any Posix tools to run under Windows.  The
beauty of XMaxima is that it (at least under the old build system) sidesteps
shell scripts and Posix tools on Windows.

Cheers

Mike Thomas.