Emx: Difference between revisions
Redirected page to The EMX Project |
|||
(15 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{DISPLAYTITLE: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 [https://stuff.mit.edu/afs/sipb/project/os2/ftp/emx/ 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/ | |||
[[Category:emx]][[Category:Software written in C]] |
Latest revision as of 14:20, 16 September 2024
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.