Provided by: mono-devel_3.2.8+dfsg-4ubuntu1.1_all bug

NAME

       mkbundle, mkbundle2 - Creates a bundled executable.

SYNOPSIS

       mkbundle [options] assembly1 [assembly2 ...]

DESCRIPTION

       mkbundle generates an executable program that will contain static copies of the assemblies
       listed on the command line.  By default only the assemblies specified in the command  line
       will  be  included  in  the  bundle.   To  automatically  include  all of the dependencies
       referenced, use the "--deps" command line option.

       Use mkbundle when you want the startup runtime to load the 1.0 profile, and use  mkbundle2
       when you want the startup runtime to load the 2.0 profile.

       For example, to create a bundle for hello world, use the following command:
            $ mkbundle -o hello hello.exe

       The  above  will  pull  hello.exe  into  a native program called "hello".  Notice that the
       produced image still contains the CIL image and no precompilation is done.

       In addition, it is possible to control  whether  mkbundle  should  compile  the  resulting
       executable  or  not  with  the  -c  option.  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:
            $ mkbundle -c -o host.c -oo bundles.o --deps hello.exe

            $ cc host.c bundles.o /usr/lib/libmono.a -lc -lrt

       You may also use mkbundle to generate a bundle you can use when embedding the Mono runtime
       in a native application.  In that case,  use  both  the  -c  and  --nomain  options.   The
       resulting  host.c  file will not have a main() function.  Call mono_mkbundle_init() before
       initializing the JIT in your code so that the bundled  assemblies  are  available  to  the
       embedded runtime.

OPTIONS

       -c     Produce the stub file, do not compile the resulting stub.

       -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.

       -oo filename
              Specifies the name to be used for the helper object file that contains the bundle.

       -L path
              Adds the `path' do the search list for assemblies.  The rules are the same  as  for
              the compiler -lib: or -L flags.

       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)

       --nodeps
              This  is the default: mkbundle will only include the assemblies that were specified
              on the command line to reduce the size of the resulting image created.

       --deps This option will bundle all of the referenced assemblies for the assemblies  listed
              on the command line option.  This is useful to distribute a self-contained image.

       --keeptemp
              By  default  mkbundle  will  delete the temporary files that it uses to produce the
              bundle.  This option keeps the file around.

       --machine-config FILE
              Uses the given FILE as the machine.config file for the generated application.

       --nomain
              With the -c option, generate the host stub without a main() function.

       --config-dir DIR
              When passed, DIR will be set for the MONO_CFG_DIR environment variable

       --static
              By default mkbundle dynamically links to mono and glib.  This option causes  it  to
              statically link instead.

       Important:
              Since  the  Mono  runtime  is  licensed  under the LGPL, even if you use static you
              should transfer the component pieces of the mkbundle to your users so they are able
              to upgrade the Mono runtime on their own.

       If you want to use this for commercial licenses, you must obtain a
              proprietary license for Mono from mono@novell.com

       -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.

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.

ENVIRONMENT VARIABLES

       AS     Assembler command. The default is "as".

       CC     C compiler command. The default is "cc" under Linux and "gcc" under Windows.

       MONO_BUNDLED_OPTIONS
              Options to be passed to the bundled Mono runtime,  separated  by  spaces.  See  the
              mono(1) manual page or run mono --help.

FILES

       This program will load referenced assemblies from the Mono assembly cache.

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.

MAILING LISTS

       Visit http://lists.ximian.com/mailman/listinfo/mono-devel-list for details.

WEB SITE

       Visit: http://www.mono-project.com for details

SEE ALSO

       mcs(1),mono(1),mono-config(5).

                                                                           mkbundle(mkbundle 1.0)