Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Molaro <lupus@oddwiz.org>2003-07-01 14:51:33 +0400
committerPaolo Molaro <lupus@oddwiz.org>2003-07-01 14:51:33 +0400
commitf1ae21d5838d79a6a512498af127ea5ee09fb1d3 (patch)
treed013130e6027a07fec7ff88eabad3282f2683e9e /docs/assembly-bundle
parent9a8ef6fa51d9866b54428c88f412e404ad251986 (diff)
Small doc on assembly bundles.
svn path=/trunk/mono/; revision=15808
Diffstat (limited to 'docs/assembly-bundle')
-rw-r--r--docs/assembly-bundle42
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
+