Actually there were surprisingly few changes to make for the cygwin version, the cygwin package provides excellent support for porting unix apps to windows. src/any and src/i386 are almost unchanged, most changes were necessary in src/unix, often only different location of header files or method signatures. The bigger problems I encountered were the following: - signal handling and timers: cygwin provides the standard signal support, but not the advanced features like sigaction and signal stacks. I also couldn't get the timers to work correctly. I worked around the latter problem by using directly using a win32 multimedia timer. - no syscall on cygwin: The syscall function doesn't exist on cygwin, for the Self methods that uses syscalls (e.g. unixGlobals os mkdir:) I had to define new primitives.
Btw, from the Self pages at Sun I asume that you together with David Ungar are currently responsible for the Self versions for Solaris and OS X. I added a command switch (-b) to the Linux and Cygwin version to import a snapshot from Mac or Sparc which are stored in big-endian byte-order (you still need to file in the linux/cygwin specific stuff to use it) It would be nice if the Solaris/OS X versions would provide the same functionality, so that you can use a snapshot on all supported platforms. I can send you a patch for this, if you're interested.
Ideally the byte-order could also be autodetected by the VM, but this might require a change of the snapshot format to add the byte-order information.
On Sun, 2002-12-08 at 23:07, Michael Abd-El-Malek wrote:
This is great! Self now runs on under 4 operating systems, and 3 architectures.
Out of curiosity: what changes did you have to make for your port?
On Sunday, December 8, 2002, at 09:39 AM, Harald Gliebe wrote:
I recently spent some time to get Self running on Windows and made a first version available on http://www.gliebe.de/self/download.html . It needs cygwin and XFree, which you can get from http://www.cygwin.com Have fun,
-- Harald Gliebe email@example.com
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/