git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22613
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
Cygwin is available at http://sources.redhat.com/cygwin/
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
-> 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.
and std iostreams are disabled with
#define wxUSE_STD_IOSTREAM 0
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++)
or type: nmake -f makefile.vc (if using MS VC++)
See also docs/msw/install.txt for additional compilation options.
See also docs/msw/install.txt for additional compilation options.
See docs/msw/install.txt for details; in brief
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
--------------
II) Unix ports
--------------
configure to create what is needed.
In order to create configure, you need to have the
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
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).
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
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).
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:
----------------------------------
IMPORTANT NOTE:
* The GTK+ 2 case
-----------------
* 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
> ./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
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
You can disable thread support by running
--disable-shared Do not create shared libraries, but
build static libraries instead.
--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
--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-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.
--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.
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.
+
+
This is certain to become the standard way unless we decide
to stick to tmake.
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
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
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
You can disable thread support by running
./configure --disable-threads
--disable-threads Compile without thread support. Threads
support is also required for the
--disable-threads Compile without thread support. Threads
support is also required for the
--disable-shared Do not create shared libraries.
--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
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.
--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-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.
--disable-threads Disables threads. Will also
disable sockets.
the program of its debugging information resulting in a significant
reduction in size.
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.
+
+
This is certain to become the standard way unless we decide
to stick to tmake.
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
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
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
You can disable thread support by running
./configure --disable-threads
--disable-shared Do not create shared libraries.
--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
--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-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.
--disable-resources Disables the use of *.wxr type
resources.
the program of its debugging information resulting in a significant
reduction in size.
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.
+
+
This is certain to become the standard way unless we decide
to stick to tmake.
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
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