Provided by: mono-devel_4.2.1.102+dfsg2-7ubuntu4_all bug


       mkbundle, mkbundle2 - Creates a bundled executable.


       mkbundle [options] assembly1 [assembly2 ...]


       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.


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

              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.

              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.

              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

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

              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

       -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


       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.


       AS     Assembler command. The default is "as".

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

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


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


       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.


       Visit for details.


       Visit: for details



                                                                           mkbundle(mkbundle 1.0)