MinGW status

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

MinGW status

Paul Kienzle-6
Hi all,

I've run octave-test on my static mingw build 1263 passes and 19 failures.

Failures include:
        file-pos-1, quad-2, umask-1 tilde-expand-1 cd-1
        get{pgrp,ppid,pwent,pwuid,pwnam,gren,grgid}-1
        set{pw,gr}ent-1

quad-2:

        under make check I get:
                ABNORMAL RETURN FROM DQAGP<89><F6>^Z

        from the command line I get many screens full of garbage.

file-pos-1:

        prints "ok" if I use fopen(nm, "rb") but otherwise it prints nothing.

cd-1:

        The test is looking for / at the beginning of the path.  Ignoring
        that, cd("c:\\cvs") says "Invalid argument"

The remaining failures are not at all surprising.

There are still some outstanding issues:

1) LOADPATH="../scripts//" fails with e.g.,
        no such file, `Cscripts/io/printf.m'

   but LOADPATH="..\\scripts//" works.

2) Ctrl-C doesn't work properly.  The problem is that you can't do a longjmp
   from the Ctrl-C handler to the top level.  The solution is convoluted:
        halt the main thread
        set its state either to the top level, or to something that will
            long jump to the top level
        resume the main thread
   To unify signal handling (I don't know if all signals are received in a
   separate thread or if some are received in the main thread), I would
   change the return to top level code to first check if the main thread
   is running and if not, do the above otherwise longjmp back to the
   top level.  I would rather someone who knows more about windows threading
   than me do this since I'm sure there are plenty of gotchas.

3) gethostname comes from winsock.  How do you determine which version of
   winsock and what needs to be included in the source and on the link line
   from ./configure?

4) I couldn't configure with readline enabled.  I'm hoping that's just because
   the readline version in mingw is slightly out of date and not that readline
   is unavailable under mingw.

5) I do not have oct-file support.  Hopefully this will follow when John
   patches the configure system to support cygwin.  I believe everything we
   need to do for *cygwin* we also need to do for *mingw* --- hmmm, I wonder
   if anyone is going to modify MSYS so that it can use the Borland compiler?

6) I haven't sorted out system(...,"async").  I can't call the *spawn* functions
   without doing argument splitting so that means figuring out CreateProcess.
   Anyone willing to step forward?  Similarly, oct-procbuf.{cc,h} needs work
   to replace the fork/exec with the appropriate windows magic.  Pipe didn't
   work when I tried it quickly, though it didn't give me an UNSUPPORTED error
   either.

7) Many, many others that I haven't discovered yet...

There are still a couple of patches outstanding.  Let me know if you want to
work on this and I will send them your way.

Anyone want to speculate on whether supporting MinGW is a good thing?  What
can we hope to gain by it?

Thanks in advance,

Paul Kienzle
[hidden email]