Open Watcom provides development tools for several host environments. Using Open Watcom one can develop programs on DOS, Windows (even the old Windows v3.1), OS/2, and Linux. To do this effectively, however, one needs to be able to read the Open Watcom provided documentation on each of these platforms as well. That documentation contains information about the Open Watcom tools and run time libraries. It is an essential reference for the Open Watcom user.
Internally the documentation is in a format known as WGML, a text based markup language developed originally at Waterloo University. Through a series of steps the WGML source is transformed to a platform specific format that can be read by a platform specific documentation viewer. This process allows us to use the same documentation source for all platforms which is obviously highly desirable.
The final step of the documentation tool chain is a "help compiler" that outputs the necessary platform specific format. For Windows we are using the free help compiler created by Microsoft for this purpose (it is a separate download, we do not distribute this tool with the Open Watcom source). Similarly on OS/2 we have been using the IBM help compiler ipfc to produce the OS/2 version of the documentation. Unfortunately ipfc has been something of a thorn in our side. Recent versions of the tool have a bug that causes it to crash when processing certain Open Watcom documents. However, older versions of the tool are unable to process other of the Open Watcom documents. Thus building the OS/2 documentation required an elaborate dance.
Build as many documents as possible with the new version of ipfc until the tool crashes.
Manually build the troublesome document with the old version of ipfc.
Build the remaining documents with the new version of ipfc.
What's more during the most recent release cycle I noticed other problems with the OS/2 documentation build that seemed to be related to incompatibilities between our latest documents and IBM's ipfc. Finally, because ipfc is only available on OS/2 it is necessary to use OS/2 to build the OS/2 help files. This is somewhat awkward for me since I can't build the entire system on the Windows machines that I typically use.
However, early in the 1.9 development cycle Lawrence Haynes surprised the rest of us by contributing a clean room reimplementation of ipfc, called wipfc to the Open Watcom project. Wow! Now we have our own OS/2 help compiler and are in control of its source code. We can compile wpifc for all our platforms so now we can build OS/2 help on Windows, Linux, and even DOS (as well as on OS/2, of course). Furthermore we can address the issues that have plagued ipfc in the past to further simplify the build process and, hopefully, provide better documents in the long run. In particular, wipfc can compile all the Open Watcom documents without crashing. That's a step forward.
The wipfc tool is not yet 100% correct, however. Although it can compile the entire documentation set, the documents produced have some (mostly minor) problems. It is my hope that these final issues can be worked out before the v1.9 release. A more interesting question, perhaps, is this: should we include wipfc in future Open Watcom distributions? The OS/2 community might find it useful to have access to an open source version of the tool that is actively maintained as part of an open source project. For that matter one might wonder if we should distribute the entire WGML tool chain to enable third parties to use WGML for their own documentation. That is, perhaps, a good topic for a later post.
By the way, as far as I know we do not have a documentation compiler or viewer for Linux (unless the DOS tools happens to work when compiled as a Linux applications... probably not right now). This is one aspect of Open Watcom's Linux support that needs to be improved before the status of the Linux host becomes non-"experimental."
I should also mention that the Open Watcom build system can create PDF versions of the documentation using the third party Ghostscript tool. This is done on the build servers; fresh PDF documents can be downloaded from them and PDF documents for recently released versions of Open Watcom can be found on the main Open Watcom web site.
