I'm looking at porting some UNIX based software to Windows NT with
the following options:
1) Porting to the POSIX subsystem
2) Porting to the Win32 subsystem by rewriting code to make Win32 calls
3) Porting to the Win32 subsystem by providing a UNIX -> Win32 emulation
library (ie: mapping UNIX APIs onto Win32 APIs via a library).
My preference would be 1) followed by 3) followed a distant last by 2)
mainly because I really want to keep a single line of source, which
is as close as possible to POSIX compatibility.
Most serious commercial UNIX apps use some form of IPC mechanisms (such as
shared memory, sockets, message queues, etc).
The main problem with 1) is the lack of support for IPC mechanisms in
the POSIX subsystem - which from my looking at it makes the subsystem
next to useless (apart from enabling NT to be passed as a POSIX compliant
OS on government tenders :).
Has anyone made any attempt to call APIs intended for other subsystems
(such as WINSOCK DLLs) from the POSIX subsystem?
Does anyone know of any 3rd party work (or work by Microsoft themselves) for
additional APIs under the POSIX subsystem?
Does anyone know of any 3rd party products which would satisfy 3), or would
we be stuck with developing such a library ourselves?
Does anyone have any good references for carrying out 2) or 3) (BTW, I don't
call the 5 page memo put out by Microsoft good :)?
I would appreciate any pointers on difficult porting areas from anyone who
has carried out a port using method 2) or 3).
Replies by mail would be greatly appreciated during this silly season
(while I won't get to read much news).
Snail: John MacLean c/- Tower Technology Fax: +61 2 427 7072
1 Apollo Place, Home: +61 2 449 5930
Lane Cove, NSW 2066, Australia.