]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/gtk/install.txt
Use wxFindWindowAtPoint() for hit testing in wxPopupTransientWindow.
[wxWidgets.git] / docs / gtk / install.txt
index 9006aee4d9fa885a86270d1453e94e422b97d453..71a6600710e8d99188468f8913bc116440215502 100644 (file)
@@ -1,5 +1,5 @@
-wxWidgets 2.6 for GTK+ installation
------------------------------------
+wxWidgets for GTK+ installation
+-------------------------------
 
 IMPORTANT NOTE:
 
@@ -11,7 +11,7 @@ IMPORTANT NOTE:
 
   When sending bug reports tell us what version of wxWidgets you are
   using (including the beta) and what compiler on what system. One
-  example: wxGTK 2.6.3, gcc 3.4.5, Fedora Core 4
+  example: wxGTK 2.8.0, gcc 3.4.5, Fedora Core 4
 
 * The simplest case
 -------------------
@@ -48,9 +48,7 @@ such as for GTK+ and Motif, you can now build two complete libraries and use
 them concurrently. To do this, create a separate directory for each build
 of wxWidgets - you may also want to create different versions of wxWidgets
 and test them concurrently. Most typically, this would be a version configured
-with --enable-debug and one without. Note, that only one build can currently
-be installed with 'make install', so you'd have to use a local version of
-the library for that purpose.
+with --enable-debug and one without.
 
 For building three versions (one GTK+, one Motif and a debug version of the GTK
 source) you'd do this:
@@ -73,20 +71,23 @@ cd buildgtkd
 make
 cd ..
 
+Note that you can install all those libraries concurrently, you just need to
+pass the appropriate flags when using them.
+
 * The simplest errors
 ---------------------
 
 For any configure errors: please look at config.log file which was generated
 during configure run, it usually contains some useful information.
 
-configure reports, that you don't have GTK+ 1.2 installed although you are
+configure reports, that you don't have GTK+ 1.2/2.0 installed although you are
 very sure you have. Well, you have installed it, but you also have another
 version of the GTK+ installed, which you may need to remove including other
 versions of glib (and its headers). Or maybe you installed it in a non-default
 location and configure can't find it there, so please check that your PATH
-variable includes the path to the correct gtk-config. Also check that your
-LD_LIBRARY_PATH or equivalent variable contains the path to GTK+ libraries if
-they were installed in a non-default location.
+variable includes the path to the correct gtk-config/pkg-config. Also check
+that your LD_LIBRARY_PATH or equivalent variable contains the path to GTK+
+libraries if they were installed in a non-default location.
 
 You get errors from make: please use GNU make instead of the native make
 program. Currently wxWidgets can be built only with GNU make, BSD make and
@@ -104,9 +105,6 @@ your program - typically you might have the __WXDEBUG__ option set for the
 library but not for your program - or due to using a compiler with optimisation
 bugs.
 
-Linker complains about missing PROIO_yy_flex_alloc and similar symbols: you
-probably have an old version of flex, 2.5.4 is recommended.
-
 * The simplest program
 ----------------------
 
@@ -159,9 +157,8 @@ was actually used by myself, newer version should cause no problems and
 even older ones are expected to work most of the time.
 
 You'll need OS/2 Warp (4.51) or eCS(1.0), X-Free86/2 (3.3.6 or newer),
-GTK+ (1.2.5 or newer), emx (0.9d fix 4), flex (2.5.4), yacc (1.8) or
-bison (1.25), a Unix like shell (pdksh-5.2.14 or ash), Autoconf (2.57),
-GNU file utilities (3.13), GNU text utilities (1.19),
+GTK+ (1.2.5 or newer), emx (0.9d fix 4), a Unix like shell (pdksh-5.2.14 or
+ash), Autoconf (2.57), GNU file utilities (3.13), GNU text utilities (1.19),
 GNU shell utilites (1.12), m4 (1.4), sed (2.05), grep (2.0), Awk (3.0.3),
 GNU Make (3.75).
 
@@ -170,19 +167,19 @@ LIBRARY_PATH set up accordingly, however, wxGTK will even work without it.
 Presence of Posix/2 will be auto-detected.
 
 Open an OS/2 prompt and switch to the directory above.
-Set MAKESHELL (and depending on your installation also INSTALL, for me
-it tends to try to use the system's tcpip\pcomos\install.exe which causes
-problems...) to a Unix like shell, e.g.
+Set MAKESHELL or MAKE_SHELL (which one is needed depends on the version of
+make) to a Unix like shell, e.g.
 SET MAKESHELL=ash
-
-Be warned that depending on the precise version of your make, the
-variable that needs to be set might be MAKE_SHELL instead of MAKESHELL.
 If you have a really deficient version of GNU make, it might even be
 necessary to set SHELL or even COMSPEC to a unix like shell as well. 
+Depending on your installation you might want to also set INSTALL, for me
+it tends to try to use the system's tcpip\pcomos\install.exe which causes
+problems, e.g.
+SET INSTALL=<path_to_src_directory>/install-sh -c
 
 Notice that the delivered configure scripts are fully OS/2 aware, so you
 can simply run
-    ash -c "configure --with-gtk"
+    ash -c "configure --with-gtk=1"
 and make and possibly make install as described above.
 
 * Building wxGTK on SGI
@@ -203,6 +200,20 @@ untested).
 
 The SGI native compiler support has only been tested on Irix 6.5.
 
+* Building wxGTK on Cygwin
+--------------------------
+
+The normal build instructions should work fine on Cygwin. The one difference
+with Cygwin is that when using the "--enable-shared" configure option (which
+is the default) the API is exported explicitly using __declspec(dllexport)
+rather than all global symbols being available.
+
+This shouldn't make a difference using the library and should be a little
+more efficient. However if an export attribute has been missed somewhere you
+will see linking errors. If this happens then you can work around the
+problem by setting LDFLAGS=-Wl,--export-all-symbols. Please also let us know
+about it on the wx-dev mailing list.
+
 * Create your configuration
 ---------------------------
 
@@ -235,7 +246,7 @@ are enabled by default.
 
 Normally, you won't have to choose a toolkit, because when
 you download wxGTK, it will default to --with-gtk etc. But
-if you use all of our CVS repository you have to choose a
+if you use all of our SVN repository you have to choose a
 toolkit. You must do this by running configure with either of:
 
     --with-gtk=2            Use the GTK+ 2.0. Default.
@@ -319,7 +330,7 @@ are
     --with-odbc             Enables ODBC code. This is disabled
                             by default because iODBC is under the
                             L-GPL license which is less liberal than
-                            wxWidgets license.
+                            wxWindows licence.
 
     --without-libpng        Disables PNG image format code.
 
@@ -416,13 +427,13 @@ g++ myfoo.cpp `wx-config --cxxflags --libs` -o myfoo
 Using this way, a make file for the minimal sample would look
 like this
 
-CC = gcc
+CXX = g++
 
 minimal: minimal.o
-       $(CC) -o minimal minimal.o `wx-config --libs`
+       $(CXX) -o minimal minimal.o `wx-config --libs`
 
-minimal.o: minimal.cpp mondrian.xpm
-       $(CC) `wx-config --cxxflags` -c minimal.cpp -o minimal.o
+minimal.o: minimal.cpp
+       $(CXX) `wx-config --cxxflags` -c minimal.cpp -o minimal.o
 
 clean:
        rm -f *.o minimal