Cygwin is available at http://sources.redhat.com/cygwin/
-The makefile might have small problems with Cygwin's tools
-so it is recommended to use MinGW and its toolchain instead
-if possible.
+If you are using Cygwin or MinGW together with the MSYS environment, you
+can build the library using configure (see "Unix ports" and
+"Windows using configure" below). You can also
+build wxWindows without configure using native makefile, but only with
+MinGW. Using Cygwin together with Windows makefile is no longer supported.
+
+If building with Mingw without configure:
-> Set your path so that it includes the directory
where your compiler and tools reside
--> If your are using an old MinGW version (gcc-2.95 or older),
- you might need to fix some headers with the patches contained
- in the wxWin\Mingw32-gcc295.patches file. PLEASE APPLY THESE
- PATCHES BY HAND! There are apparently a few different versions
- of the headers floating around. Note that these patches are
- not needed if you are using MinGW gcc-2.95.2 or newer.
-
--> Edit wx/src/makeg95.env and set the MINGW32 variable at the top of
- the file to either 1 (you have MinGW) or 0 (you have Cygwin).
- Also set the MINGW32VERSION variable appropiately.
+-> Make sure you have GNU Make installed. It must be Windows native version.
+ Download it from http://www.mingw.org, the executable will be called
+ mingw32-make.exe.
+
+-> Modern version of MinGW is required; preferably MinGW 2.0 (with gcc3),
+ but MinGW with gcc-2.95.3 will suffice. If you are using 2.95, you will
+ have to change variable GCC_VERSION in config.gcc (see msw/install.txt
+ for details).
+
+If using configure, Unix instructions apply.
c) Build instructions
and std iostreams are disabled with
#define wxUSE_STD_IOSTREAM 0
--> type: cd c:\wxWin\src\msw
--> type: set WXWIN=c:\wxWin
--> type: make -f makefile.g95 (if using GNU tools)
+-> type: cd c:\wxWin\build\win32
+-> type: make -f makefile.gcc (if using GNU tools)
or type: nmake -f makefile.vc (if using MS VC++)
+etc.
See also docs/msw/install.txt for additional compilation options.
See docs/msw/install.txt for details; in brief
--> type set WXWIN=c:\wxwindows
--> type cd %WXWIN%\src\msw
--> type make -f makefile.b32
+-> type cd %WXWIN%\build\win32
+-> type make -f makefile.bcc
+
+You can customize many things in the build process, detailed description is
+in docs/msw/install.txt.
+
II) Unix ports
--------------
configure to create what is needed.
In order to create configure, you need to have the
-GNU autoconf package (version 2.13 or 2.14) installed
+GNU autoconf package (version > 2.54) installed
on your system and type run "autoconf" in the base
directory (or run the autogen.sh script in the same
-directory, which just calls autoconf).
+directory, which just calls autoconf). Note that you usually don't
+need to do this because configure is included in cVS.
Set WXWIN environment variable to the base directory such
as ~/wxWindows (this is actually not really needed).
registration) in order to download the Developer Tools installer.
In order to create configure, you need to have the
-GNU autoconf package (version 2.13 or 2.14) installed
+GNU autoconf package (version >= 2.54) installed
on your system and type run "autoconf" in the base
directory (or run the autogen.sh script in the same
directory, which just calls autoconf).
-wxWindows 2.4 for GTK installation
+wxWindows 2.5 for GTK installation
----------------------------------
IMPORTANT NOTE:
* The GTK+ 2 case
-----------------
-wxGTK 2.4.0 has support for the new version 2.0.X of GTK+. This means
-that wxGTK apps can now make use Unicode as the underlying encoding
-for all text operations. This is a very fundamental change and will
-need time to stabilize, so be careful. Anyways, after installing a
-recent version of GTK+ 2.0, do this
+wxGTK has support for the new version 2.0.X of GTK+ since version 2.4.0.
+This means that wxGTK apps can now make use Unicode as the underlying encoding
+for all text operations. This is a very fundamental change and will need time
+to stabilize, so be careful. Anyways, after installing a recent version of GTK+
+2.0, do this
> ./configure --with-gtk --enable-gtk2 --enable-unicode
> make
wxWindows/Gtk requires a thread library and X libraries known to work with
threads. This is the case on all commercial Unix-Variants and all
Linux-Versions that are based on glibc 2 except RedHat 5.0 which is broken in
-many aspects. As of writing this, these Linux distributions have correct glibc
-2 support:
-
- - RedHat 5.1
- - Debian 2.0 and 3.0
- - Stampede
- - DLD 6.0
- - SuSE 6.0
+many aspects. As of writing this, virtually all Linux distributions have
+correct glibc 2 support.
You can disable thread support by running
--disable-shared Do not create shared libraries, but
build static libraries instead.
+ --enable-monolithic Build wxWindows as single library instead
+ of as several smaller libraries (which is
+ the default since wxWindows 2.5.0).
+
--disable-optimise Do not optimise the code. Can
sometimes be useful for debugging
and is required on some architectures
--without-libtiff Disables TIFF image format code.
+ --without-expat Disable XML classes based on Expat parser.
+
--disable-pnm Disables PNM image format code.
--disable-gif Disables GIF image format code.
the program of its debugging information resulting in a significant
reduction in size.
+Please see the output of "./configure --help" for comprehensive list
+of all configurable options.
+
+
* Compiling
-----------
This is certain to become the standard way unless we decide
to stick to tmake.
+If your application uses only some of wxWindows libraries, you can
+specify required libraries when running wx-config. For example,
+`wx-config --libs=html,core` will only output link command to link
+with libraries required by core GUI classes and wxHTML classes. See
+the manual for more information on the libraries.
+
2) The other way creates a project within the source code
directories of wxWindows. For this endeavour, you'll need
GNU autoconf version 2.14 and add an entry to your Makefile.in
wxWindows/Motif requires a thread library and X libraries known to work with
threads. This is the case on all commercial Unix-Variants and all
Linux-Versions that are based on glibc 2 except RedHat 5.0 which is broken in
-many aspects. As of writing this, these Linux distributions have correct glibc
-2 support:
-
- - RedHat 5.1
- - Debian 2.0 and 3.0
- - Stampede
- - DLD 6.0
- - SuSE 6.0
-
+many aspects. As of writing this, virtually all Linux distributions have
+correct glibc 2 support.
+
You can disable thread support by running
./configure --disable-threads
--disable-threads Compile without thread support. Threads
support is also required for the
- socket code to work.
+ socket code to work.
--disable-shared Do not create shared libraries.
- --disable-optimise Do not optimise the code. Can
+ --enable-monolithic Build wxWindows as single library instead
+ of as several smaller libraries (which is
+ the default since wxWindows 2.5.0).
+
+ --disable-optimise Do not optimise the code. Can
sometimes be useful for debugging
- and is required on some architectures
- such as Sun with gcc 2.8.X which
- would otherwise produce segvs.
+ and is required on some architectures
+ such as Sun with gcc 2.8.X which
+ would otherwise produce segvs.
--enable-profile Add profiling info to the object
files. Currently broken, I think.
--without-libjpeg Disables JPEG image format code.
--without-odbc Disables ODBC code.
+
+ --without-libtiff Disables TIFF image format code.
+
+ --without-expat Disable XML classes based on Expat parser.
--disable-threads Disables threads. Will also
disable sockets.
the program of its debugging information resulting in a significant
reduction in size.
+Please see the output of "./configure --help" for comprehensive list
+of all configurable options.
+
+
* Compiling
-----------
This is certain to become the standard way unless we decide
to stick to tmake.
+If your application uses only some of wxWindows libraries, you can
+specify required libraries when running wx-config. For example,
+`wx-config --libs=html,core` will only output link command to link
+with libraries required by core GUI classes and wxHTML classes. See
+the manual for more information on the libraries.
+
2) The other way creates a project within the source code
directories of wxWindows. For this endeavour, you'll need
GNU autoconf version 2.14 and add an entry to your Makefile.in
wxWindows/X11 requires a thread library and X libraries known to work with
threads. This is the case on all commercial Unix-Variants and all
Linux-Versions that are based on glibc 2 except RedHat 5.0 which is broken in
-many aspects. As of writing this, these Linux distributions have correct glibc
-2 support:
-
- - RedHat 5.1
- - Debian 2.0 and 3.0
- - Stampede
- - DLD 6.0
- - SuSE 6.0
-
+many aspects. As of writing this, virtually all Linux distributions have
++correct glibc 2 support.
+
You can disable thread support by running
./configure --disable-threads
--disable-shared Do not create shared libraries.
+ --enable-monolithic Build wxWindows as single library instead
+ of as several smaller libraries (which is
+ the default since wxWindows 2.5.0).
+
--disable-optimise Do not optimise the code. Can
sometimes be useful for debugging
and is required on some architectures
--without-libjpeg Disables JPEG image format code.
{ --without-odbc Disables ODBC code. Not yet. }
+
+ --without-expat Disable XML classes based on Expat parser.
--disable-resources Disables the use of *.wxr type
resources.
the program of its debugging information resulting in a significant
reduction in size.
+Please see the output of "./configure --help" for comprehensive list
+of all configurable options.
+
+
* Compiling
-----------
This is certain to become the standard way unless we decide
to stick to tmake.
+If your application uses only some of wxWindows libraries, you can
+specify required libraries when running wx-config. For example,
+`wx-config --libs=html,core` will only output link command to link
+with libraries required by core GUI classes and wxHTML classes. See
+the manual for more information on the libraries.
+
2) The other way creates a project within the source code
directories of wxWindows. For this endeavour, you'll need
GNU autoconf version 2.14 and add an entry to your Makefile.in