Emx

emx (Eberhard Mattes eXtender) is an environment for creating 32-bit programs for OS/2 and DOS with the GNU C compiler (GCC). The main design goal of emx is to simplify porting Unix software to OS/2 and DOS.

The package contains tools for creating 32-bit programs which run both under OS/2 2.0 (6.167 or later) and MS-DOS (using an included DOS extender).

Also native OS/2 programs, including Presentation Manager applications can be created.

History
E. Mattes created a POSIX-compatible 32-bit DOS extender for the emTeX distribution.

Development Tools

 * emxbind.exe:bind .o object files to a DOS executable
 * emxexp.exe:export definitions
 * emxfpemu:387 FPU emulator
 * emximp.exe:creates import libraries
 * emxomf.exe:converts .o object files (a.out) to .obj object files (OMF) allowing the creation of OS/2 executables that do not need the emx runtime

The GNU development system includes:
 * gas - GNU Assembler
 * gasp - GNU Assembler Preprocessor
 * gdb - GNU Debugger
 * gcc - GNU C compiler
 * gprof - BSD/GNU profiler
 * ld - GNU linker
 * GNU binary utilities: ar, nm, size, strip, objdump
 * GNU documentation system: texinfo

It offers a host of headers and libraries and/or ports of the same intended to replicate common UNIX libraries including all common ANSI C header files and a complete C library, a simple graphics library for 320x200 (256 colours) mode, a library for screen output in windows, partial port of the BSD C library, the BSD data base library(dbopen), the BSD curses library, regexp library, and both the GNU and BSD termcap libraries.

Versions

 * 0.8b (1992-02-23)
 * 0.8c (1992-03-19)
 * 0.8d (1992-05-03) - A mirror (zoo required)
 * 0.8e (1992-09-13)
 * 0.8f (1993-01-03)
 * 0.8g (1993-07-13)
 * 0.8h (1993-12-14)
 * fix10 (Jul 1994)


 * 0.9a (1994-12-05)
 * fix06 (1995)
 * 0.9b (1995-12-10)
 * 0.9c (1996-09-09)
 * 0.9d (1998-12-23)
 * fix04 (Mar 2001) - combined WPI package: emx0944.exe
 * There is a later unofficial patch by Vincenzo Venuto that allows files larger than 2GB


 * Prerequisites
 * If you want to create executables you need LINK386, a selective install option in OS/2 2.0 or higher.

Links

 * https://sourceforge.net/projects/emx/