py2app Options
==============

Options can be specified to py2app to influence the build procedure in three
different ways:

At the command line::

    $ python setup.py py2app --argv-emulation

In your ``setup.py``::

    setup(
        app=['MyApplication.py'],
        options=dict(py2app=dict(
            argv_emulation=1,
        )),
    )

In a ``setup.cfg`` file::

   [py2app]
   argv-emulation=1

Note that when translating command-line options for use in ``setup.py``, you
must replace hyphens (``-``) with underscores (``_``). ``setup.cfg`` files
may use either hyphens or underscores, but command-line options must always
use the hyphens.


Option Reference
----------------

To enumerate the options that py2app supports, use the following command::

    $ python setup.py py2app --help

Options for 'py2app' command::

  --optimize (-O)         optimization level: -O1 for "python -O", -O2 for
                          "python -OO", and -O0 to disable [default: -O0]
  --includes (-i)         comma-separated list of modules to include
  --packages (-p)         comma-separated list of packages to include
  --iconfile              Icon file to use
  --excludes (-e)         comma-separated list of modules to exclude
  --dylib-excludes (-E)   comma-separated list of frameworks or dylibs to
                          exclude
  --datamodels            xcdatamodels to be compiled and copied into
                          Resources
  --resources (-r)        comma-separated list of additional data files and
                          folders to include (not for code!)
  --frameworks (-f)       comma-separated list of additional frameworks and
                          dylibs to include
  --plist (-P)            Info.plist template file, dict, or plistlib.Plist
  --extension             Bundle extension [default:.app for app, .plugin for
                          plugin]
  --graph (-g)            output module dependency graph
  --xref (-x)             output module cross-reference as html
  --no-strip              do not strip debug and local symbols from output
  --no-chdir (-C)         do not change to the data directory
                          (Contents/Resources) [forced for plugins]
  --semi-standalone (-s)  depend on an existing installation of Python
  --alias (-A)            Use an alias to current source file (for development
                          only!)
  --argv-emulation (-a)   Use argv emulation [disabled for plugins]. Does not work with python 3.x
  --argv-inject           Inject some commands into the argv
  --use-pythonpath        Allow PYTHONPATH to effect the interpreter's
                          environment
  --bdist-base (-b)       base directory for build library (default is build)
  --dist-dir (-d)         directory to put final built distributions in
                          (default is dist)
  --site-packages         include the system and user site-packages into
                          sys.path
  --strip (-S)            strip debug and local symbols from output (on by
                          default, for compatibility)
  --prefer-ppc		  Force application to run translated on i386
                          (LSPrefersPPC=True)
  --debug-modulegraph     Drop to pdb console after the module finding phase
                          is complete
  --debug-skip-macholib   skip macholib phase (app will not be standalone!)
