Closed Spivoxity closed 3 years ago
Hi Spivoxity,
XYplane works well with Windows 10 when using Cygwin/X (32 bits version). I only needed to correct two very minor issues (changing _MAXPATH to MAXPATH and commenting out one instance of a double defined function).
The Tartan test succeeds and shows the lines test, I also compiled and run the BarnsleyFern code from the rosetta code website, which also runs perfectly in Cygwin/X.
Thanks for the great work.
Thanks for the info. Would you like to send me a patch?
No problem, I will create one. I just forked your code so that I can check it in this evening.
I pushed the patch to my fork of obc-3, the commit with the changes is here:
https://github.com/rerunner/obc-3/commit/b2f1d89b8d7e34b0d6f5eab78188d86b1dd7b0ba
Cheers.
Here's a patch. It fixes two problems:
_MAX_PATH
is called MAX_PATH
under CygwinIf Cygwin is to become a supported target, it seems desirable to sort out the ifdefs to get a planned, consistent result. On amd64, that means sorting out whether the Windows calls or Cygwin's emulation of mmap
provide the best way of allocating storage addressible by 32-bit pointers.
It's probably best to use the Windows calls for memory allocation, and not try to rely on cygwin's emulation of mmap
. So on Windows HAVE_MMAP
needs to be forcibly disabled. Does the emulation support 32-bit addresses on Win64 at all?
I could experiment with building under Cygwin/X and running with Xming.
Probably a separate runtime "obxjx" would be needed to avoid making all Oberon binaries depend on X being installed. Either that, or solve the problem of dynamic loading.
A better proposal would be to cut out the X layer and make a direct implementation of XYplane for Windows.