Updated build instructions

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_4_BRANCH@19527 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2003-03-07 21:14:15 +00:00
parent 7cf9a3037f
commit 1c24ca6cdb

View File

@@ -8,10 +8,9 @@ your sources from and what your desired end result is, there are
several permutations of those steps. At a high level the basic steps
are:
1. Get the wxWindows sources
1. Get the sources
2. Build the wxWindows DLL
3. Get the wxPython sources
4. Build and Install wxPython
3. Build and Install wxPython
We'll go into more detail of each of these steps below, but first a
few bits of background information on tools.
@@ -20,7 +19,11 @@ I use a tool called SWIG (http://www.swig.org) to help generate the
C++ sources used in the wxPython extension module. However you don't
need to have SWIG unless you want to modify the *.i files. I've made
several modifications to SWIG specific to wxPython's needs and so the
modified sources are included in the wx CVS at .../wxPython/wxSWIG.
modified sources are included in the wx CVS at.../wxPython/wxSWIG.
But because of the size and since most people won't need it my SWIG is
not included in the wxPythonSrc tarball. You'll need to get it from
CVS or a CVS snapshot.
If you need to modify the *.i files for wxPython then change to this
directory and run:
@@ -42,6 +45,7 @@ If anybody wants to try it I'll take any required patches for the
setup script and for these instructions.
UNICODE
-------
@@ -69,36 +73,34 @@ And now on to the fun stuff...
1. Get the wxWindows sources
----------------------------
1. Get the sources
------------------
A. There are a few possible ways to get sources for wxWindows. You
can download a released version from http://wxwindows.org/ or you
can get current development sources from the CVS server. (Some
information about annonymous CVS access is at the
http://wxwindows.org/cvs.htm site.) The advantage of using CVS is
that you can easily update as soon as the developers check in new
sources or fixes. The advantage of using a released version is
that it usually has had more thorough testing done. You can decide
which method is best for you.
A. You can either use a tarball with the released version of the
source code for wxWindows/wxPython, or you can get current
development sources from the CVS repository. (Some information
about annonymous CVS access is at the http://wxwindows.org/cvs.htm
site.) The advantage of using CVS is that you can easily update as
soon as the developers check in new sources or fixes. The
advantage of using a released version is that it usually has had
more thorough testing done. You can decide which method is best
for you. The released version file is named
wxPythonSrc-[version].tar.gz and is available from the wxPython
website at http://wxpython.org/download.php. You can use WinZip to
unpack it if you don't have tar and gzip.
B. You'll usually want to use wxWindows sources that have the same
version number as the wxPython sources you are using. (Another
advantage of using CVS is that you'll get both at the same time.)
C. Once you get the sources be sure to put them in a path without a
B. Once you get the sources be sure to put them in a path without a
space in it (i.e., NOT c:\Program Files\wx) and set an environment
variable named WXWIN to this directory. For example:
variable named WXWIN to the top level directory. For example:
mkdir \wx2
cd \wx2
unzip wxMSW-2.2.2.zip
set WXWIN=c:\wx2
set WXWIN=c:\wx\wxPythonSrc-2.4.0.4
You'll probably want to add that last line to your autoexec.bat or
You'll probably want to add that line to your autoexec.bat or
System Properties depending on the type of system you are on.
D. Change to the wx2\include\wx\msw directory and copy setup0.h to
C. Change to the %WXWIN%\include\wx\msw directory and copy setup0.h to
setup.h and then edit setup.h. This is how you control which parts
of wxWindows are compiled into or left out of the build, simply by
turning options on or off. I have the following differences from
@@ -136,6 +138,7 @@ A. Although MSVC project files are provided I always use the makefiles
Python, (and I make sure they stay that way.) You would have to
edit the project files a bit to make it work otherwise.
B. There are three different types of wxWindows DLLs that can be
produced by the VC makefile simply by providing a flag on the nmake
command-line, I call the three types DEBUG, FINAL, and HYBRID.
@@ -159,43 +162,41 @@ B. There are three different types of wxWindows DLLs that can be
wxmsw[version].dll. This DLL is compiled with optimizations
turned on and without debugging information and without
__WXDEBUG__. The /MD flag is used which means that you
can use this version with the standard python.exe. This
is the version that I use when making the binary installer
for win32.
can use this version with the standard python.exe.
HYBRID Specified with "FINAL=hybrid" and produces a DLL named
wxmsw[version]h.dll. This DLL is almost the same as the
DEBUG version except the /MD flag is used which means that
you can use the standard python.exe but you still get the
debugging info and the __WXDEBUG__ code enabled. With the
debugger you can trace through the the code for the
wxPython extension and the wxWindows DLL, but not the
Python interpreter. You might use this version when you
want to deploy a wxPython app with the __WXDEBUG__ code
enabled. I use this mode most of the time during
development simply because it's easier than having to
remember to type python_d all the time.
FINAL version except the __WXDEBUG__ is used which means
that you will get extra runtime assertions and validations
from wxWindows. If any of these fail then they are turned
into a Python exception that you can catch and deal with
in your code. This is the version that I use when making
the binary installer for win32.
Since different DLL names and object file directories are used you
can build all three types if you like.
C. Change to the wx2\src\msw directory and type the following command,
C. Change to the %WXWIN%\src\msw directory and type the following command,
using the value for FINAL that you want:
nmake -f makefile.vc dll pch FINAL=hybrid
nmake -f makefile.vc dll FINAL=hybrid
Your machine will then crunch away for possibly a long time,
depending on your hardware, and when it's done you should have a
DLL and some library files in \wx2\lib.
DLL and some library files in %WXWIN%\lib.
D. You'll either need to add \wx2\lib to the PATH or copy the DLL file
to a directory already on the PATH so the DLL can be found at
D. You'll either need to add %WXWIN%\lib to the PATH or copy the DLL
file to a directory already on the PATH so the DLL can be found at
runtime. Another option is to copy the DLL to the directory that
the wxPython pacakge is installed to, for example,
c:\Python22\lib\site-packages\wxPython.
E. You can test your build by changing to one of the directories under
\wx2\samples or \wx2\demos and typing (using the right FINAL flag):
%WXWIN%\samples or %WXWIN\demos and typing (using the right FINAL flag):
nmake -f makefile.vc FINAL=hybrid WXUSINGDLL=1
@@ -203,20 +204,8 @@ E. You can test your build by changing to one of the directories under
3. Get the wxPython sources
---------------------------
A. You have the same options (and same advantages/disadvantages) for
getting the wxPython source, either a released snapshot or from
CVS. The released version file is named wxPython-[version].tar.gz
and is available at http://wxpython.org/download.php. You can use
WinZip to unpack it if you don't have tar and gzip. If you want to
use CVS you'll find wxPython in the wxWindows CVS tree (see above)
in the wxWindows/wxPython directory.
4. Build and Install wxPython
3. Build and Install wxPython
-----------------------------
A. As mentioned previouslly, wxPython is built with the standard
@@ -224,6 +213,7 @@ A. As mentioned previouslly, wxPython is built with the standard
are all set, otherwise you need to download and install Distutils
1.0 from http://www.python.org/sigs/distutils-sig/.
B. Change to the root wxPython directory and look at the setup.py
file. This is the script that configures and defines all the
information that Distutils needs to build wxPython. There are some
@@ -248,17 +238,7 @@ B. Change to the root wxPython directory and look at the setup.py
will be executed to regenerate the wrapper C++
and shadow python files.
IN_CVS_TREE If you are using the CVS version of the
wxWindows and wxPython sources, or a combined
source archive from the CVS snapshots or the
distributed wxPythonSrc-*.tar.gz then you will
need to set this flag to non-zero. This is
needed because some source files from the
wxWindows tree are copied to be under the
wxPython tree in order to keep Distutils happy.
With this flag set then setup.py will
automatically keep these copied sources up to
date if the original version is ever updated.
etc.
C. To build and install wxPython you simply need to execute the
@@ -287,6 +267,7 @@ D. At this point you should be able to change into the wxPython\demo
python demo.py
E. If you would like to make a test build that doesn't overwrite the
installed version of wxPython you can do so with one of these
commands instead of the install command above:
@@ -302,8 +283,8 @@ E. If you would like to make a test build that doesn't overwrite the
To run using this test version just add the base wxPython source
directory to the PYTHONPATH:
set PYTHONPATH=c:\wx2\wxPython
cd c:\wx2\wxPython\demo
set PYTHONPATH=%WXDIR%\wxPython
cd %WXDIR%\wxPython\demo
python demo.py