[Xorp-hackers] XORP/Win32 merged to mainline.

Bruce M Simpson bms@spc.org
Thu, 18 Aug 2005 17:14:16 +0100


The XORP CVS tree should now build on Windows systems, and is likely
to be far more portable to non-UNIX/embedded environments.

Please note that the configure checks are a bit more extensive than before.
In situations where we use a UNIX specific idiom, this is protected with
lots of defines found in config.h in the build root so as not to break
the build on systems which don't support them (i.e. Windows).

Some documentation will probably have to be updated to reflect the new
state of affairs. There is a class XorpFd which encapsulates file
descriptors. A number of its members are only used on Windows, where
the I/O system is not as seamlessly unified as it is in the UNIX environment,
and as such it's necessary to tell different objects apart (regular files,
sockets, native pipes, consoles et cetera).

Also note that the current state of Windows support is unstable. In order
to achieve a stable configuration (as we demonstrated in Redmond), it will
be necessary to hack the dispatch code to use the Windows version of
SelectorList, with the main caveat that command line pipes won't work
(operational mode commands are likely to fail, though configure mode
should work).

The reason for this is that a number of hacks are needed to deal with native
Windows IPC and I/O mechanisms. For those who are interested the code has
been localized as much as possible; the routines involved are found in
libxorp/win_io.c and libxorp/win_dispatcher.cc.

This is the culmination of many months of work, and we're extremely grateful
to Microsoft for all their support, both technical and financial, over the
duration of this project. Once again, thank you for flying XORP.

Kind regards,
BMS