configure Switches

Stable switches (tested by tgolem):

--disable-debug

Define NDEBUG and remove all debugging code from the build.

--enable-intrp

Build the interpreter. /!\ You should also specify --disable-libjvm CFLAGS="-O2 -fno-reorder-blocks".

--enable-disassembler

Enables -sa disassembling.

--enable-statistics
Gather statistics.

Switches which should work, but are not tested regularily:

--disable-verifier
Remove the type checker and verification checks in other modules (loader, parse, stack_analyse, resolve, ...).
--enable-rt-timing
Enable real-time timing using high-resolution timers.
--enable-cycle-stats
Enable cycle count statistics.
--enable-staticvm
Build a statically linked cacao binary.
--disable-jit
Do not build the JIT compiler (interpreter only).
--disable-ifconv
Disable if-conversion.
--disable-zlib
Remove support for JAR/ZIP archives.
--disable-libjvm

Do not build the shared CACAO libjvm library. ( /!\ This is needed for good interpreter performance!)

--with-jre-layout
Build a relocatable CACAO.

Experimental switches:

--enable-jvmti
Enable JVMTI code.
--enable-threads
Build with / select thread support. (Default is native threads. Does any other option work currently?)
--enable-inlining
Enable method inlining (in development).
--enable-loop
Enable loop optimizations, array bound check removal (does not work currently).
--enable-lsra
Enable the LSRA allocator (in development).
--enable-profiling
Enable online profiling.
--enable-scheduler
Enable instruction scheduling.
--disable-gc
Do not build garbage collector.
--disable-dump
Do not use dump memory.
--disable-ssa

<!> This switch seems to be the wrong way!

cacaowiki: ConfigureSwitches (last edited 2006-10-17 23:00:12 by EdwinSteiner)