Compiling E-UAE =============== E-UAE should be able to compile on any platform with a POSIX-like shell environment, a C compiler and make. Version 2.95 or newer of the GNU C Compiler is recommended as is GNU make, but alternative compilers and versions of make may work. Some features may be GCC-specific, however. Currently, for example, the JIT - the compiler which dynamically translate 68k opcodes to x86 opcodes - does require GCC (and GAS, the GNU assembler). Currently zlib is also required to build E-UAE for all supported platforms. This isn't much of hardship since zlib is available everywhere, but shout loudly enough and I'll fix this. Configuring =========== The first step to compiling E-UAE is to generate a makefile suitable for your intended target system. This is done by running the configure script. Run ./configure --help to see the list of options that the configure script supports. Most options will automatically default to appropriate values. Here are a selection of the the supported options: The config script for UAE supports a bunch of compile-time options for selecting what features are built into UAE. Here's a selection: --enable-fpu Build CPU emulation with suppport for optional emulation of a math coprocessor (Motoroloa 68881/2, etc.). Defaults to true. --enable-compatible-cpu Build CPU emulation with support for optional emulation of instruction prefetch. Defaults to true. --enable-cycle-exact-cpu Build CPU/custom chip emulation with support for optional cycle-exact emulation of interactions between the CPU and Amiga chip set. Defaults to true. --enable-jit Build CPU emulation with support for optional JIT compiler. The JIT (which compiles 680x0 instructions to native instructions) is currently only supported on x86 platforms. (It is known to work on Linux, Solaris, AROS, and BeOS, but should work on most Unix-like platforms, providing you are building with GCC). Defaults to enabled when building for x86. --enable-natmem If building the JIT, include support for direct memory access (which greatly improves performance). Currently only supported on Linux. Defaults to enabled when building for Linux/x86. --enable-autoconfig Include emulation of the Amiga's autoconfig expansion system. Required for emulating ZII or ZIII memory, emulating disks, SCSI devices, network stacks - in fact, most of the cool stuff that UAE can do. Currently defaults to enabled providing thread support is available (which should be on all the supported host platforms). This dependency on threads will eventually be removed. --enable-aga Support emulation of AGA chipset. Defaults to true. Required if you want to emulate an A1200, A4000 or CD32. --enable-scsi-device Build with SCSI emulation. This requires the libscg and libschily libraries and headers from cdrtools 2.0.x (see below). --enable-cdtv Enable CDTV emulation. Requires SCSI emulation. Defaults to enabled if SCSI emulation is enabled. --enable-cd32 Enable CD32 emulation. Requires SCSI emulation and AGA support be enabled. Defaults to enabled if both these are enabled. --enable-bsdsock Build with support for emulated network stack (an emulated bsdsocket.library). This works only on Unix platforms at the moment (including Linux, Solaris and OS X). --with-caps Build with support for IPF (CAPS) images. This requires the IPF development files from http://www.caps-project.org/ --with-caps-prefix=