Commits

Anthony Tuininga  committed 6011a24

Replaced standalone documentation with Sphinx documentation and added more
information as requested by Thomas Kluyver.

  • Participants
  • Parent commits 4fa5dfd

Comments (0)

Files changed (15)

+syntax: glob
+doc/_build
+build/
+__pycache__
+*.pyc
-Copyright Š 2007-2011, Anthony Tuininga.
+Copyright Š 2007-2012, Anthony Tuininga.
 Copyright Š 2001-2006, Computronix (Canada) Ltd., Edmonton, Alberta, Canada.
 All rights reserved.
 

File doc/Makefile

+# Makefile for Sphinx documentation
+#
+
+# You can set these variables from the command line.
+SPHINXOPTS    =
+SPHINXBUILD   = sphinx-build
+PAPER         =
+BUILDDIR      = _build
+
+# Internal variables.
+PAPEROPT_a4     = -D latex_paper_size=a4
+PAPEROPT_letter = -D latex_paper_size=letter
+ALLSPHINXOPTS   = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
+
+.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest
+
+help:
+	@echo "Please use \`make <target>' where <target> is one of"
+	@echo "  html       to make standalone HTML files"
+	@echo "  dirhtml    to make HTML files named index.html in directories"
+	@echo "  singlehtml to make a single large HTML file"
+	@echo "  pickle     to make pickle files"
+	@echo "  json       to make JSON files"
+	@echo "  htmlhelp   to make HTML files and a HTML help project"
+	@echo "  qthelp     to make HTML files and a qthelp project"
+	@echo "  devhelp    to make HTML files and a Devhelp project"
+	@echo "  epub       to make an epub"
+	@echo "  latex      to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
+	@echo "  latexpdf   to make LaTeX files and run them through pdflatex"
+	@echo "  text       to make text files"
+	@echo "  man        to make manual pages"
+	@echo "  changes    to make an overview of all changed/added/deprecated items"
+	@echo "  linkcheck  to check all external links for integrity"
+	@echo "  doctest    to run all doctests embedded in the documentation (if enabled)"
+
+clean:
+	-rm -rf $(BUILDDIR)/*
+
+html:
+	$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
+	@echo
+	@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
+
+dirhtml:
+	$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
+	@echo
+	@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
+
+singlehtml:
+	$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
+	@echo
+	@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
+
+pickle:
+	$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
+	@echo
+	@echo "Build finished; now you can process the pickle files."
+
+json:
+	$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
+	@echo
+	@echo "Build finished; now you can process the JSON files."
+
+htmlhelp:
+	$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
+	@echo
+	@echo "Build finished; now you can run HTML Help Workshop with the" \
+	      ".hhp project file in $(BUILDDIR)/htmlhelp."
+
+qthelp:
+	$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
+	@echo
+	@echo "Build finished; now you can run "qcollectiongenerator" with the" \
+	      ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
+	@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/cx_Freeze.qhcp"
+	@echo "To view the help file:"
+	@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/cx_Freeze.qhc"
+
+devhelp:
+	$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
+	@echo
+	@echo "Build finished."
+	@echo "To view the help file:"
+	@echo "# mkdir -p $$HOME/.local/share/devhelp/cx_Freeze"
+	@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/cx_Freeze"
+	@echo "# devhelp"
+
+epub:
+	$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
+	@echo
+	@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
+
+latex:
+	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+	@echo
+	@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
+	@echo "Run \`make' in that directory to run these through (pdf)latex" \
+	      "(use \`make latexpdf' here to do that automatically)."
+
+latexpdf:
+	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
+	@echo "Running LaTeX files through pdflatex..."
+	make -C $(BUILDDIR)/latex all-pdf
+	@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
+
+text:
+	$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
+	@echo
+	@echo "Build finished. The text files are in $(BUILDDIR)/text."
+
+man:
+	$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
+	@echo
+	@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
+
+changes:
+	$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
+	@echo
+	@echo "The overview file is in $(BUILDDIR)/changes."
+
+linkcheck:
+	$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
+	@echo
+	@echo "Link check complete; look for any errors in the above output " \
+	      "or in $(BUILDDIR)/linkcheck/output.txt."
+
+doctest:
+	$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
+	@echo "Testing of doctests in the sources finished, look at the " \
+	      "results in $(BUILDDIR)/doctest/output.txt."

File doc/build.py

-from docutils.core import publish_cmdline, default_description
-
-publish_cmdline(writer_name = 'html', description = default_description)
-
+# -*- coding: utf-8 -*-
+#
+# cx_Freeze documentation build configuration file, created by
+# sphinx-quickstart on Wed Feb  1 22:01:33 2012.
+#
+# This file is execfile()d with the current directory set to its containing dir.
+#
+# Note that not all possible configuration values are present in this
+# autogenerated file.
+#
+# All configuration values have a default; values that are commented out
+# serve to show the default.
+
+import sys, os
+
+# If extensions (or modules to document with autodoc) are in another directory,
+# add these directories to sys.path here. If the directory is relative to the
+# documentation root, use os.path.abspath to make it absolute, like shown here.
+#sys.path.insert(0, os.path.abspath('.'))
+
+# -- General configuration -----------------------------------------------------
+
+# If your documentation needs a minimal Sphinx version, state it here.
+#needs_sphinx = '1.0'
+
+# Add any Sphinx extension module names here, as strings. They can be extensions
+# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
+extensions = ['sphinx.ext.autodoc', 'sphinx.ext.viewcode']
+
+# Add any paths that contain templates here, relative to this directory.
+templates_path = ['_templates']
+
+# The suffix of source filenames.
+source_suffix = '.rst'
+
+# The encoding of source files.
+#source_encoding = 'utf-8-sig'
+
+# The master toctree document.
+master_doc = 'index'
+
+# General information about the project.
+project = u'cx_Freeze'
+copyright = u'2012, Anthony Tuininga'
+
+# The version info for the project you're documenting, acts as replacement for
+# |version| and |release|, also used in various other places throughout the
+# built documents.
+#
+# The short X.Y version.
+version = '4.2'
+# The full version, including alpha/beta/rc tags.
+release = '4.2.dev'
+
+# The language for content autogenerated by Sphinx. Refer to documentation
+# for a list of supported languages.
+#language = None
+
+# There are two options for replacing |today|: either, you set today to some
+# non-false value, then it is used:
+#today = ''
+# Else, today_fmt is used as the format for a strftime call.
+#today_fmt = '%B %d, %Y'
+
+# List of patterns, relative to source directory, that match files and
+# directories to ignore when looking for source files.
+exclude_patterns = ['_build']
+
+# The reST default role (used for this markup: `text`) to use for all documents.
+#default_role = None
+
+# If true, '()' will be appended to :func: etc. cross-reference text.
+#add_function_parentheses = True
+
+# If true, the current module name will be prepended to all description
+# unit titles (such as .. function::).
+#add_module_names = True
+
+# If true, sectionauthor and moduleauthor directives will be shown in the
+# output. They are ignored by default.
+#show_authors = False
+
+# The name of the Pygments (syntax highlighting) style to use.
+pygments_style = 'sphinx'
+
+# A list of ignored prefixes for module index sorting.
+#modindex_common_prefix = []
+
+
+# -- Options for HTML output ---------------------------------------------------
+
+# The theme to use for HTML and HTML Help pages.  See the documentation for
+# a list of builtin themes.
+html_theme = 'default'
+
+# Theme options are theme-specific and customize the look and feel of a theme
+# further.  For a list of options available for each theme, see the
+# documentation.
+#html_theme_options = {}
+
+# Add any paths that contain custom themes here, relative to this directory.
+#html_theme_path = []
+
+# The name for this set of Sphinx documents.  If None, it defaults to
+# "<project> v<release> documentation".
+#html_title = None
+
+# A shorter title for the navigation bar.  Default is the same as html_title.
+#html_short_title = None
+
+# The name of an image file (relative to this directory) to place at the top
+# of the sidebar.
+#html_logo = None
+
+# The name of an image file (within the static path) to use as favicon of the
+# docs.  This file should be a Windows icon file (.ico) being 16x16 or 32x32
+# pixels large.
+#html_favicon = None
+
+# Add any paths that contain custom static files (such as style sheets) here,
+# relative to this directory. They are copied after the builtin static files,
+# so a file named "default.css" will overwrite the builtin "default.css".
+html_static_path = ['_static']
+
+# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
+# using the given strftime format.
+#html_last_updated_fmt = '%b %d, %Y'
+
+# If true, SmartyPants will be used to convert quotes and dashes to
+# typographically correct entities.
+#html_use_smartypants = True
+
+# Custom sidebar templates, maps document names to template names.
+#html_sidebars = {}
+
+# Additional templates that should be rendered to pages, maps page names to
+# template names.
+#html_additional_pages = {}
+
+# If false, no module index is generated.
+#html_domain_indices = True
+
+# If false, no index is generated.
+#html_use_index = True
+
+# If true, the index is split into individual pages for each letter.
+#html_split_index = False
+
+# If true, links to the reST sources are added to the pages.
+#html_show_sourcelink = True
+
+# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
+#html_show_sphinx = True
+
+# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
+#html_show_copyright = True
+
+# If true, an OpenSearch description file will be output, and all pages will
+# contain a <link> tag referring to it.  The value of this option must be the
+# base URL from which the finished HTML is served.
+#html_use_opensearch = ''
+
+# This is the file name suffix for HTML files (e.g. ".xhtml").
+#html_file_suffix = None
+
+# Output file base name for HTML help builder.
+htmlhelp_basename = 'cx_Freezedoc'
+
+
+# -- Options for LaTeX output --------------------------------------------------
+
+# The paper size ('letter' or 'a4').
+#latex_paper_size = 'letter'
+
+# The font size ('10pt', '11pt' or '12pt').
+#latex_font_size = '10pt'
+
+# Grouping the document tree into LaTeX files. List of tuples
+# (source start file, target name, title, author, documentclass [howto/manual]).
+latex_documents = [
+  ('index', 'cx_Freeze.tex', u'cx\\_Freeze Documentation',
+   u'Anthony Tuininga', 'manual'),
+]
+
+# The name of an image file (relative to this directory) to place at the top of
+# the title page.
+#latex_logo = None
+
+# For "manual" documents, if this is true, then toplevel headings are parts,
+# not chapters.
+#latex_use_parts = False
+
+# If true, show page references after internal links.
+#latex_show_pagerefs = False
+
+# If true, show URL addresses after external links.
+#latex_show_urls = False
+
+# Additional stuff for the LaTeX preamble.
+#latex_preamble = ''
+
+# Documents to append as an appendix to all manuals.
+#latex_appendices = []
+
+# If false, no module index is generated.
+#latex_domain_indices = True
+
+
+# -- Options for manual page output --------------------------------------------
+
+# One entry per manual page. List of tuples
+# (source start file, name, description, authors, manual section).
+man_pages = [
+    ('index', 'cx_freeze', u'cx_Freeze Documentation',
+     [u'Anthony Tuininga'], 1)
+]

File doc/cx_Freeze.html

-<?xml version="1.0" encoding="utf-8" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta name="generator" content="Docutils 0.8.1: http://docutils.sourceforge.net/" />
-<title>cx_Freeze</title>
-<style type="text/css">
-
-/*
-:Author: David Goodger (goodger@python.org)
-:Id: $Id: html4css1.css 7056 2011-06-17 10:50:48Z milde $
-:Copyright: This stylesheet has been placed in the public domain.
-
-Default cascading style sheet for the HTML output of Docutils.
-
-See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
-customize this style sheet.
-*/
-
-/* used to remove borders from tables and images */
-.borderless, table.borderless td, table.borderless th {
-  border: 0 }
-
-table.borderless td, table.borderless th {
-  /* Override padding for "table.docutils td" with "! important".
-     The right padding separates the table cells. */
-  padding: 0 0.5em 0 0 ! important }
-
-.first {
-  /* Override more specific margin styles with "! important". */
-  margin-top: 0 ! important }
-
-.last, .with-subtitle {
-  margin-bottom: 0 ! important }
-
-.hidden {
-  display: none }
-
-a.toc-backref {
-  text-decoration: none ;
-  color: black }
-
-blockquote.epigraph {
-  margin: 2em 5em ; }
-
-dl.docutils dd {
-  margin-bottom: 0.5em }
-
-object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
-  overflow: hidden;
-}
-
-/* Uncomment (and remove this text!) to get bold-faced definition list terms
-dl.docutils dt {
-  font-weight: bold }
-*/
-
-div.abstract {
-  margin: 2em 5em }
-
-div.abstract p.topic-title {
-  font-weight: bold ;
-  text-align: center }
-
-div.admonition, div.attention, div.caution, div.danger, div.error,
-div.hint, div.important, div.note, div.tip, div.warning {
-  margin: 2em ;
-  border: medium outset ;
-  padding: 1em }
-
-div.admonition p.admonition-title, div.hint p.admonition-title,
-div.important p.admonition-title, div.note p.admonition-title,
-div.tip p.admonition-title {
-  font-weight: bold ;
-  font-family: sans-serif }
-
-div.attention p.admonition-title, div.caution p.admonition-title,
-div.danger p.admonition-title, div.error p.admonition-title,
-div.warning p.admonition-title {
-  color: red ;
-  font-weight: bold ;
-  font-family: sans-serif }
-
-/* Uncomment (and remove this text!) to get reduced vertical space in
-   compound paragraphs.
-div.compound .compound-first, div.compound .compound-middle {
-  margin-bottom: 0.5em }
-
-div.compound .compound-last, div.compound .compound-middle {
-  margin-top: 0.5em }
-*/
-
-div.dedication {
-  margin: 2em 5em ;
-  text-align: center ;
-  font-style: italic }
-
-div.dedication p.topic-title {
-  font-weight: bold ;
-  font-style: normal }
-
-div.figure {
-  margin-left: 2em ;
-  margin-right: 2em }
-
-div.footer, div.header {
-  clear: both;
-  font-size: smaller }
-
-div.line-block {
-  display: block ;
-  margin-top: 1em ;
-  margin-bottom: 1em }
-
-div.line-block div.line-block {
-  margin-top: 0 ;
-  margin-bottom: 0 ;
-  margin-left: 1.5em }
-
-div.sidebar {
-  margin: 0 0 0.5em 1em ;
-  border: medium outset ;
-  padding: 1em ;
-  background-color: #ffffee ;
-  width: 40% ;
-  float: right ;
-  clear: right }
-
-div.sidebar p.rubric {
-  font-family: sans-serif ;
-  font-size: medium }
-
-div.system-messages {
-  margin: 5em }
-
-div.system-messages h1 {
-  color: red }
-
-div.system-message {
-  border: medium outset ;
-  padding: 1em }
-
-div.system-message p.system-message-title {
-  color: red ;
-  font-weight: bold }
-
-div.topic {
-  margin: 2em }
-
-h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
-h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
-  margin-top: 0.4em }
-
-h1.title {
-  text-align: center }
-
-h2.subtitle {
-  text-align: center }
-
-hr.docutils {
-  width: 75% }
-
-img.align-left, .figure.align-left, object.align-left {
-  clear: left ;
-  float: left ;
-  margin-right: 1em }
-
-img.align-right, .figure.align-right, object.align-right {
-  clear: right ;
-  float: right ;
-  margin-left: 1em }
-
-img.align-center, .figure.align-center, object.align-center {
-  display: block;
-  margin-left: auto;
-  margin-right: auto;
-}
-
-.align-left {
-  text-align: left }
-
-.align-center {
-  clear: both ;
-  text-align: center }
-
-.align-right {
-  text-align: right }
-
-/* reset inner alignment in figures */
-div.align-right {
-  text-align: inherit }
-
-/* div.align-center * { */
-/*   text-align: left } */
-
-ol.simple, ul.simple {
-  margin-bottom: 1em }
-
-ol.arabic {
-  list-style: decimal }
-
-ol.loweralpha {
-  list-style: lower-alpha }
-
-ol.upperalpha {
-  list-style: upper-alpha }
-
-ol.lowerroman {
-  list-style: lower-roman }
-
-ol.upperroman {
-  list-style: upper-roman }
-
-p.attribution {
-  text-align: right ;
-  margin-left: 50% }
-
-p.caption {
-  font-style: italic }
-
-p.credits {
-  font-style: italic ;
-  font-size: smaller }
-
-p.label {
-  white-space: nowrap }
-
-p.rubric {
-  font-weight: bold ;
-  font-size: larger ;
-  color: maroon ;
-  text-align: center }
-
-p.sidebar-title {
-  font-family: sans-serif ;
-  font-weight: bold ;
-  font-size: larger }
-
-p.sidebar-subtitle {
-  font-family: sans-serif ;
-  font-weight: bold }
-
-p.topic-title {
-  font-weight: bold }
-
-pre.address {
-  margin-bottom: 0 ;
-  margin-top: 0 ;
-  font: inherit }
-
-pre.literal-block, pre.doctest-block, pre.math {
-  margin-left: 2em ;
-  margin-right: 2em }
-
-span.classifier {
-  font-family: sans-serif ;
-  font-style: oblique }
-
-span.classifier-delimiter {
-  font-family: sans-serif ;
-  font-weight: bold }
-
-span.interpreted {
-  font-family: sans-serif }
-
-span.option {
-  white-space: nowrap }
-
-span.pre {
-  white-space: pre }
-
-span.problematic {
-  color: red }
-
-span.section-subtitle {
-  /* font-size relative to parent (h1..h6 element) */
-  font-size: 80% }
-
-table.citation {
-  border-left: solid 1px gray;
-  margin-left: 1px }
-
-table.docinfo {
-  margin: 2em 4em }
-
-table.docutils {
-  margin-top: 0.5em ;
-  margin-bottom: 0.5em }
-
-table.footnote {
-  border-left: solid 1px black;
-  margin-left: 1px }
-
-table.docutils td, table.docutils th,
-table.docinfo td, table.docinfo th {
-  padding-left: 0.5em ;
-  padding-right: 0.5em ;
-  vertical-align: top }
-
-table.docutils th.field-name, table.docinfo th.docinfo-name {
-  font-weight: bold ;
-  text-align: left ;
-  white-space: nowrap ;
-  padding-left: 0 }
-
-h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
-h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
-  font-size: 100% }
-
-ul.auto-toc {
-  list-style-type: none }
-
-</style>
-</head>
-<body>
-<div class="document" id="cx-freeze">
-<h1 class="title">cx_Freeze</h1>
-
-<div class="section" id="abstract">
-<h1>Abstract</h1>
-<p><strong>cx_Freeze</strong> is a set of scripts and modules for freezing Python scripts into
-executables in much the same way that <a class="reference external" href="http://www.py2exe.org/">py2exe</a> and <a class="reference external" href="http://svn.pythonmac.org/py2app/py2app/trunk/doc/index.html">py2app</a> do. Unlike these two
-tools, cx_Freeze is cross platform and should work on any platform that Python
-itself works on. It requires <a class="reference external" href="http://www.python.org">Python</a> 2.4 or higher and does work with Python 3.</p>
-<p><strong>cx_Freeze</strong> is distributed under an open-source <a class="reference external" href="LICENSE.txt">license</a>.</p>
-</div>
-<div class="section" id="using-cx-freeze">
-<h1>Using cx_Freeze</h1>
-<p>There are three different ways to use cx_Freeze. The first is to use the
-included <tt class="docutils literal">cxfreeze</tt> script which works well for simple scripts. The second is
-to create a <a class="reference external" href="http://docs.python.org/lib/module-distutils.html">distutils</a> setup script which can be used for more complicated
-configuration or to retain the configuration for future use. The third method
-involves working directly with the classes and modules used internally by
-cx_Freeze and should be reserved for complicated scripts or extending or
-embedding. Each of these methods is described in greater detail below.</p>
-<p>There are three different options for producing executables as well. The first
-option is the only one that was available in earlier versions of cx_Freeze,
-that is appending the zip file to the executable itself. The second option is
-creating a private zip file with the same name as the executable but with the
-extension .zip. The final option is the default which is to create a zip file
-called <tt class="docutils literal">library.zip</tt> and place all modules in this zip file. The final two
-options are necessary when creating an RPM since the RPM builder automatically
-strips executables. These options are described in greater detail below as
-well.</p>
-<div class="section" id="cxfreeze-script">
-<h2>cxfreeze script</h2>
-<p>The <tt class="docutils literal">cxfreeze</tt> script is included with other Python scripts. On Windows and
-the Mac this is in the <tt class="docutils literal">Scripts</tt> subdirectory of your Python installation
-whereas on Unix platforms this in the bin directory of the prefix where Python
-is installed.</p>
-<p>Assuming you have a script called <tt class="docutils literal">hello.py</tt> which you want to turn into an
-executable, this can be accomplished by this command:</p>
-<pre class="literal-block">
-cxfreeze hello.py --target-dir dist
-</pre>
-<p>Further customization can be done using the following options:</p>
-<table border="1" class="docutils">
-<colgroup>
-<col width="30%" />
-<col width="70%" />
-</colgroup>
-<thead valign="bottom">
-<tr><th class="head">option name</th>
-<th class="head">description</th>
-</tr>
-</thead>
-<tbody valign="top">
-<tr><td>--version</td>
-<td>show version number and exit</td>
-</tr>
-<tr><td>-h, --help</td>
-<td>show this help message and exit</td>
-</tr>
-<tr><td>-O</td>
-<td>optimize generated bytecode as per PYTHONOPTIMIZE;
-use -OO in order to remove doc strings</td>
-</tr>
-<tr><td>-c, --compress</td>
-<td>compress byte code in zip files</td>
-</tr>
-<tr><td>-s, --silent</td>
-<td>suppress all output except warnings</td>
-</tr>
-<tr><td>--base-name</td>
-<td>file on which to base the executable; if the name
-of the file is not an absolute file name, the
-subdirectory bases inside the cx_Freeze package
-will be searched for a file matching the name,
-without regard to the extension</td>
-</tr>
-<tr><td>--init-script</td>
-<td>script which will be executed upon startup; if the
-name of the file is not an absolute file name, the
-subdirectory initscripts inside the cx_Freeze
-package will be searched for a file matching the
-name, without regard to the extension</td>
-</tr>
-<tr><td>--target-dir</td>
-<td>directory in which to place the executable and any
-dependent files</td>
-</tr>
-<tr><td>--target-name</td>
-<td>the name of the file to create; the default is the
-base name of the script and the extension of the
-base executable name</td>
-</tr>
-<tr><td>--shared-name</td>
-<td>the name of the file to create; the default is the
-base name of the script and the extension of the
-base executable name</td>
-</tr>
-<tr><td>--no-copy-deps</td>
-<td>do not copy any dependent files (extensions, shared
-libraries, etc.) to the target directory; this also
-modifies the default init script to ConsoleKeepPath
-and means that the target executable requires a
-Python installation to execute properly</td>
-</tr>
-<tr><td>--default-path</td>
-<td>list of paths separated by the standard path
-separator for the platform which will be used to
-initialize the search path instead of sys.path</td>
-</tr>
-<tr><td>--include-path</td>
-<td>list of paths separated by the standard path
-separator for the platform which will be used to
-add to the search path</td>
-</tr>
-<tr><td>--replace-paths</td>
-<td>replace all the paths in modules found in the given
-paths with the given replacement string; multiple
-values are separated by the standard path separator
-for the platform and each value is of the form
-&lt;search&gt;=&lt;replace&gt;; &lt;search&gt; can be * which means
-all paths not already specified</td>
-</tr>
-<tr><td>--include-modules</td>
-<td>comma separated list of names of modules to include</td>
-</tr>
-<tr><td>--exclude-modules</td>
-<td>comma separated list of names of modules to exclude</td>
-</tr>
-<tr><td>--ext-list-file</td>
-<td>name of file in which to place the list of
-dependent files which were copied to the target
-directory</td>
-</tr>
-<tr><td>-z, --zip-include</td>
-<td>name of file to add to the zip file or a
-specification of the form &lt;name&gt;=&lt;arcname&gt; which
-will specify the archive name to use; multiple
---zip-include arguments can be used</td>
-</tr>
-</tbody>
-</table>
-</div>
-<div class="section" id="distutils-setup-script">
-<h2>distutils setup script</h2>
-<p>In order to make use of distutils a setup script must be created. This is
-called <tt class="docutils literal">setup.py</tt> by convention although it need not be called that. A
-very simple script might use the following:</p>
-<pre class="literal-block">
-from cx_Freeze import setup, Executable
-
-setup(
-        name = &quot;hello&quot;,
-        version = &quot;0.1&quot;,
-        description = &quot;the typical 'Hello, world!' script&quot;,
-        executables = [Executable(&quot;hello.py&quot;)])
-</pre>
-<p>The script is invoked as follows:</p>
-<pre class="literal-block">
-python setup.py build
-</pre>
-<p>This command will create a subdirectory called <tt class="docutils literal">build</tt> with a further
-subdirectory starting with the letters <tt class="docutils literal">exe.</tt> and ending with the typical
-identifier for the platform that distutils uses. This allows for multiple
-platforms to be built without conflicts.</p>
-<p>cx_Freeze creates two new commands and subclasses four others in order to
-provide the ability to both build and install executables. In typical distutils
-fashion they can be provided in the setup script, on the command line or in
-a setup.cfg configuration file. They are described in further detail below.</p>
-<div class="section" id="distutils-commands">
-<h3>distutils commands</h3>
-<div class="section" id="build">
-<h4>build</h4>
-<p>This command is a standard command which has been modified by cx_Freeze to
-build any executables that are defined. The following options were added to
-the standard set of options for the command:</p>
-<table border="1" class="docutils">
-<colgroup>
-<col width="30%" />
-<col width="70%" />
-</colgroup>
-<thead valign="bottom">
-<tr><th class="head">option name</th>
-<th class="head">description</th>
-</tr>
-</thead>
-<tbody valign="top">
-<tr><td>build-exe (-b)</td>
-<td>directory for built executables and dependent files</td>
-</tr>
-</tbody>
-</table>
-</div>
-<div class="section" id="build-exe">
-<h4>build_exe</h4>
-<p>This command performs the work of building an executable or set of executables.
-It can be further customized:</p>
-<table border="1" class="docutils">
-<colgroup>
-<col width="30%" />
-<col width="70%" />
-</colgroup>
-<thead valign="bottom">
-<tr><th class="head">option name</th>
-<th class="head">description</th>
-</tr>
-</thead>
-<tbody valign="top">
-<tr><td>build-exe (-b)</td>
-<td>directory for built executables and dependent files</td>
-</tr>
-<tr><td>optimize (-o)</td>
-<td>optimization level, one of 0 (disabled), 1 or 2</td>
-</tr>
-<tr><td>excludes (-e)</td>
-<td>comma separated list of names of modules to exclude</td>
-</tr>
-<tr><td>includes (-e)</td>
-<td>comma separated list of names of modules to include</td>
-</tr>
-<tr><td>packages (-p)</td>
-<td>comma separated list of packages to include, which
-includes all submodules in the package</td>
-</tr>
-<tr><td>namespace-packages</td>
-<td>comma separated list of packages to be treated as
-namespace packages (path is extended using pkgutil)</td>
-</tr>
-<tr><td>replace-paths</td>
-<td>comma separated list of paths to replace in modules
-in the form &lt;search&gt;=&lt;replace&gt;, using the value *
-in the search portion of the directive will cause
-all paths not mentioned by any other directive to
-be replaced with the replacement value</td>
-</tr>
-<tr><td>path</td>
-<td>comma separated list of paths to search; the
-default value is sys.path</td>
-</tr>
-<tr><td>init-script (-i)</td>
-<td>the name of the script to use during initialization
-which, if given as a relative path, will be joined
-with the initscripts subdirectory of the cx_Freeze
-installation; the default value is &quot;Console&quot;</td>
-</tr>
-<tr><td>base</td>
-<td>the name of the base executable to use which, if
-given as a relative path, will be joined with the
-bases subdirectory of the cx_Freeze installation;
-the default value is &quot;Console&quot;</td>
-</tr>
-<tr><td>compressed (-c)</td>
-<td>create a compressed zip file</td>
-</tr>
-<tr><td>copy-dependent-files</td>
-<td>copy all dependent files</td>
-</tr>
-<tr><td>create-shared-zip</td>
-<td>create a shared zip file called library.zip which
-will contain all modules shared by all executables
-which are built</td>
-</tr>
-<tr><td>append-script-to-exe</td>
-<td>append the script module to the executable</td>
-</tr>
-<tr><td>include-in-shared-zip</td>
-<td>include the script module in the shared zip file</td>
-</tr>
-<tr><td>icon</td>
-<td>include the icon in the frozen executables on the
-Windows platform and alongside the frozen
-executable on other platforms</td>
-</tr>
-<tr><td>constants</td>
-<td>comma separated list of constant values to include
-in the constants module called BUILD_CONSTANTS in
-form &lt;name&gt;=&lt;value&gt;</td>
-</tr>
-<tr><td>include-files</td>
-<td>list containing files to be copied to the target
-directory; it is expected that this list will
-contain strings or 2-tuples for the source and
-destination; the source can be a file or a directory
-(in which case the tree is copied except for .svn
-and CVS directories); the target must not be an
-absolute path</td>
-</tr>
-<tr><td>zip-includes</td>
-<td>list containing files to be included in the zip file
-directory; it is expected that this list will
-contain strings or 2-tuples for the source and
-destination</td>
-</tr>
-<tr><td>bin-includes</td>
-<td>list of names of files to include when determining
-dependencies of binary files that would normally be
-excluded; note that version numbers that normally
-follow the shared object extension are stripped
-prior to performing the comparison</td>
-</tr>
-<tr><td>bin-excludes</td>
-<td>list of names of files to exclude when determining
-dependencies of binary files that would normally be
-included; note that version numbers that normally
-follow the shared object extension are stripped
-prior to performing the comparison</td>
-</tr>
-<tr><td>bin-path-includes</td>
-<td>list of paths from which to include files when
-determining dependencies of binary files</td>
-</tr>
-<tr><td>bin-path-excludes</td>
-<td>list of paths from which to exclude files when
-determining dependencies of binary files</td>
-</tr>
-<tr><td>silent (-s)</td>
-<td>suppress all output except warnings</td>
-</tr>
-</tbody>
-</table>
-</div>
-<div class="section" id="install">
-<h4>install</h4>
-<p>This command is a standard command which has been modified by cx_Freeze to
-install any executables that are defined. The following options were added to
-the standard set of options for the command:</p>
-<table border="1" class="docutils">
-<colgroup>
-<col width="30%" />
-<col width="70%" />
-</colgroup>
-<thead valign="bottom">
-<tr><th class="head">option name</th>
-<th class="head">description</th>
-</tr>
-</thead>
-<tbody valign="top">
-<tr><td>install-exe</td>
-<td>directory for installed executables and dependent
-files</td>
-</tr>
-</tbody>
-</table>
-</div>
-<div class="section" id="install-exe">
-<h4>install_exe</h4>
-<p>This command performs the work installing an executable or set of executables.
-It can be used directly but most often is used when building Windows installers
-or RPM packages. It can be further customized:</p>
-<table border="1" class="docutils">
-<colgroup>
-<col width="30%" />
-<col width="70%" />
-</colgroup>
-<thead valign="bottom">
-<tr><th class="head">option name</th>
-<th class="head">description</th>
-</tr>
-</thead>
-<tbody valign="top">
-<tr><td>install-dir (-d)</td>
-<td>directory to install executables to; this defaults
-to a subdirectory called &lt;name&gt;-&lt;version&gt; in the
-&quot;Program Files&quot; directory on Windows and
-&lt;prefix&gt;/lib on other platforms; on platforms other
-than Windows symbolic links are also created in
-&lt;prefix&gt;/bin for each executable.</td>
-</tr>
-<tr><td>build-dir (-b)</td>
-<td>build directory (where to install from); this
-defaults to the build_dir from the build command</td>
-</tr>
-<tr><td>force (-f)</td>
-<td>force installation, overwriting existing files</td>
-</tr>
-<tr><td>skip-build</td>
-<td>skip the build steps</td>
-</tr>
-</tbody>
-</table>
-</div>
-<div class="section" id="bdist-msi">
-<h4>bdist_msi</h4>
-<p>This command is a standard command in Python 2.5 and higher which has been
-modified by cx_Freeze to handle installing executables and their dependencies.
-The following options were added to the standard set of options for the
-command:</p>
-<table border="1" class="docutils">
-<colgroup>
-<col width="30%" />
-<col width="70%" />
-</colgroup>
-<thead valign="bottom">
-<tr><th class="head">option name</th>
-<th class="head">description</th>
-</tr>
-</thead>
-<tbody valign="top">
-<tr><td>add-to-path</td>
-<td>add the target directory to the PATH environment
-variable; the default value is True if there are
-any console based executables and False otherwise</td>
-</tr>
-<tr><td>upgrade-code</td>
-<td>define the upgrade code for the package that is
-created; this is used to force removal of any
-packages created with the same upgrade code prior
-to the installation of this one</td>
-</tr>
-</tbody>
-</table>
-</div>
-<div class="section" id="bdist-rpm">
-<h4>bdist_rpm</h4>
-<p>This command is a standard command which has been modified by cx_Freeze to
-ensure that packages are created with the proper architecture for the platform.
-The standard command assumes that the package should be architecture
-independent if it cannot find any extension modules.</p>
-</div>
-</div>
-<div class="section" id="cx-freeze-executable">
-<h3>cx_Freeze.Executable</h3>
-<p>The options for the <cite>build_exe</cite> command are the defaults for any executables
-that are created. The options for the <cite>Executable</cite> class allow specification of
-the values specific to a particular executable. The arguments to the
-constructor are as follows:</p>
-<table border="1" class="docutils">
-<colgroup>
-<col width="30%" />
-<col width="70%" />
-</colgroup>
-<thead valign="bottom">
-<tr><th class="head">argument name</th>
-<th class="head">description</th>
-</tr>
-</thead>
-<tbody valign="top">
-<tr><td>script</td>
-<td>the name of the file containing the script which is
-to be frozen</td>
-</tr>
-<tr><td>initScript</td>
-<td>the name of the initialization script that will be
-executed before the actual script is executed; this
-script is used to set up the environment for the
-executable; if a name is given without an absolute
-path the names of files in the initscripts
-subdirectory of the cx_Freeze package is searched</td>
-</tr>
-<tr><td>base</td>
-<td>the name of the base executable; if a name is given
-without an absolute path the names of files in the
-bases subdirectory of the cx_Freeze package is
-searched</td>
-</tr>
-<tr><td>path</td>
-<td>list of paths to search for modules</td>
-</tr>
-<tr><td>targetDir</td>
-<td>the directory in which to place the target
-executable and any dependent files</td>
-</tr>
-<tr><td>targetName</td>
-<td>the name of the target executable; the default
-value is the name of the script with the extension
-exchanged with the extension for the base
-executable</td>
-</tr>
-<tr><td>includes</td>
-<td>list of names of modules to include</td>
-</tr>
-<tr><td>excludes</td>
-<td>list of names of modules to exclude</td>
-</tr>
-<tr><td>packages</td>
-<td>list of names of packages to include, including all
-of the package's submodules</td>
-</tr>
-<tr><td>replacePaths</td>
-<td>list of 2-tuples containing search values and
-replacement values for paths of modules that are
-included; a search value of &quot;*&quot; will cause all
-paths not otherwise specified to be replaced with
-that directive's replacement value</td>
-</tr>
-<tr><td>compress</td>
-<td>boolean value indicating if the module bytecode
-should be compressed or not</td>
-</tr>
-<tr><td>copyDependentFiles</td>
-<td>boolean value indicating if dependent files should
-be copied to the target directory or not</td>
-</tr>
-<tr><td>appendScriptToExe</td>
-<td>boolean value indicating if the script module
-should be appended to the executable itself</td>
-</tr>
-<tr><td>appendScriptToLibrary</td>
-<td>boolean value indicating if the script module
-should be appended to the shared library zipfile</td>
-</tr>
-<tr><td>icon</td>
-<td>name of icon which should be included in the
-executable itself on Windows or placed in the
-target directory for other platforms</td>
-</tr>
-<tr><td>namespacePackages</td>
-<td>list of packages to be treated as namespace
-packages (path is extended using pkgutil)</td>
-</tr>
-<tr><td>shortcutName</td>
-<td>the name to give a shortcut for the executable when
-included in an MSI package</td>
-</tr>
-<tr><td>shortcutDir</td>
-<td>the directory in which to place the shortcut when
-being installed by an MSI package; see the MSI
-Shortcut table documentation for more information
-on what values can be placed here.</td>
-</tr>
-</tbody>
-</table>
-</div>
-</div>
-</div>
-</div>
-</body>
-</html>

