SET(SRC ${SRC} gcj_mlc.c)
ENDIF(enable_gcj_support)
+OPTION(enable_gc_debug "Support for pointer back-tracing" NO)
+IF(enable_gc_debug)
+ ADD_DEFINITIONS("-DDBG_HDRS_ALL -DKEEP_BACK_PTRS")
+ IF (HOST MATCHES ia64-.*-linux.*|i586-.*-linux.*|i686-.*-linux.*|x86-.*-linux.*|x86_64-.*-linux.*)
+ ADD_DEFINITIONS("-DMAKE_BACK_GRAPH")
+ ADD_DEFINITIONS("-DSAVE_CALL_COUNT=8")
+ SET(SRC ${SRC} backgraph.c)
+ ENDIF()
+ IF (HOST MATCHES i.86-.*-dgux.*)
+ ADD_DEFINITIONS("-DMAKE_BACK_GRAPH")
+ SET(SRC ${SRC} backgraph.c)
+ ENDIF()
+ENDIF(enable_gc_debug)
+
+OPTION(enable_redirect_malloc "Redirect malloc and friends to GC routines" NO)
+IF(enable_redirect_malloc)
+ IF(enable_gc_debug)
+ ADD_DEFINITIONS("-DREDIRECT_MALLOC=GC_debug_malloc_replacement")
+ ADD_DEFINITIONS("-DREDIRECT_REALLOC=GC_debug_realloc_replacement")
+ ADD_DEFINITIONS("-DREDIRECT_FREE=GC_debug_free")
+ ELSE
+ ADD_DEFINITIONS("-DREDIRECT_MALLOC=GC_malloc")
+ ENDIF(enable_gc_debug)
+ ADD_DEFINITIONS("-DGC_USE_DLOPEN_WRAP")
+ENDIF(enable_redirect_malloc)
+
+OPTION(enable_large_config "Optimize for large heap or root set" NO)
+IF(enable_large_config)
+ ADD_DEFINITIONS("-DLARGE_CONFIG")
+ENDIF(enable_large_config)
+
OPTION(enable_checksums "Report erroneously cleared dirty bits" NO)
IF(enable_checksums)
IF(enable_threads)