diff --git a/wxPython/BUILD.unix.txt b/wxPython/BUILD.unix.txt index 3aab82bdad..7f8013d602 100644 --- a/wxPython/BUILD.unix.txt +++ b/wxPython/BUILD.unix.txt @@ -50,10 +50,10 @@ A. First of all, check and see if you've already got glib/gtk+ on your skip to step #2. B. If your system has a binary package mechanism, (RPMs, debs, - whatever,) check and see if binaries for glib abd gtk+ are - available. Be sure to get the runtime library package and the - development package. Install them with your package tool, and skip - to step #2. + whatever...) check and see if binaries for glib abd gtk+ are + available. Be sure to get the runtime library package as well as + the development package, if they are separate. Install them with + your package tool, and skip to step #2. C. If all else fails, you can get the source code for glib and gtk+ at http://www.gtk.org/. Fetch the latest of each in the 1.2.x @@ -66,8 +66,9 @@ C. If all else fails, you can get the source code for glib and gtk+ at make install The last step will probably have to be done as root. Also, if your - system needs anything done to update the dynamic loader, (such as - running ldconfig on Linux) then do it now. + system needs anything done to update the dynamic loader for shared + libraries, (such as running ldconfig on Linux) then do it after + each library is installed. @@ -85,7 +86,7 @@ A. You can find the sources and RPMs for wxGTK at that it usually has had more testing done. You can decide which method is best for you. -B. You'll usually want to use a version of wxGTK that haa the same +B. You'll usually want to use a version of wxGTK that has 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.) @@ -102,8 +103,8 @@ D. If using the sources (either from the tarball or from CVS) then cd build ../configure --with-gtk - There are gobs abd gobs of options for the configure script, run - ../configure --help to see them all. I'll descibe some that I find + There are gobs and gobs of options for the configure script, run + ../configure --help to see them all. I'll describe some that I find useful here. If you have OpenGL or compatible libraries installed, then add the @@ -126,8 +127,8 @@ E. Now just compile and install. You need to use GNU make, so if your make install The last step will probably have to be done as root. Also, if your - system needs anything done to update the dynamic loader, (such as - running ldconfig on Linux) then do it now. + system needs anything done to update the dynamic loader for shared + libraries, (such as running ldconfig on Linux) then do it now. F. You can test your build by changing to one of the directories under build/samples or build/demos, running make and then running the @@ -165,6 +166,26 @@ B. As mentioned previouslly, wxPython is built with the standard LDSHARED=gcc -G + While we're on the subject of how Python was built... Since + wxPython is a C++ extension some platforms and/or compilers will + require that the Python executable was linked with the C++ linker + in order for everything to work correctly. If you build and + install Python yourself then this is easy to take care of, + otherwise you may have to mess with binary packages or bribe your + system administrator... + + In my case on Solaris wxPython applications would core dump on + exit. The core file indicated that the fault happened after + _exit() was called and the run-time was trying to execute cleanup + code. After relinking the Python executable the problem went away. + To build Python to link with the C++ linker do this: + + cd Python-2.0 # wherever the root of the source tree is + rm python # in case it's still there from an old build + make LINKCC=g++ # or whatever your C++ command is + make install + + C. 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 diff --git a/wxPython/setup.py b/wxPython/setup.py index 0ab25b2c41..a62c63db5c 100755 --- a/wxPython/setup.py +++ b/wxPython/setup.py @@ -2,10 +2,10 @@ #---------------------------------------------------------------------- import sys, os, string -from distutils.core import setup, Extension +from distutils.core import setup, Extension from distutils.file_util import copy_file -from distutils.dir_util import mkpath -from distutils.dep_util import newer +from distutils.dir_util import mkpath +from distutils.dep_util import newer from my_distutils import run_swig, contrib_copy_tree @@ -30,7 +30,7 @@ feel (and runtime speed) on the platforms it is supported on. BUILD_GLCANVAS = 1 # If true, build the contrib/glcanvas extension module BUILD_OGL = 1 # If true, build the contrib/ogl extension module BUILD_STC = 1 # If true, build the contrib/stc extension module - +CORE_ONLY = 0 # if true, don't build any of the above USE_SWIG = 0 # Should we actually execute SWIG, or just use the # files already in the distribution? @@ -71,7 +71,7 @@ debug = '--debug' in sys.argv or '-g' in sys.argv # Check for build flags on the command line #---------------------------------------------------------------------- -for flag in ['BUILD_GLCANVAS', 'BUILD_OGL', 'BUILD_STC', +for flag in ['BUILD_GLCANVAS', 'BUILD_OGL', 'BUILD_STC', 'CORE_ONLY', 'USE_SWIG', 'IN_CVS_TREE', 'FINAL', 'HYBRID', 'WXDLLVER', ]: for x in range(len(sys.argv)): @@ -84,6 +84,11 @@ for flag in ['BUILD_GLCANVAS', 'BUILD_OGL', 'BUILD_STC', sys.argv = filter(None, sys.argv) +if CORE_ONLY: + BUILD_GLCANVAS = 0 + BUILD_OGL = 0 + BUILD_STC = 0 + #---------------------------------------------------------------------- # Setup some platform specific stuff #---------------------------------------------------------------------- @@ -426,7 +431,6 @@ setup(name = PKGDIR, packages = [PKGDIR, PKGDIR+'.lib', PKGDIR+'.lib.editor', - PKGDIR+'.lib.sizers' ], ext_package = PKGDIR,