File doc/cx_Freeze.rst

-=========
-cx_Freeze
-=========
-
---------
-Abstract
---------
-
-**cx_Freeze** is a set of scripts and modules for freezing Python scripts into
-executables in much the same way that py2exe_ and py2app_ do. Unlike these two
-tools, cx_Freeze is cross platform and should work on any platform that Python
-itself works on. It requires Python_ 2.4 or higher and does work with Python 3.
-
-**cx_Freeze** is distributed under an open-source license_.
-
-.. _py2exe: http://www.py2exe.org/
-.. _py2app: http://svn.pythonmac.org/py2app/py2app/trunk/doc/index.html
-.. _Python: http://www.python.org
-.. _license: LICENSE.txt
-
----------------
-Using cx_Freeze
----------------
-
-There are three different ways to use cx_Freeze. The first is to use the
-included ``cxfreeze`` script which works well for simple scripts. The second is
-to create a distutils_ setup script which can be used for more complicated
-configuration or to retain the configuration for future use. The third method
-involves working directly with the classes and modules used internally by
-cx_Freeze and should be reserved for complicated scripts or extending or
-embedding. Each of these methods is described in greater detail below.
-
-There are three different options for producing executables as well. The first
-option is the only one that was available in earlier versions of cx_Freeze,
-that is appending the zip file to the executable itself. The second option is
-creating a private zip file with the same name as the executable but with the
-extension .zip. The final option is the default which is to create a zip file
-called ``library.zip`` and place all modules in this zip file. The final two
-options are necessary when creating an RPM since the RPM builder automatically
-strips executables. These options are described in greater detail below as
-well.
-
-.. _distutils: http://docs.python.org/lib/module-distutils.html
-
-cxfreeze script
-===============
-
-The ``cxfreeze`` script is included with other Python scripts. On Windows and
-the Mac this is in the ``Scripts`` subdirectory of your Python installation
-whereas on Unix platforms this in the bin directory of the prefix where Python
-is installed.
-
-Assuming you have a script called ``hello.py`` which you want to turn into an
-executable, this can be accomplished by this command::
-
-    cxfreeze hello.py --target-dir dist
-
-Further customization can be done using the following options:
-
-+-----------------------+-----------------------------------------------------+
-| option name           | description                                         |
-+=======================+=====================================================+
-| --version             | show version number and exit                        |
-+-----------------------+-----------------------------------------------------+
-| -h, --help            | show this help message and exit                     |
-+-----------------------+-----------------------------------------------------+
-| -O                    | optimize generated bytecode as per PYTHONOPTIMIZE;  |
-|                       | use -OO in order to remove doc strings              |
-+-----------------------+-----------------------------------------------------+
-| -c, --compress        | compress byte code in zip files                     |
-+-----------------------+-----------------------------------------------------+
-| -s, --silent          | suppress all output except warnings                 |
-+-----------------------+-----------------------------------------------------+
-| --base-name           | file on which to base the executable; if the name   |
-|                       | of the file is not an absolute file name, the       |
-|                       | subdirectory bases inside the cx_Freeze package     |
-|                       | will be searched for a file matching the name,      |
-|                       | without regard to the extension                     |
-+-----------------------+-----------------------------------------------------+
-| --init-script         | script which will be executed upon startup; if the  |
-|                       | name of the file is not an absolute file name, the  |
-|                       | subdirectory initscripts inside the cx_Freeze       |
-|                       | package will be searched for a file matching the    |
-|                       | name, without regard to the extension               |
-+-----------------------+-----------------------------------------------------+
-| --target-dir          | directory in which to place the executable and any  |
-|                       | dependent files                                     |
-+-----------------------+-----------------------------------------------------+
-| --target-name         | the name of the file to create; the default is the  |
-|                       | base name of the script and the extension of the    |
-|                       | base executable name                                |
-+-----------------------+-----------------------------------------------------+
-| --shared-name         | the name of the file to create; the default is the  |
-|                       | base name of the script and the extension of the    |
-|                       | base executable name                                |
-+-----------------------+-----------------------------------------------------+
-| --no-copy-deps        | do not copy any dependent files (extensions, shared |
-|                       | libraries, etc.) to the target directory; this also |
-|                       | modifies the default init script to ConsoleKeepPath |
-|                       | and means that the target executable requires a     |
-|                       | Python installation to execute properly             |
-+-----------------------+-----------------------------------------------------+
-| --default-path        | list of paths separated by the standard path        |
-|                       | separator for the platform which will be used to    |
-|                       | initialize the search path instead of sys.path      |
-+-----------------------+-----------------------------------------------------+
-| --include-path        | list of paths separated by the standard path        |
-|                       | separator for the platform which will be used to    |
-|                       | add to the search path                              |
-+-----------------------+-----------------------------------------------------+
-| --replace-paths       | replace all the paths in modules found in the given |
-|                       | paths with the given replacement string; multiple   |
-|                       | values are separated by the standard path separator |
-|                       | for the platform and each value is of the form      |
-|                       | <search>=<replace>; <search> can be * which means   |
-|                       | all paths not already specified                     |
-+-----------------------+-----------------------------------------------------+
-| --include-modules     | comma separated list of names of modules to include |
-+-----------------------+-----------------------------------------------------+
-| --exclude-modules     | comma separated list of names of modules to exclude |
-+-----------------------+-----------------------------------------------------+
-| --ext-list-file       | name of file in which to place the list of          |
-|                       | dependent files which were copied to the target     |
-|                       | directory                                           |
-+-----------------------+-----------------------------------------------------+
-| -z, --zip-include     | name of file to add to the zip file or a            |
-|                       | specification of the form <name>=<arcname> which    |
-|                       | will specify the archive name to use; multiple      |
-|                       | --zip-include arguments can be used                 |
-+-----------------------+-----------------------------------------------------+
-
-distutils setup script
-======================
-
-In order to make use of distutils a setup script must be created. This is
-called ``setup.py`` by convention although it need not be called that. A
-very simple script might use the following::
-
-    from cx_Freeze import setup, Executable
-
-    setup(
-            name = "hello",
-            version = "0.1",
-            description = "the typical 'Hello, world!' script",
-            executables = [Executable("hello.py")])
-
-The script is invoked as follows::
-
-    python setup.py build
-
-This command will create a subdirectory called ``build`` with a further
-subdirectory starting with the letters ``exe.`` and ending with the typical
-identifier for the platform that distutils uses. This allows for multiple
-platforms to be built without conflicts.
-
-cx_Freeze creates two new commands and subclasses four others in order to
-provide the ability to both build and install executables. In typical distutils
-fashion they can be provided in the setup script, on the command line or in
-a setup.cfg configuration file. They are described in further detail below.
-
-distutils commands
-------------------
-
-build
-`````
-
-This command is a standard command which has been modified by cx_Freeze to
-build any executables that are defined. The following options were added to
-the standard set of options for the command:
-
-+-----------------------+-----------------------------------------------------+
-| option name           | description                                         |
-+=======================+=====================================================+
-| build-exe (-b)        | directory for built executables and dependent files |
-+-----------------------+-----------------------------------------------------+
-
-build_exe
-`````````
-
-This command performs the work of building an executable or set of executables.
-It can be further customized:
-
-+-----------------------+-----------------------------------------------------+
-| option name           | description                                         |
-+=======================+=====================================================+
-| build-exe (-b)        | directory for built executables and dependent files |
-+-----------------------+-----------------------------------------------------+
-| optimize (-o)         | optimization level, one of 0 (disabled), 1 or 2     |
-+-----------------------+-----------------------------------------------------+
-| excludes (-e)         | comma separated list of names of modules to exclude |
-+-----------------------+-----------------------------------------------------+
-| includes (-e)         | comma separated list of names of modules to include |
-+-----------------------+-----------------------------------------------------+
-| packages (-p)         | comma separated list of packages to include, which  |
-|                       | includes all submodules in the package              |
-+-----------------------+-----------------------------------------------------+
-| namespace-packages    | comma separated list of packages to be treated as   |
-|                       | namespace packages (path is extended using pkgutil) |
-+-----------------------+-----------------------------------------------------+
-| replace-paths         | comma separated list of paths to replace in modules |
-|                       | in the form <search>=<replace>, using the value *   |
-|                       | in the search portion of the directive will cause   |
-|                       | all paths not mentioned by any other directive to   |
-|                       | be replaced with the replacement value              |
-+-----------------------+-----------------------------------------------------+
-| path                  | comma separated list of paths to search; the        |
-|                       | default value is sys.path                           |
-+-----------------------+-----------------------------------------------------+
-| init-script (-i)      | the name of the script to use during initialization |
-|                       | which, if given as a relative path, will be joined  |
-|                       | with the initscripts subdirectory of the cx_Freeze  |
-|                       | installation; the default value is "Console"        |
-+-----------------------+-----------------------------------------------------+
-| base                  | the name of the base executable to use which, if    |
-|                       | given as a relative path, will be joined with the   |
-|                       | bases subdirectory of the cx_Freeze installation;   |
-|                       | the default value is "Console"                      |
-+-----------------------+-----------------------------------------------------+
-| compressed (-c)       | create a compressed zip file                        |
-+-----------------------+-----------------------------------------------------+
-| copy-dependent-files  | copy all dependent files                            |
-+-----------------------+-----------------------------------------------------+
-| create-shared-zip     | create a shared zip file called library.zip which   |
-|                       | will contain all modules shared by all executables  |
-|                       | which are built                                     |
-+-----------------------+-----------------------------------------------------+
-| append-script-to-exe  | append the script module to the executable          |
-+-----------------------+-----------------------------------------------------+
-| include-in-shared-zip | include the script module in the shared zip file    |
-+-----------------------+-----------------------------------------------------+
-| icon                  | include the icon in the frozen executables on the   |
-|                       | Windows platform and alongside the frozen           |
-|                       | executable on other platforms                       |
-+-----------------------+-----------------------------------------------------+
-| constants             | comma separated list of constant values to include  |
-|                       | in the constants module called BUILD_CONSTANTS in   |
-|                       | form <name>=<value>                                 |
-+-----------------------+-----------------------------------------------------+
-| include-files         | list containing files to be copied to the target    |
-|                       | directory; it is expected that this list will       |
-|                       | contain strings or 2-tuples for the source and      |
-|                       | destination; the source can be a file or a directory|
-|                       | (in which case the tree is copied except for .svn   |
-|                       | and CVS directories); the target must not be an     |
-|                       | absolute path                                       |
-+-----------------------+-----------------------------------------------------+
-| zip-includes          | list containing files to be included in the zip file|
-|                       | directory; it is expected that this list will       |
-|                       | contain strings or 2-tuples for the source and      |
-|                       | destination                                         |
-+-----------------------+-----------------------------------------------------+
-| bin-includes          | list of names of files to include when determining  |
-|                       | dependencies of binary files that would normally be |
-|                       | excluded; note that version numbers that normally   |
-|                       | follow the shared object extension are stripped     |
-|                       | prior to performing the comparison                  |
-+-----------------------+-----------------------------------------------------+
-| bin-excludes          | list of names of files to exclude when determining  |
-|                       | dependencies of binary files that would normally be |
-|                       | included; note that version numbers that normally   |
-|                       | follow the shared object extension are stripped     |
-|                       | prior to performing the comparison                  |
-+-----------------------+-----------------------------------------------------+
-| bin-path-includes     | list of paths from which to include files when      |
-|                       | determining dependencies of binary files            |
-+-----------------------+-----------------------------------------------------+
-| bin-path-excludes     | list of paths from which to exclude files when      |
-|                       | determining dependencies of binary files            |
-+-----------------------+-----------------------------------------------------+
-| silent (-s)           | suppress all output except warnings                 |
-+-----------------------+-----------------------------------------------------+
-
-install
-```````
-
-This command is a standard command which has been modified by cx_Freeze to
-install any executables that are defined. The following options were added to
-the standard set of options for the command:
-
-+-----------------------+-----------------------------------------------------+
-| option name           | description                                         |
-+=======================+=====================================================+
-| install-exe           | directory for installed executables and dependent   |
-|                       | files                                               |
-+-----------------------+-----------------------------------------------------+
-
-install_exe
-```````````
-
-This command performs the work installing an executable or set of executables.
-It can be used directly but most often is used when building Windows installers
-or RPM packages. It can be further customized:
-
-+-----------------------+-----------------------------------------------------+
-| option name           | description                                         |
-+=======================+=====================================================+
-| install-dir (-d)      | directory to install executables to; this defaults  |
-|                       | to a subdirectory called <name>-<version> in the    |
-|                       | "Program Files" directory on Windows and            |
-|                       | <prefix>/lib on other platforms; on platforms other |
-|                       | than Windows symbolic links are also created in     |
-|                       | <prefix>/bin for each executable.                   |
-+-----------------------+-----------------------------------------------------+
-| build-dir (-b)        | build directory (where to install from); this       |
-|                       | defaults to the build_dir from the build command    |
-+-----------------------+-----------------------------------------------------+
-| force (-f)            | force installation, overwriting existing files      |
-+-----------------------+-----------------------------------------------------+
-| skip-build            | skip the build steps                                |
-+-----------------------+-----------------------------------------------------+
-
-bdist_msi
-`````````
-
-This command is a standard command in Python 2.5 and higher which has been
-modified by cx_Freeze to handle installing executables and their dependencies.
-The following options were added to the standard set of options for the
-command:
-
-+-----------------------+-----------------------------------------------------+
-| option name           | description                                         |
-+=======================+=====================================================+
-| add-to-path           | add the target directory to the PATH environment    |
-|                       | variable; the default value is True if there are    |
-|                       | any console based executables and False otherwise   |
-+-----------------------+-----------------------------------------------------+
-| upgrade-code          | define the upgrade code for the package that is     |
-|                       | created; this is used to force removal of any       |
-|                       | packages created with the same upgrade code prior   |
-|                       | to the installation of this one                     |
-+-----------------------+-----------------------------------------------------+
-
-bdist_rpm
-`````````
-
-This command is a standard command which has been modified by cx_Freeze to
-ensure that packages are created with the proper architecture for the platform.
-The standard command assumes that the package should be architecture
-independent if it cannot find any extension modules.
-
-cx_Freeze.Executable
---------------------
-
-The options for the `build_exe` command are the defaults for any executables
-that are created. The options for the `Executable` class allow specification of
-the values specific to a particular executable. The arguments to the
-constructor are as follows:
-
-+-----------------------+-----------------------------------------------------+
-| argument name         | description                                         |
-+=======================+=====================================================+
-| script                | the name of the file containing the script which is |
-|                       | to be frozen                                        |
-+-----------------------+-----------------------------------------------------+
-| initScript            | the name of the initialization script that will be  |
-|                       | executed before the actual script is executed; this |
-|                       | script is used to set up the environment for the    |
-|                       | executable; if a name is given without an absolute  |
-|                       | path the names of files in the initscripts          |
-|                       | subdirectory of the cx_Freeze package is searched   |
-+-----------------------+-----------------------------------------------------+
-| base                  | the name of the base executable; if a name is given |
-|                       | without an absolute path the names of files in the  |
-|                       | bases subdirectory of the cx_Freeze package is      |
-|                       | searched                                            |
-+-----------------------+-----------------------------------------------------+
-| path                  | list of paths to search for modules                 |
-+-----------------------+-----------------------------------------------------+
-| targetDir             | the directory in which to place the target          |
-|                       | executable and any dependent files                  |
-+-----------------------+-----------------------------------------------------+
-| targetName            | the name of the target executable; the default      |
-|                       | value is the name of the script with the extension  |
-|                       | exchanged with the extension for the base           |
-|                       | executable                                          |
-+-----------------------+-----------------------------------------------------+
-| includes              | list of names of modules to include                 |
-+-----------------------+-----------------------------------------------------+
-| excludes              | list of names of modules to exclude                 |
-+-----------------------+-----------------------------------------------------+
-| packages              | list of names of packages to include, including all |
-|                       | of the package's submodules                         |
-+-----------------------+-----------------------------------------------------+
-| replacePaths          | list of 2-tuples containing search values and       |
-|                       | replacement values for paths of modules that are    |
-|                       | included; a search value of "*" will cause all      |
-|                       | paths not otherwise specified to be replaced with   |
-|                       | that directive's replacement value                  |
-+-----------------------+-----------------------------------------------------+
-| compress              | boolean value indicating if the module bytecode     |
-|                       | should be compressed or not                         |
-+-----------------------+-----------------------------------------------------+
-| copyDependentFiles    | boolean value indicating if dependent files should  |
-|                       | be copied to the target directory or not            |
-+-----------------------+-----------------------------------------------------+
-| appendScriptToExe     | boolean value indicating if the script module       |
-|                       | should be appended to the executable itself         |
-+-----------------------+-----------------------------------------------------+
-| appendScriptToLibrary | boolean value indicating if the script module       |
-|                       | should be appended to the shared library zipfile    |
-+-----------------------+-----------------------------------------------------+
-| icon                  | name of icon which should be included in the        |
-|                       | executable itself on Windows or placed in the       |
-|                       | target directory for other platforms                |
-+-----------------------+-----------------------------------------------------+
-| namespacePackages     | list of packages to be treated as namespace         |
-|                       | packages (path is extended using pkgutil)           |
-+-----------------------+-----------------------------------------------------+
-| shortcutName          | the name to give a shortcut for the executable when |
-|                       | included in an MSI package                          |
-+-----------------------+-----------------------------------------------------+
-| shortcutDir           | the directory in which to place the shortcut when   |
-|                       | being installed by an MSI package; see the MSI      |
-|                       | Shortcut table documentation for more information   |
-|                       | on what values can be placed here.                  |
-+-----------------------+-----------------------------------------------------+
-

