- Ixemul.library
The ixemul.library is a software source-code compatibility library for the Commodore
AmigaOS . It allows software forUnix-like platforms to be easily compiled on Amiga systems with minimalsource code modification.Description
The ixemul.library provides a number of BSD system API calls that are then internally converted to native Amiga kernel calls. The API was specifically modeled against
NetBSD , providing a similar system for process control, multitasking, file operations, signals, pipes and other messaging methods. The library provides this with low overhead, requiring roughly 200KB of memory.Most Unix-like programs can be compiled without modification (see "limitations" below). Programs that require BSD Sockets networking can use the related ixnet.library. Programs that include X Window client support can use the Amiga port of X.
There is no restriction against using both ixemul and Amiga native API calls simultaneously.
History
The library was originally developed around 1991-92 by Markus Wild as an aid in porting the
GNU Compiler Collection and PDKsh. Several incomplete source snapshots were made available online while he continued to release new binaries. When Markus shifted his attention to NetBSD development full time, development of the library stalled.Around 1994, Rafael W. Luebbert produced a fork of the project, gluing together different working parts of the public source code. This version soon became the "de facto" standard within the Amiga community.
A second fork of the project was later started by Leonard Norrgard. Due to overlapping version numbers, this resulted in some ambiguity between projects. The projects were later merged under a single maintainer, which is its current state.
Limitations
The library does not emulate the BSD system API in its entirety. Some of the signals, such as
SIGSTOP , are missing. The use of some process control functions, such as fork(), cannot be fully implemented due to the Amiga's lightweight, non-virtual memory system; instead, more lightweight versions, such as vfork(), are utilized.The library does not claim
POSIX compliance.The library does not act as emulator for BSD system calls when using pre-compiled binaries from other operating systems. Binaries from NetBSD/m68k and
SunOS /m68k remain incompatible.ee Also
*
Cygwin
*Microsoft POSIX subsystem
*Microsoft Windows Services for UNIX
*UWIN References
* [http://amiga.sourceforge.net/index.php?sfcontent=/project/shownotes.php?release_id=315727&group_id=48010 ixemul.library release notes]
Wikimedia Foundation. 2010.