Small updates:

corrected some URLS, used correct/current capitalisation for MinGW and
Cygwin, plus some minor clarifications.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18454 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Mattia Barbon 2002-12-29 19:32:06 +00:00
parent 916095ba21
commit 9a718b8623
2 changed files with 55 additions and 66 deletions

View File

@ -19,30 +19,29 @@ varaibles and PATH entries.
Continue with item c) below.
b) If using the GNU Mingw32 or GNU Cygwin32 compilers
b) If using the MinGW or Cygwin compilers
You can get Mingw32 from http://www.mingw.org
You can get MinGW from http://www.mingw.org/
Cygwin32 is available at http://www.cygwin.com
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 Mingw32 and its toolchain instead
so it is recommended to use MinGW and its toolchain instead
if possible.
-> Set your path so that it includes the directory
where your compiler and tools reside
-> If your are using an old Mingw32 version (gcc-2.95 or older),
-> 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 Mingw32 gcc-2.95.2 or newer.
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 Mingw32) or 0 (you have Cygwin32).
If using MINGW32, also set the MINGW32VERSION variable
appropiately.
the file to either 1 (you have MinGW) or 0 (you have Cygwin).
Also set the MINGW32VERSION variable appropiately.
c) Build instructions
@ -51,19 +50,8 @@ c) Build instructions
into c:\wxWin
-> Copy c:\wxWin\include\wx\msw\setup0.h
to c:\wxWin\include\wx\msw\setup.h
-> Edit c:\wxWin\include\wx\msw\setup.h so that
most features are enabled (i.e. defined to 1), for example:
#define wxUSE_ODBC 0
#define wxUSE_SOCKETS 1
#define wxUSE_HTML 1
#define wxUSE_THREADS 1
#define wxUSE_FS_INET 0
#define wxUSE_FS_ZIP 1
#define wxUSE_BUSYINFO 1
#define wxUSE_DYNLIB_CLASS 1
#define wxUSE_ZIPSTREAM 1
#define wxUSE_LIBJPEG 1
#define wxUSE_LIBPNG 1
-> Edit c:\wxWin\include\wx\msw\setup.h to choose
the features you would like to compile wxWindows with[out].
and std iostreams are disabled with
#define wxUSE_STD_IOSTREAM 0
@ -72,6 +60,8 @@ c) Build instructions
-> type: make -f makefile.g95 (if using GNU tools)
or type: nmake -f makefile.vc (if using MS VC++)
See also docs/msw/install.txt for additional compilation options.
d) Borland (including free command line tools)
Download tools from http://www.borland.com/downloads/
@ -117,11 +107,10 @@ yet complete).
III) Windows using configure
----------------------------------------
Take a look at Unix->Windows cross compiling. With minor
modifications, this should work in Windows if you've got the cygnus
utilities (bash, GNU make, etc) and either mingw32 or cygwin32 installed.
See http://www.cygnus.com for these programs, or go straight to their
ftp server at ftp://sourceware.cygnus.com/pub/cygwin/.
wxWindows can be built on Windows using MSYS (see
http://www.mingw.org/), which is a POSIX build environment
for Windows. With MSYS you can just ./configure && make (see also VII,
Unix->Windows cross-compiling using configure).
Of course, you can also build the library using plain makefiles (see
section I).
@ -168,17 +157,17 @@ VI) OS/2
VII) Unix->Windows cross-compiling using configure
--------------------------------------------------
First you'll need a cross-compiler; linux glibc binaries of mingw32 and
cygwin32 (both based on egcs) can be found at
First you'll need a cross-compiler; linux glibc binaries of MinGW and
Cygwin (both based on egcs) can be found at
ftp://ftp.objsw.com/pub/crossgcc/linux-x-win32. Alternative binaries,
based on the latest MinGW release can be found at
http://members.telering.at/jessich/mingw/mingwcross/mingw_cross.html
http://members.telering.at/jessich/mingw/mingwcross/mingw_cross.html
Otherwise you can compile one yourself.
[ A Note about cygwin32 and mingw32: the main difference is that cygwin32
[ A Note about Cygwin and MinGW: the main difference is that Cygwin
binaries are always linked against cygwin.dll. This dll encapsulates most
standard Unix C extensions, which is very handy if you're porting unix
software to windows. However, wxMSW doesn't need this, so mingw32 is
software to windows. However, wxMSW doesn't need this, so MinGW is
preferable if you write portable C(++). ]
You might want to build both Unix and Windows binaries in the same source
@ -203,7 +192,7 @@ yourself:
DLLTOOL=i586-mingw32-dlltool LD=i586-mingw32-ld NM=i586-mingw32-nm \
../configure --host=i586-mingw32 --with-mingw
(all assuming you're using mingw32)
(all assuming you're using MinGW)
By default this will compile a DLL, if you want a static library,
specify --disable-shared.
@ -215,7 +204,7 @@ will be a compile error :-)
NB: if you are using a very old compiler you risk to get quite a few warnings
about "ANSI C++ forbids implicit conversion from 'void *'" in all places
where va_arg macro is used. This is due to a bug in (some versions of)
mingw32 headers which may be corrected by upgrading your compier,
MinGW headers which may be corrected by upgrading your compier,
otherwise you might edit the file
${install_prefix}/lib/gcc-lib/i586-mingw32/egcs-2.91.57/include/stdarg.h
@ -238,7 +227,7 @@ typedef void *__gnuc_va_list;
__gnuc_va_list is char *.
If this is successful, you end up with a wx23_2.dll/libwx23_2.a in win32/lib
( or just libwx_msw.a if you opted for a static build ).
(or just libwx_msw.a if you opted for a static build).
Now try building the minimal sample:
-> cd samples/minimal

View File

@ -63,7 +63,7 @@ General installation notes
--------------------------
Alter your WXWIN environment variable to point to the root directory of the
wxWindows installation. For Cygwin or Mingw32 compilation, make sure WXWIN
wxWindows installation. For Cygwin or MinGW compilation, make sure WXWIN
contains only forward slashes.
If installing from the CVS server, copy include/wx/msw/setup0.h to
@ -154,7 +154,7 @@ Makefile notes:
doesn't occur when using project files to build wxWindows.
To build Unicode versions of the libraries, add UNICODE=1
to the nmake invocation ( default is UNICODE=0 ). If you want to
to the nmake invocation (default is UNICODE=0). If you want to
be able to use Unicode version on Windows9x, you will need
MSLU (Microsoft Layer for Unicode) runtime DLL and import lib.
The former can be downloaded from Microsoft, the latter is part
@ -172,7 +172,7 @@ Makefile notes:
To build the DLL version using makefiles:
1. Change directory to wx\src\msw. Type 'nmake -f makefile.vc dll pch'
1. Change directory to wx\src\msw. Type 'nmake -f makefile.vc dll'
to make both a suitable DLL and import library, and to build a
suitable precompiled header file for compiling applications.
See the previous section for library names.
@ -468,34 +468,34 @@ Metrowerks CodeWarrior compilation
minimal.rc and minimal.cpp and adding the files griddemo.rc and
griddemo.cpp. Build and run....
Cygwin/Mingw32 compilation
Cygwin/MinGW compilation
----------------------------------
wxWindows 2 supports Cygwin (formerly GnuWin32) betas and
releases, and Mingw32. Cygwin can be downloaded from:
releases, and MinGW. Cygwin can be downloaded from:
http://sources.redhat.com/cygwin
http://sources.redhat.com/cygwin/
and Mingw32 from:
and MinGW from:
http://www.mingw.org
http://www.mingw.org/
Both Cygwin and MinGW can be used with the same makefiles.
Both Cygwin and MinGW can be used with the same makefiles, and both can be
used with configure.
NOTE: some notes specific to old Cygwin ( < 1.1.x )
and MinGW ( < 1.0 ) are at the end of this section
( see OLD VERSIONS )
NOTE: some notes specific to old Cygwin (< 1.1.x)
and MinGW (< 1.0) are at the end of this section
(see OLD VERSIONS)
There are two methods of compiling wxWindows, by using the
makefiles provided or by using 'configure'.
Retrieve and install the latest version of Cygwin, or Mingw32, as per
Retrieve and install the latest version of Cygwin, or MinGW, as per
the instructions with either of these packages.
If using Mingw32, you can download the add-on MSYS package to
If using MinGW, you can download the add-on MSYS package to
provide Unix-like tools that you'll need to build wxWindows.
The solution prior to MSYS was to download extra utilities from
If you do not want to use MSYS, then you need to download extra utilities from
ports/mingw32 on the wxWindows ftp site or CD-ROM:
ftp://biolpc22.york.ac.uk/pub/ports/mingw32/extra.zip
@ -530,13 +530,13 @@ NOTE: The makefile are for compilation under Cygwin, MSYS, or
Here are the steps required using the provided makefiles:
- Set your WXWIN variable to where wxWindows is installed.
*** IMPORTANT: For Cygwin/Mingw32, use forward slashes in the path, not
*** IMPORTANT: For Cygwin/MinGW, use forward slashes in the path, not
backslashes.
- Edit src/makeg95.env and set the MINGW32 variable at the top of
the file to either 1 (you have Mingw32) or 0 (if you have
Cygwin). If using Mingw32, also set the MINGW32VERSION variable
appropriately.
the file to either 1 (you have MinGW) or 0 (if you have
Cygwin); also set the MINGW32VERSION variable appropriately for your
GCC version.
- Use the makefile.g95 files for compiling wxWindows and samples,
e.g. to compile a debugging version of wxWindows:
@ -571,11 +571,12 @@ Here are the steps required using the provided makefiles:
> make -f makefile.g95 cleanall
> make -f makefile.g95 UNICODE=1
Options can be combined ( e.g.: UNICODE=1 FINAL=1 )
Options can be combined (e.g.: UNICODE=1 FINAL=1)
Ignore the warning about the default entry point.
- Use the 'strip' command to reduce executable size.
- Use the 'strip' command to reduce executable/dll size (note that
stripping an executable/dll will remove debug information!).
- With Cygwin, you can invoke gdb --nw myfile.exe to
debug an executable. If there are memory leaks, they will be
@ -594,8 +595,7 @@ system to generate appropriate makefiles, as used on Unix
and Mac OS X systems.
Change directory to the root of the wxWindows distribution,
make a build directory, run 'sh', and then from this shell
run configure and make.
make a build directory, and run configure and make in this directory.
For example:
@ -610,13 +610,13 @@ For example:
Notes:
1. See also the Cygwin/Mingw32 on the web site or CD-ROM for
1. See also the Cygwin/MinGW on the web site or CD-ROM for
further information about using wxWindows with these compilers.
2. libwx.a is 100 MB or more - but much less if compiled with no
debug info (-g0) and level 4 optimization (-O4).
3. If you get a link error under Mingw32 2.95.2 referring to:
3. If you get a link error under MinGW 2.95.2 referring to:
EnumDAdvise__11IDataObjectPP13IEnumSTATDATA@8
@ -625,7 +625,7 @@ Notes:
STDMETHOD(EnumDAdvise)(THIS_ IEnumSTATDATA**) PURE;
4. There's a bug in Mingw32 headers for some early distributions.
4. There's a bug in MinGW headers for some early distributions.
in include/windows32/defines.h, where it says:
@ -644,7 +644,7 @@ Notes:
6. If there's a problem executing the windres program, try
commenting out RCPREPROCESSOR in makeg95.env.
7. OpenGL support should work with Mingw32 as-is. However,
7. OpenGL support should work with MinGW as-is. However,
if you wish to generate import libraries appropriate either for
the MS OpenGL libraries or the SGI OpenGL libraries, go to
include/wx/msw/gl and use:
@ -659,9 +659,9 @@ Notes:
OLD VERSIONS:
- If using Mingw32 2.95 and below with wxWindows 2.1 or above, you
- If using MinGW 2.95 and below with wxWindows 2.1 or above, you
must hand-patch with Mingw32-gcc295.patches (located in the
top-level of the wxWindows 2 installation). Mingw32 2.95.2
top-level of the wxWindows 2 installation). MinGW 2.95.2
and above contain the fixes already.
- Modify the file wx/src/cygnus.bat (or mingw32.bat or mingegcs.bat)
@ -674,7 +674,7 @@ OLD VERSIONS:
supplied).
- If using GnuWin32 b18, you will need to copy windres.exe
from e.g. the Mingw32 distribution, to a directory in your path.
from e.g. the MinGW distribution, to a directory in your path.
Symantec C++ compilation
------------------------