File doc/development/code_layout.rst

+
+The project's code layout
+=========================
+
+* ``cx_Freeze/`` (Python files)
+
+  * ``freezer.py`` - The core class for freezing code.
+  * ``finder.py`` - Discovers what modules are required by the code
+  * ``hooks.py`` - A collection of functions which are triggered automatically
+    by ``finder.py`` when certain packages are included or not found.
+  * ``dist.py`` - The classes and functions with which cx_Freeze :ref:`extends
+    distutils <distutils>`.
+  * ``windist.py`` - Extends distutils to build Windows installer packages.
+  * ``main.py`` - The code behind the :ref:`cxfreeze script <script>`.
+
+* ``source/`` (C files)
+
+  * ``util.c`` - Compiled functions for cx_Freeze itself. Compiles to
+    :mod:`cx_Freeze.util`. Most of the functions are used only on Windows.
+  * ``bases/`` - The source of the base executables which are used to launch
+    your Python applications. Different bases serve for different types of
+    application on Windows (GUI, console application or service). The base
+    executable calls the initscript, which in turn calls the user's code.
+
+* ``initscripts/`` - Python scripts which set up the interpreter to run from
+  frozen code, then load the code from the zip file and set it running.
+* ``samples/`` - Examples of using cx_Freeze with a number of common modules.
+* ``doc/`` - The Sphinx documentation.

