1 Introduction
==============

BlitzMax Extended is an attempt to clean up and improve
the core runtime of BlitzMax to ease development and speed up
the resulting applications.

Summarized, the changes include renaming non-public variables
and functions to improve readability, additional API as well
as low-level functions to provide more control over internal
processes, implementation of all classes in C for faster
execution as well as easier interfacing from C/C++.

For a more detailed list of changes from the official BRL
version, please read the 'CHANGES.txt' file.


2 Directory Structure
=====================

asm	Contains all assembly files for the specific platform
c	Contains all C files that implement the runtime API of BlitzMax
src	BlitzMax source files used for documentation (bbdoc)
doc	BlitzMax documentation files
docs	C API documentation (doxygen)
test	Unit tests (very minimal)


3 Configuration
===============

In the file 'blitz.bmx' you find three 'ModuleInfo' commands that
can be used to configure the building of the module.


BB_ENABLE_EXPERIMENTAL	(default: off)

	Changes details of the runtime to make it faster.

	Warning: Might cause problems with legacy code when enabled.

BB_DISABLE_DEPRECATED	(default: off)

	Removes functionality that is considered to be outdated, unused or
	was RENAMED to be more coherent with the naming scheme.

	e.g BBRETAIN(obj) is now BB_RETAIN(obj)

	Warning: Might cause problems with legacy code when enabled.

BB_CONST_CLASSREGISTER	(default: off)

	Sets the maximum number of classes to be registered.
	Increases the application's startup time slightly.

	Note: Should only be enabled right before shipping.


4 Requirements
==============

To compile this module, you need the usual BlitzMax toolchain
with a recent version of the GCC (with C99 support).

NOTE: Some macros may not be available when not using the GCC.

To build the C documentation you need doxygen (www.doxygen.org)