There are quite a few compilers available for OS/2. A few are listed here.
OpenWatcom is the recommended compiler for all device drivers and new applications. OpenWatcom can be downloaded here. OS/2 is one of OpenWatcom’s supported platforms and it builds native “OS/2 like” applications. The OpenWatcom package contains everything needed to build applications, including the compiler, assembler, linker, librarian, headers, runtime, debugger, etc.
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” 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.
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. 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 rare cases. Not recommended for device drivers.
Building Device Drivers
To build device drivers for OS/2 you will need the OpenWatcom compiler and the IBM DDK. 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.