Notes on Cygwin Support

The Opal compiler has been ported to the Cygwin environment, which provides a Unix-like GNU-based environment for Windows 9x/ME/NT/2000 operating system. Due to some differences/limitations/restrictions the support is not complete. The configuration program has been changed accordingly, so that the default installation will only consist of the unproblematic parts.

Case Insensitivity of Filenames

Filenames are not case sensitive in the Cygwin environment. They are under most (all ?) other Unix-like systems, and the Opal library uses different cases to distinguish structures. During the port, we found the following problems:

In order to keep changes to the source code to a minimum, we decided to break the strong connection between filenames and structure names for the structures concerned. The Opal compiler and the genmake program "know" which structures reside in renamed file names, and the configuration script renames the files accordingly.

The Dosfop system for building documentation has not been updated and is not able to handle structures the names of which do not match their respective filenames. So you cannot generate the OCS documentation under Cygwin, instead you must install the documentation separately.

Note for developers: The SysDefs files and if present, the .hc.{c,h} files, have to be changed to take a possible renaming of filenames into account. See SysDefs and Wait.hc.c in subsystem src/lib/System/Unix for an example. If the files of further structures need to be renamed, the functions in src/om/genmake/Genmake.impl and src/oc/shared/admin/OcOptions.impl have to be changed accordingly as well as the script src/om/scripts/xoc1, and you probably have to augment the code in configure.in as well.

Handling of Libraries

Handling of libraries is different for Cygwin systems. The following problems still persist:


Klaus Didrich
Last modified: Thu Jun 7 11:16:40 MEST 2001