X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/84b625288d80ea17c1035399ca8d7f3003618a1b..92d00a3615b1e598cac48b2f608be1bf32b27057:/docs/gtk/install.txt diff --git a/docs/gtk/install.txt b/docs/gtk/install.txt index 323b695278..71a6600710 100644 --- a/docs/gtk/install.txt +++ b/docs/gtk/install.txt @@ -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.0, gcc 2.95.4, Redhat 6.2 + example: wxGTK 2.8.0, gcc 3.4.5, Fedora Core 4 * The simplest case ------------------- @@ -26,29 +26,19 @@ install instructions just do (in the base dir): > su > make install > ldconfig -> exit +[if you get "ldconfig: command not found", try using "/sbin/ldconfig"] -Afterwards you can continue with: - -> make -> su -> make install -> ldconfig -> exit - -(If you don't do the 'make install' part, you can still -use the libraries from the buildgtk directory, but they -will not be available to other users.) +If you don't do the 'make install' part, you can still use the libraries from +the buildgtk directory, but they may not be available to other users. If you want to remove wxWidgets on Unix you can do this: > su > make uninstall > ldconfig -> exit -Note that by default, GTK+ 2 is used. GTK+ 1 can be specified -with --with-gtk1. +Note that by default, GTK+ 2.X is used. GTK+ 1.2 can be specified +with --with-gtk=1. * The expert case ----------------- @@ -58,45 +48,46 @@ 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 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: -md buildmotif +mkdir buildmotif cd buildmotif ../configure --with-motif make cd .. -md buildgtk +mkdir buildgtk cd buildgtk ../configure --with-gtk make cd .. -md buildgtkd +mkdir buildgtkd cd buildgtkd ../configure --with-gtk --enable-debug 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 non default +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 @@ -114,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 ---------------------- @@ -128,8 +116,9 @@ g++ myfoo.cpp `wx-config --libs --cxxflags` -o myfoo --------------- wxWidgets/GTK+ requires the GTK+ library to be installed on your system. It has -to be a stable version, preferably version 1.2.10 (at least 1.2.3 is required, -1.2.7 is strongly recommended). +to be a stable version, preferably GTK+ 2.x.y, where x is an even number. +GTK+ version 1.2 is highly discouraged, but if you decide to still use it, +please use version 1.2.10 (at least 1.2.3 is required, 1.2.7 is strongly recommended). You can get the newest version of the GTK+ from the GTK+ homepage at: @@ -168,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). @@ -179,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=/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 @@ -212,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 --------------------------- @@ -219,7 +221,7 @@ Usage: ./configure options If you want to use system's C and C++ compiler, -set environment variables CC and CCC as +set environment variables CC and CXX as % setenv CC cc % setenv CXX CC @@ -244,12 +246,11 @@ 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 Use the GIMP ToolKit (GTK+). Default. - --with-gtk2 Use the GTK+ 2.0. Default. - --with-gtk1 Use the GTK+ 1.2. Default. + --with-gtk=2 Use the GTK+ 2.0. Default. + --with-gtk=1 Use the GTK+ 1.2. --with-motif Use either Motif or Lesstif Configure will look for both. @@ -270,7 +271,7 @@ The following options handle the kind of library you want to build. such as Sun with gcc 2.8.X which would otherwise produce segvs. - --enable-unicode Enable Unicode support. Default for GTK+2.0 + --enable-unicode Enable Unicode support. --enable-profile Add profiling info to the object files. Currently broken, I think. @@ -329,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. @@ -426,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