Source

wxPython / docs / BUILD.txt

Building wxPython 2.9
=====================

This file describes how I build wxWidgets and wxPython while doing
development and testing, and is meant to help other people that want
to do the same thing.  Those readers who have attempted this in
previous releases of the software will probably notice that this file
is *much* smaller than it was before.  Much thanks for this goes to
Kevin Ollivier who wrote the initial version of the new build scripts
and then guilted me into starting to use and maintain them myself.

Building of both wxWidgets and wxPython is now handled by the
wxPython/build-wxpython.py script in the source tree.  It takes care
of all the nasty and confusing details that used to be documented in
this file.  Pretty much all you need to worry about now is having the
build tools and dependent libraries installed on your system and
specifying where to install the results, if other than the standard
location.

If you want to make changes to any of the ``*.i`` files, (SWIG
interface definition files,) then you will need to use a special
patched version of SWIG.  Get the sources for version 1.3.29, and then
apply the patches in wxPython/SWIG and then build SWIG like normal.
See the README.txt in the wxPython/SWIG dir for details about each
patch.  You can also get a pre-patched version of the SWIG sources
plus a Windows binary at::

    http://wxpython.wxcommunity.com/tools/

If you install this build of SWIG to a location that is not on the
PATH (so it doesn't interfere with an existing SWIG install for
example) then you can set a SWIG environment variable to the full path
of this new binary to tell the build script which SWIG to use.


The build script
----------------

To build wxPython, simply run the build script something like this::

    cd wxPython-src-2.9.0.1/wxPython
    python2.6 build-wxpython.py --build_dir=../bld

Be sure to use the same verison of Python to run the script that you
would like to use the wxPython binaries with.  If you would also like
to install wxWidgets and wxPython then simply add the --install flag.

You should also check the --help output of the build-wxpython.py
script to see what other options are available.  The current build
options as of this writing are::

    $ python2.6 build-wxpython.py --help
    Usage: build-wxpython.py [options]
    
    Options:
      --version             show program's version number and exit
      -h, --help            show this help message and exit
      --build_dir=BUILD_DIR
                            Directory to store wx build files. (Not used on
                            Windows)
      --clean               Clean files from build directories.  Default is all
                            build files. Specify 'wx' to clean just the wx build,
                            'py' for just the wxPython build, and 'pyext' for just
                            the built extension modules.
      --debug               Build wxPython with debug symbols
      --extra_make=EXTRA_MAKE
                            Extra args to pass on [n]make's command line.
      --extra_setup=EXTRA_SETUP
                            Extra args to pass on setup.py's command line.
      --force_config        Run configure when building even if the script
                            determines it's not necessary.
      --install             Install the built wxPython into installdir or standard
                            location
      --installdir=INSTALLDIR
                            Directory to install wxWidgets to.
      --mac_framework       Build wxWidgets as a Mac framework.
      --mac_lipo            EXPERIMENTAL: Create a universal binary by merging a
                            PPC and Intel build together.
      --no_config           Turn off configure step on autoconf builds
      --osx_cocoa           Build the OS X Cocoa port on Mac (experimental)
      --prefix=PREFIX       Prefix value to pass to the wx build.
      --reswig              Allow SWIG to regenerate the wrappers
      --unicode             Build wxPython with unicode support (always on for
                            wx2.9)
      --wxpy_installdir=WXPY_INSTALLDIR
                            Directory to install the wxPython binaries.

Have fun.