
	HOWTO bundle assemblies inside the mono runtime.

Bundling assemblies inside the mono runtime may be useful for a number
of reasons:
	* creating a standalone complete runtime that can be more easily
	distributed
	* having an application run against a known set of assemblies
	that has been tested

Of course, there are drawbacks, too: if there has been fixes to the assemblies,
replacing them means recompiling the runtime as well and if there are other mono apps,
unless they use the same mono binary, there will be less opportunities for
the operating system to optimize memory usage. So use this feature only 
when really needed.

To bundle a set of assemblies, you need to create a file that lists the assembly 
names and the relative files. Empty lines and lines starting with # are ignored:

== cut cut ==
# Sample bundle template
mscorlib: /path/to/mscorlib/assembly.dll
myapp: /path/to/myapp.exe
== cut cut ==

Next you need to build the mono runtime using a special configure option:

	./configure --with-bundle=/path/to/bundle/template

The path to the template should be an absolute path.

The script metadata/make-bundle.pl will take the specifie assemblies and embed 
them inside the runtime where the loading routines can find them before
searching for them on disk.

There are still two issues to solve:
	* config files: sometimes they are needed but they are not yet bundled
	inside the library ()
	* building with the included libgc makes it not possible to build a mono
	binary statically linked to libmono: this needs to be fixed to make bundles
	really useful
	
