diff options
author | Paolo Molaro <lupus@oddwiz.org> | 2003-07-01 14:51:33 +0400 |
---|---|---|
committer | Paolo Molaro <lupus@oddwiz.org> | 2003-07-01 14:51:33 +0400 |
commit | f1ae21d5838d79a6a512498af127ea5ee09fb1d3 (patch) | |
tree | d013130e6027a07fec7ff88eabad3282f2683e9e /docs/assembly-bundle | |
parent | 9a8ef6fa51d9866b54428c88f412e404ad251986 (diff) |
Small doc on assembly bundles.
svn path=/trunk/mono/; revision=15808
Diffstat (limited to 'docs/assembly-bundle')
-rw-r--r-- | docs/assembly-bundle | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/docs/assembly-bundle b/docs/assembly-bundle new file mode 100644 index 00000000000..25da5533370 --- /dev/null +++ b/docs/assembly-bundle @@ -0,0 +1,42 @@ + + 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 + |