File doc/development/index.rst

+
+Developing cx_Freeze
+====================
+
+The source code can be found `on Bitbucket <https://bitbucket.org/anthony_tuininga/cx_freeze/src>`_.
+
+Downloads and issue tracking are `on Sourceforge <http://sourceforge.net/projects/cx-freeze/>`_.
+
+Contents:
+
+.. toctree::
+   :maxdepth: 2
+   
+   code_layout.rst

File doc/distutils.rst

+.. _distutils:
+
+distutils setup script
+======================
+
+In order to make use of distutils a setup script must be created. This is
+called ``setup.py`` by convention, although it can have any name. It looks
+something like this::
+
+    import sys
+    from cx_Freeze import setup, Executable
+    
+    # Dependencies are automatically detected, but it might need fine tuning.
+    build_exe_options = {"packages": ["os"], "excludes": ["tkinter"]}
+
+    # GUI applications require a different base on Windows (the default is for a
+    # console application).
+    base = None
+    if sys.platform == "win32":
+        base = "Win32GUI"
+
+    setup(  name = "guifoo",
+            version = "0.1",
+            description = "My GUI application!",
+            options = {"build_exe": build_exe_options},
+            executables = [Executable("guifoo.py", base=base)])
+            
+There are more examples in the ``samples/`` directory of `the source 
+<https://bitbucket.org/anthony_tuininga/cx_freeze/src>`_.
+
+The script is invoked as follows::
+
+    python setup.py build
+
+This command will create a subdirectory called ``build`` with a further
+subdirectory starting with the letters ``exe.`` and ending with the typical
+identifier for the platform that distutils uses. This allows for multiple
+platforms to be built without conflicts.
+
+On Windows, you can build a simple installer containing all the files cx_Freeze
+includes for your application, by running the setup script as::
+
+    python setup.py bdist_msi
+
+cx_Freeze creates two new commands and subclasses four others in order to
+provide the ability to both build and install executables. In typical distutils
+fashion they can be provided in the setup script, on the command line or in
+a ``setup.cfg`` configuration file. They are described in further detail below.
+
+distutils commands
+------------------
+
+build
+`````
+
+This command is a standard command which has been modified by cx_Freeze to
+build any executables that are defined. The following options were added to
+the standard set of options for the command:
+
++-----------------------+-----------------------------------------------------+
+| option name           | description                                         |
++=======================+=====================================================+
+| build-exe (-b)        | directory for built executables and dependent files |
++-----------------------+-----------------------------------------------------+
+
+build_exe
+`````````
+
+This command performs the work of building an executable or set of executables.
+It can be further customized:
+
++-----------------------+-----------------------------------------------------+
+| option name           | description                                         |
++=======================+=====================================================+
+| build-exe (-b)        | directory for built executables and dependent files |
++-----------------------+-----------------------------------------------------+
+| optimize (-o)         | optimization level, one of 0 (disabled), 1 or 2     |
++-----------------------+-----------------------------------------------------+
+| excludes (-e)         | comma separated list of names of modules to exclude |
++-----------------------+-----------------------------------------------------+
+| includes (-e)         | comma separated list of names of modules to include |
++-----------------------+-----------------------------------------------------+
+| packages (-p)         | comma separated list of packages to include, which  |
+|                       | includes all submodules in the package              |
++-----------------------+-----------------------------------------------------+
+| namespace-packages    | comma separated list of packages to be treated as   |
+|                       | namespace packages (path is extended using pkgutil) |
++-----------------------+-----------------------------------------------------+
+| replace-paths         | comma separated list of paths to replace in modules |
+|                       | in the form <search>=<replace>, using the value *   |
+|                       | in the search portion of the directive will cause   |
+|                       | all paths not mentioned by any other directive to   |
+|                       | be replaced with the replacement value              |
++-----------------------+-----------------------------------------------------+
+| path                  | comma separated list of paths to search; the        |
+|                       | default value is sys.path                           |
++-----------------------+-----------------------------------------------------+
+| init-script (-i)      | the name of the script to use during initialization |
+|                       | which, if given as a relative path, will be joined  |
+|                       | with the initscripts subdirectory of the cx_Freeze  |
+|                       | installation; the default value is "Console"        |
++-----------------------+-----------------------------------------------------+
+| base                  | the name of the base executable to use which, if    |
+|                       | given as a relative path, will be joined with the   |
+|                       | bases subdirectory of the cx_Freeze installation;   |
+|                       | the default value is "Console"                      |
++-----------------------+-----------------------------------------------------+
+| compressed (-c)       | create a compressed zip file                        |
++-----------------------+-----------------------------------------------------+
+| copy-dependent-files  | copy all dependent files                            |
++-----------------------+-----------------------------------------------------+
+| create-shared-zip     | create a shared zip file called library.zip which   |
+|                       | will contain all modules shared by all executables  |
+|                       | which are built                                     |
++-----------------------+-----------------------------------------------------+
+| append-script-to-exe  | append the script module to the executable          |
++-----------------------+-----------------------------------------------------+
+| include-in-shared-zip | include the script module in the shared zip file    |
++-----------------------+-----------------------------------------------------+
+| icon                  | include the icon in the frozen executables on the   |
+|                       | Windows platform and alongside the frozen           |
+|                       | executable on other platforms                       |
++-----------------------+-----------------------------------------------------+
+| constants             | comma separated list of constant values to include  |
+|                       | in the constants module called BUILD_CONSTANTS in   |
+|                       | form <name>=<value>                                 |
++-----------------------+-----------------------------------------------------+
+| include-files         | list containing files to be copied to the target    |
+|                       | directory; it is expected that this list will       |
+|                       | contain strings or 2-tuples for the source and      |
+|                       | destination; the source can be a file or a directory|
+|                       | (in which case the tree is copied except for .svn   |
+|                       | and CVS directories); the target must not be an     |
+|                       | absolute path                                       |
++-----------------------+-----------------------------------------------------+
+| zip-includes          | list containing files to be included in the zip file|
+|                       | directory; it is expected that this list will       |
+|                       | contain strings or 2-tuples for the source and      |
+|                       | destination                                         |
++-----------------------+-----------------------------------------------------+
+| bin-includes          | list of names of files to include when determining  |
+|                       | dependencies of binary files that would normally be |
+|                       | excluded; note that version numbers that normally   |
+|                       | follow the shared object extension are stripped     |
+|                       | prior to performing the comparison                  |
++-----------------------+-----------------------------------------------------+
+| bin-excludes          | list of names of files to exclude when determining  |
+|                       | dependencies of binary files that would normally be |
+|                       | included; note that version numbers that normally   |
+|                       | follow the shared object extension are stripped     |
+|                       | prior to performing the comparison                  |
++-----------------------+-----------------------------------------------------+
+| bin-path-includes     | list of paths from which to include files when      |
+|                       | determining dependencies of binary files            |
++-----------------------+-----------------------------------------------------+
+| bin-path-excludes     | list of paths from which to exclude files when      |
+|                       | determining dependencies of binary files            |
++-----------------------+-----------------------------------------------------+
+| silent (-s)           | suppress all output except warnings                 |
++-----------------------+-----------------------------------------------------+
+
+install
+```````
+
+This command is a standard command which has been modified by cx_Freeze to
+install any executables that are defined. The following options were added to
+the standard set of options for the command:
+
++-----------------------+-----------------------------------------------------+
+| option name           | description                                         |
++=======================+=====================================================+
+| install-exe           | directory for installed executables and dependent   |
+|                       | files                                               |
++-----------------------+-----------------------------------------------------+
+
+install_exe
+```````````
+
+This command performs the work installing an executable or set of executables.
+It can be used directly but most often is used when building Windows installers
+or RPM packages. It can be further customized:
+
++-----------------------+-----------------------------------------------------+
+| option name           | description                                         |
++=======================+=====================================================+
+| install-dir (-d)      | directory to install executables to; this defaults  |
+|                       | to a subdirectory called <name>-<version> in the    |
+|                       | "Program Files" directory on Windows and            |
+|                       | <prefix>/lib on other platforms; on platforms other |
+|                       | than Windows symbolic links are also created in     |
+|                       | <prefix>/bin for each executable.                   |
++-----------------------+-----------------------------------------------------+
+| build-dir (-b)        | build directory (where to install from); this       |
+|                       | defaults to the build_dir from the build command    |
++-----------------------+-----------------------------------------------------+
+| force (-f)            | force installation, overwriting existing files      |
++-----------------------+-----------------------------------------------------+
+| skip-build            | skip the build steps                                |
++-----------------------+-----------------------------------------------------+
+
+bdist_msi
+`````````
+
+This command is a standard command in Python 2.5 and higher which has been
+modified by cx_Freeze to handle installing executables and their dependencies.
+The following options were added to the standard set of options for the
+command:
+
++-----------------------+-----------------------------------------------------+
+| option name           | description                                         |
++=======================+=====================================================+
+| add-to-path           | add the target directory to the PATH environment    |
+|                       | variable; the default value is True if there are    |
+|                       | any console based executables and False otherwise   |
++-----------------------+-----------------------------------------------------+
+| upgrade-code          | define the upgrade code for the package that is     |
+|                       | created; this is used to force removal of any       |
+|                       | packages created with the same upgrade code prior   |
+|                       | to the installation of this one                     |
++-----------------------+-----------------------------------------------------+
+
+bdist_rpm
+`````````
+
+This command is a standard command which has been modified by cx_Freeze to
+ensure that packages are created with the proper architecture for the platform.
+The standard command assumes that the package should be architecture
+independent if it cannot find any extension modules.
+
+cx_Freeze.Executable
+--------------------
+
+The options for the `build_exe` command are the defaults for any executables
+that are created. The options for the `Executable` class allow specification of
+the values specific to a particular executable. The arguments to the
+constructor are as follows:
+
++-----------------------+-----------------------------------------------------+
+| argument name         | description                                         |
++=======================+=====================================================+
+| script                | the name of the file containing the script which is |
+|                       | to be frozen                                        |
++-----------------------+-----------------------------------------------------+
+| initScript            | the name of the initialization script that will be  |
+|                       | executed before the actual script is executed; this |
+|                       | script is used to set up the environment for the    |
+|                       | executable; if a name is given without an absolute  |
+|                       | path the names of files in the initscripts          |
+|                       | subdirectory of the cx_Freeze package is searched   |
++-----------------------+-----------------------------------------------------+
+| base                  | the name of the base executable; if a name is given |
+|                       | without an absolute path the names of files in the  |
+|                       | bases subdirectory of the cx_Freeze package is      |
+|                       | searched                                            |
++-----------------------+-----------------------------------------------------+
+| path                  | list of paths to search for modules                 |
++-----------------------+-----------------------------------------------------+
+| targetDir             | the directory in which to place the target          |
+|                       | executable and any dependent files                  |
++-----------------------+-----------------------------------------------------+
+| targetName            | the name of the target executable; the default      |
+|                       | value is the name of the script with the extension  |
+|                       | exchanged with the extension for the base           |
+|                       | executable                                          |
++-----------------------+-----------------------------------------------------+
+| includes              | list of names of modules to include                 |
++-----------------------+-----------------------------------------------------+
+| excludes              | list of names of modules to exclude                 |
++-----------------------+-----------------------------------------------------+
+| packages              | list of names of packages to include, including all |
+|                       | of the package's submodules                         |
++-----------------------+-----------------------------------------------------+
+| replacePaths          | list of 2-tuples containing search values and       |
+|                       | replacement values for paths of modules that are    |
+|                       | included; a search value of "*" will cause all      |
+|                       | paths not otherwise specified to be replaced with   |
+|                       | that directive's replacement value                  |
++-----------------------+-----------------------------------------------------+
+| compress              | boolean value indicating if the module bytecode     |
+|                       | should be compressed or not                         |
++-----------------------+-----------------------------------------------------+
+| copyDependentFiles    | boolean value indicating if dependent files should  |
+|                       | be copied to the target directory or not            |
++-----------------------+-----------------------------------------------------+
+| appendScriptToExe     | boolean value indicating if the script module       |
+|                       | should be appended to the executable itself         |
++-----------------------+-----------------------------------------------------+
+| appendScriptToLibrary | boolean value indicating if the script module       |
+|                       | should be appended to the shared library zipfile    |
++-----------------------+-----------------------------------------------------+
+| icon                  | name of icon which should be included in the        |
+|                       | executable itself on Windows or placed in the       |
+|                       | target directory for other platforms                |
++-----------------------+-----------------------------------------------------+
+| namespacePackages     | list of packages to be treated as namespace         |
+|                       | packages (path is extended using pkgutil)           |
++-----------------------+-----------------------------------------------------+
+| shortcutName          | the name to give a shortcut for the executable when |
+|                       | included in an MSI package                          |
++-----------------------+-----------------------------------------------------+
+| shortcutDir           | the directory in which to place the shortcut when   |
+|                       | being installed by an MSI package; see the MSI      |
+|                       | Shortcut table documentation for more information   |
+|                       | on what values can be placed here.                  |
++-----------------------+-----------------------------------------------------+

