]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/docs/BUILD.html
do not call CopyIcon() in CloneRefData(), HICON is going to be overwritten or invalid...
[wxWidgets.git] / wxPython / docs / BUILD.html
index 72ed1bec7c8167ddc27cd579ef421319300c55c9..e88bed31a185e8a849272a2c70cd9eb58c07d5cb 100644 (file)
@@ -74,16 +74,31 @@ cd bld
 ../configure --prefix=/opt/wx/2.5 \
              --with-gtk \
              --with-opengl \
-             --disable-monolithic \
              --enable-debug \
              --enable-geometry \
              --enable-sound --with-sdl \
              --enable-display \
 </pre>
 <p>On OS X of course you'll want to use --with-mac instead of
---with-gtk.  For GTK2 and unicode add:</p>
+--with-gtk.</p>
+<p><strong>NOTE</strong>: Due to a recent change there is a dependency problem in the
+multilib builds of wxWidgets on OSX, so I have switched to a
+monolithic build on that platform.  (IOW, all of the core code in
+one shared library instead of several.)  I would also expect other
+unix builds to do just fine with a monolithic library, but I havn't
+tested it in a while so your mileage may vary.  Anyway, to switch
+to the monolithic build of wxWidgets just add this configure flag:</p>
+<pre class="literal-block">
+--enable-monolithic \
+</pre>
+<p>By default GTK2 will be selected if it is on your build system.  To
+force the use of GTK 1.2.x add this flag:</p>
+<pre class="literal-block">
+--disable-gtk2 \
+</pre>
+<p>To make the wxWidgets build be Unicode enabled (strongly
+recommended if you are building with GTK2) then add:</p>
 <pre class="literal-block">
---enable-gtk2 \
 --enable-unicode \
 </pre>
 <p>Notice that I used a prefix of /opt/wx/2.5.  You can use whatever
@@ -110,7 +125,7 @@ can add these flags to the configure command:</p>
 command but there are other libraries besides the main wxWidgets
 libs that also need to be built so again I make a script to do it
 all for me so I don't forget anything.  This time it is called
-&quot;.make&quot; (I use the leading &quot;.  so when I do <tt class="literal"><span class="pre">rm</span> <span class="pre">-r</span> <span class="pre">*</span></tt> in my build
+&quot;.make&quot; (I use the leading &quot;.&quot;  so when I do <tt class="literal"><span class="pre">rm</span> <span class="pre">-r</span> <span class="pre">*</span></tt> in my build
 dir I don't lose my scripts too.)  This is what it looks like:</p>
 <pre class="literal-block">
 make $* \
@@ -159,10 +174,17 @@ command line to ensure your new one is used instead:</p>
 <pre class="literal-block">
 WX_CONFIG=/opt/wx/2.5/bin/wx-config
 </pre>
-<p>If you are building with GTK2 then add the following flags to the
-command line:</p>
+<p>By default setup.py will assume that you built wxWidgets to use
+GTK2.  If you built wxWidgets to use GTK 1.2.x then you should add
+this flag to the command-line:</p>
+<pre class="literal-block">
+WXPORT=gtk2 
+</pre>
+<p>If you would like to do a Unicode enabled build (all strings sent
+to or retruned from wx functions are Unicode objects) and your
+wxWidgets was built with unicode enabled then add this flag:</p>
 <pre class="literal-block">
-WXPORT=gtk2 UNICODE=1
+UNICODE=1
 </pre>
 <p>If you are wanting to have the source files regenerated with swig,
 then you need to turn on the USE_SWIG flag and optionally tell it
@@ -239,20 +261,13 @@ you can do everything by hand as described below.  But if you do work
 by hand and something doesn't seem to be working correctly please
 refer to the build scripts to see what may need to be done
 differently.</p>
-<p>The <a href="#id1" name="id2"><span class="problematic" id="id2">*</span></a>.btm files are for 4NT and the others are for bash.  They are:</p>
-<div class="system-message" id="id1">
-<p class="system-message-title">System Message: <a name="id1">WARNING/2</a> (<tt>/home/work/projects/wx2.5/wxPython/docs/BUILD.txt</tt>, line 259); <em><a href="#id2">backlink</a></em></p>
-Inline emphasis start-string without end-string.</div>
-<blockquote>
-<p>.make/.make.btm        Builds the main lib and the needed contribs
+<p>The *.btm files are for 4NT and the others are for bash.  They are:</p>
+<pre class="literal-block">
+.make/.make.btm        Builds the main lib and the needed contribs
 .mymake/.mymake.btm    Builds just one lib, use by .make
-.makesetup.mk          A makefile that will copy and edit setup.h</p>
-<div class="system-message">
-<p class="system-message-title">System Message: ERROR/3 (<tt>/home/work/projects/wx2.5/wxPython/docs/BUILD.txt</tt>, line 264)</p>
-Unexpected indentation.</div>
-<blockquote>
-as needed for the different types of builds</blockquote>
-</blockquote>
+.makesetup.mk          A makefile that will copy and edit setup.h
+                       as needed for the different types of builds
+</pre>
 <p>Okay.  Here's what you've been waiting for, the instructions!  Adapt
 accordingly if you are using the bash shell.</p>
 <ol class="arabic">
@@ -347,10 +362,14 @@ selection of command-line flags as described above.  Repeat this
 same command from the following directories in order to build the
 contrib libraries:</p>
 <pre class="literal-block">
-%WXDIR%\contrib\build\gizmos
-%WXDIR%\contrib\build\xrc
-%WXDIR%\contrib\build\stc
-%WXDIR%\contrib\build\ogl
+    %WXDIR%\contrib\build\gizmos
+    %WXDIR%\contrib\build\xrc
+    %WXDIR%\contrib\build\stc
+    %WXDIR%\contrib\build\ogl
+
+Note, that the ogl lib build will need an additional flag::
+
+    CPPFLAGS=&quot;-DwxUSE_DEPRECATED=0&quot;
 </pre>
 </li>
 <li><p class="first">When that is all done it will have built the main wxWidgets DLLs