From 9a718b8623ff72c59f63cddc30ddb14a0e9bc05e Mon Sep 17 00:00:00 2001 From: Mattia Barbon Date: Sun, 29 Dec 2002 19:32:06 +0000 Subject: [PATCH] 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 --- BuildCVS.txt | 59 +++++++++++++++++------------------------ docs/msw/install.txt | 62 ++++++++++++++++++++++---------------------- 2 files changed, 55 insertions(+), 66 deletions(-) diff --git a/BuildCVS.txt b/BuildCVS.txt index 25e5e53cf7..c630582fcc 100644 --- a/BuildCVS.txt +++ b/BuildCVS.txt @@ -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 diff --git a/docs/msw/install.txt b/docs/msw/install.txt index 847cd4602a..3b613cea80 100644 --- a/docs/msw/install.txt +++ b/docs/msw/install.txt @@ -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 ------------------------ -- 2.45.2