File doc/index.rst

+
+Welcome to cx_Freeze's documentation!
+=====================================
+
+**cx_Freeze** is a set of scripts and modules for freezing Python scripts into
+executables in much the same way that py2exe_ and py2app_ do. Unlike these two
+tools, cx_Freeze is cross platform and should work on any platform that Python
+itself works on. It requires Python_ 2.4 or higher and does work with Python 3.
+
+**cx_Freeze** is distributed under an open-source :ref:`license <license>` (the PSF license).
+
+Contents:
+
+.. toctree::
+   :maxdepth: 2
+   
+   overview.rst
+   script.rst
+   distutils.rst
+   development/index.rst
+   license.rst
+
+Indices and tables
+==================
+
+* :ref:`genindex`
+* :ref:`modindex`
+* :ref:`search`
+
+.. _py2exe: http://www.py2exe.org/
+.. _py2app: http://svn.pythonmac.org/py2app/py2app/trunk/doc/index.html
+.. _Python: http://www.python.org

File doc/license.rst

+.. _license:
+
+Licensing
+=========
+
+* Copyright Š 2007-2012, Anthony Tuininga.
+* Copyright Š 2001-2006, Computronix (Canada) Ltd., Edmonton, Alberta, Canada.
+* All rights reserved.
+
+NOTE: this license is derived from the Python Software Foundation License
+which can be found at http://www.python.org/psf/license
+
+License for cx_Freeze 4.2.3
+---------------------------
+
+1. This LICENSE AGREEMENT is between the copyright holders and the Individual
+   or Organization ("Licensee") accessing and otherwise using cx_Freeze
+   software in source or binary form and its associated documentation.
+
+2. Subject to the terms and conditions of this License Agreement, the
+   copyright holders hereby grant Licensee a nonexclusive, royalty-free,
+   world-wide license to reproduce, analyze, test, perform and/or display
+   publicly, prepare derivative works, distribute, and otherwise use cx_Freeze
+   alone or in any derivative version, provided, however, that this License
+   Agreement and this notice of copyright are retained in cx_Freeze alone or in
+   any derivative version prepared by Licensee.
+
+3. In the event Licensee prepares a derivative work that is based on or
+   incorporates cx_Freeze or any part thereof, and wants to make the derivative
+   work available to others as provided herein, then Licensee hereby agrees to
+   include in any such work a brief summary of the changes made to cx_Freeze.
+
+4. The copyright holders are making cx_Freeze available to Licensee on an
+   "AS IS" basis.  THE COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES,
+   EXPRESS OR IMPLIED.  BY WAY OF EXAMPLE, BUT NOT LIMITATION, THE COPYRIGHT
+   HOLDERS MAKE NO AND DISCLAIM ANY REPRESENTATION OR WARRANTY OF
+   MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF
+   CX_FREEZE WILL NOT INFRINGE ANY THIRD PARTY RIGHTS.
+
+5. THE COPYRIGHT HOLDERS SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF
+   CX_FREEZE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS
+   A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING CX_FREEZE, OR ANY
+   DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF.
+
+6. This License Agreement will automatically terminate upon a material breach
+   of its terms and conditions.
+
+7. Nothing in this License Agreement shall be deemed to create any relationship
+   of agency, partnership, or joint venture between the copyright holders and
+   Licensee.  This License Agreement does not grant permission to use
+   copyright holder's trademarks or trade name in a trademark sense to endorse
+   or promote products or services of Licensee, or any third party.
+
+8. By copying, installing or otherwise using cx_Freeze, Licensee agrees to be
+   bound by the terms and conditions of this License Agreement.
+
+ComputronixÂŽ is a registered trademark of Computronix (Canada) Ltd.
+

File doc/make.bat

+@ECHO OFF
+
+REM Command file for Sphinx documentation
+
+if "%SPHINXBUILD%" == "" (
+	set SPHINXBUILD=sphinx-build
+)
+set BUILDDIR=_build
+set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% .
+if NOT "%PAPER%" == "" (
+	set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS%
+)
+
+if "%1" == "" goto help
+
+if "%1" == "help" (
+	:help
+	echo.Please use `make ^<target^>` where ^<target^> is one of
+	echo.  html       to make standalone HTML files
+	echo.  dirhtml    to make HTML files named index.html in directories
+	echo.  singlehtml to make a single large HTML file
+	echo.  pickle     to make pickle files
+	echo.  json       to make JSON files
+	echo.  htmlhelp   to make HTML files and a HTML help project
+	echo.  qthelp     to make HTML files and a qthelp project
+	echo.  devhelp    to make HTML files and a Devhelp project
+	echo.  epub       to make an epub