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
- emxomfar.exe
- librarian for OMF .lib files
- emxomfld.exe
- frontend to LINK386
- emxrev.exe
- revision number
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.