OBSOLETE This is the fr30 simulator directory.
OBSOLETE 
OBSOLETE It is still work-in-progress.  The current sources are reasonably
OBSOLETE well tested and lots of features are in.  However, there's lots
OBSOLETE more yet to come.
OBSOLETE 
OBSOLETE There are lots of machine generated files in the source directory!
OBSOLETE They are only generated if you configure with --enable-cgen-maint,
OBSOLETE similar in behaviour to Makefile.in, configure under automake/autoconf.
OBSOLETE 
OBSOLETE For details on the generator, see ../../cgen.
OBSOLETE 
OBSOLETE devo/cgen isn't part of the comp-tools module yet.
OBSOLETE You'll need to check it out manually (also akin to automake/autoconf).
