Information for Developers

Wikis > Information for Developers

Compilers

There are quite a few compilers available for OS/2. A few of the C compilers are listed here.

OpenWatcom

OpenWatcom is the recommended compiler for all device drivers and new applications.  OS/2 is one of OpenWatcom’s supported platforms and it builds native OS/2 like, and OS/2 friendly applications. The OpenWatcom package contains everything needed to build applications, including the compiler, assembler, linker, librarian, headers, runtime, debugger, IDE, samples, etc. This is the easiest compiler to use for OS/2 and has decent documentation.

Downloads are available here with permission. Uploading these files to other servers is not permitted.

  • OpenWatcom C for OS/2 v2.0.x – An executable installer that will install some or all of the OpenWatcom components and configure the system so it’s ready to use. Note: This is the official version that is used by Arca Noae to build core Arca Noae components. Other binary versions of this compiler may be available from other sources, but testing shows they don’t work properly.

IBM VisualAge C/C++

The IBM VisualAge compiler is another tool chain that is available for OS/2. Like OpenWatcom it is made for OS/2 and builds native OS/2 like, and OS/2 friendly applications. Two versions are available v3.08 and v3.65. Both are quite old and not as capable as OpenWatcom. The IBM VisualAge compiler also comes with everything needed to build applications.

gcc

Recommended for porting applications already written for gcc. Not recommended for new projects unless the new project is going to use other gcc compatible toolkits. Builds applications that are OS/2 compatible, but not necessarily OS/2 friendly. Gcc is ported from the unix/linux world and comes with many quirks that are not very OS/2 like and can actually cause problems on OS/2 systems in some cases. Not recommended for device drivers. Not recommended for programs that manipulate system files on the boot volume. Applications built with the gcc/libc tool chain are susceptible to problems like DLL hell, breakage if DLLs get updated, EA litter, bloat, incompatibilities, etc.

Building Device Drivers

To build device drivers for OS/2 you will need the OpenWatcom compiler and the IBM DDK (see below). You will also probably want to use one of David’s device driver kits. (See his Software Downloads page.) These kits make building device drivers as easy as writing a “hello world” application.

Some tools for building device drivers are below. These files are available here with permission. Uploading these files to other servers is not permitted.

  • OpenWatcom C for OS/2 v2.0.x – An executable installer that will install some or all of the OpenWatcom components and configure the system so it’s ready to use. Note: This is the official version that is used by Arca Noae to build core Arca Noae components. Other binary versions of this compiler may be available from other sources, but testing shows they don’t work properly.
  • 32 Bit Driver Kit – a ZIP file that contains header files, a library, and samples for easily building 32 bit device drivers.
  • 16 Bit Driver Kit – a ZIP file that contains header files, a library, and samples for easily building 16 bit device drivers.

Toolkits

For device drivers, the IBM Device Driver Kit for OS/2 (DDK) is no longer available from IBM, but is still under license from IBM and cannot be distributed legally. Arca Noae cannot distribute copies of the DDK. The DDK (including a license for perpetual use) was originally distributed as part of the Developer Connection for OS/2 CD subscription.

For applications, the IBM OS/2 Developer’s Toolkit (OS2TK45) is not shipped with ArcaOS, but is available as a ZIP file here. [This file is available here with permission. Uploading this file to other servers is not permitted.] Download and unzip the file to a temporary location, read the ReadMe files, and run the installer contained inside. This is the recommended toolkit which has been updated and contains an installer that installs the toolkit to the location of your choice. There is also an RPM installable with ANPM available. The RPM may have different content, and when installed the contents are commingled with the unix files in the unixroot tree. This may not be the the most convenient location for practical use.

Sources for Other Information

This entry last updated: by David A