fix directive
[mono.git] / man / mkbundle.1
index 2d6be690c0a305175abb98a94b0e6ba1ecfabf79..392ab7b065899eb52f39f4afe30fc1fb2ec56076 100644 (file)
@@ -30,11 +30,37 @@ command:
 The above will pull hello.exe native program called "hello".  Notice
 that the produced image still contains the CIL image and no
 precompilation is done.
+.PP
+In addition, it is possible to control whether mkbundle should compile
+the resulting executable or not.  This is useful if you want to link
+additional libraries or control the generated output in more detail.
+For example, this could be used to link some libraries statically:
+.nf
+       $ mkbundle -o host.c -oo bundles.o --deps hello.exe
+
+       $ cc host.c bundles.o /usr/lib/libmono.a -lc -lrt
+.fi
 .SH OPTIONS
 .TP
+.I "-c"
+Produce the stub file, do not compile the resulting stub.
+.TP
+.I "-o filename"
+Places the output on `out'.  If the flag -c is specified, this is the
+C host program.  If not, this contains the resulting executable.
+.TP
+.I "-oo filename"
+Specifies the name to be used for the helper object file that contains
+the bundle.
+.TP
 .I "-L path"
 Adds the `path' do the search list for assemblies.  The rules are the
 same as for the compiler -lib: or -L flags.
+.TP "--config FILE"
+Specifies that a machine.config file must be bundled as well.
+Typically this is $prefix/etc/mono/1.0/machine.config or
+$prefix/etc/mono/2.0/machine.config depending on the profile that you
+are using (1.0 or 2.0)
 .TP
 .I  "--nodeps"
 This is the default: mkbundle will only include the assemblies that
@@ -49,9 +75,40 @@ distribute a self-contained image.
 .I "--keeptemp"
 By default mkbundle will delete the temporary files that it uses to
 produce the bundle.  This option keeps the file around.
+.TP
+.I "--static"
+By default mkbundle dynamically links to mono and glib.  This option
+causes it to statically link instead.
+.TP
+.I "--config-dir DIR"
+When passed, DIR will be set for the MONO_CFG_DIR environment variable
+.TP
+.I "-z"
+Compresses the assemblies before embedding. This results in smaller
+executable files, but increases startup time and requires zlib to be
+installed on the target system.
+.SH WINDOWS
+On Windows systems, it it necessary to have  Unix-like toolchain to be
+installed for mkbundle to work.  You can use cygwin's and install gcc,
+gcc-mingw and as packages. 
+.SH ENVIRONMENT VARIABLES
+.TP
+.I "AS"
+Assembler command. The default is "as".
+.TP
+.I "CC"
+C compiler command. The default is "cc" under Linux and "gcc -mno-cygwin"
+under Windows.
 .SH FILES
 This program will load referenced assemblies from the Mono assembly
 cache. 
+.SH BUGS
+The option "--static" is not supported under Windows.
+Moreover, a full cygwin environment containing at least "gcc" and "as"
+is required for the build process. The generated executable does not
+depend on cygwin.
+.SH MAILING LISTS
+Visit http://lists.ximian.com/mailman/listinfo/mono-devel-list for details.
 .SH WEB SITE
 Visit: http://www.mono-project.com for details
 .SH SEE ALSO