]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/msw/install.txt
compilation fix after TRUE/FALSE change
[wxWidgets.git] / docs / msw / install.txt
index 47babeeec118f00c5eda07059e00191e24f48a49..9663cd19b5bc4dc73d42a559ab0f721464d4d486 100644 (file)
@@ -1,12 +1,12 @@
 
-Installing wxWindows 2.3
-------------------------
+Installing wxWindows 2.3.3
+--------------------------
 
-This is wxWindows 2.3 for Microsoft Windows 9x/ME, Windows NT,
+This is wxWindows 2.3.3 for Microsoft Windows 9x/ME, Windows NT,
 Windows 2000 and Windows XP. This is an unstable development release.
 
 Please note that the library naming conventions for VC++
-compilation have changed between 2.3.1 and 2.3.2. This means that
+compilation have changed after 2.3.1. This means that
 you will need to change your application project files. See the
 relevant section below for details.
 
@@ -135,6 +135,9 @@ Makefile notes:
   this manifested in unexpected link errors or warnings. This problem
   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 ).
+
   Note that the wxWindows core library allows you to have debug
   and release libraries available simultaneously, by compiling the
   objects in different subdirectories, whereas samples must be
@@ -205,16 +208,24 @@ versions of the library and samples.
 Use the 'clean' target to clean all objects, libraries and
 executables.
 
-Borland C++ 4.5/5.0 compilation
+Borland C++ 4.5/5.0/5.5 compilation
 -------------------------------
 
 Compiling using the makefiles:
 
 0. If downloading from CVS, copy include\wx\msw\setup0.h to
    include\wx\setup.h.
-1. Make sure your WXWIN variable is set, and uses the FAT (short
-   name) form if doing a 16-bit compile.
-2. Change directory to wx\src\msw. Type 'make -f makefile.b32' to
+1. Make sure your WXWIN variable is set [e.g add
+   set WXWIN=c:\wxwindows
+   to your autoexec.bat file], and that it uses the FAT (short
+   name) form with no spaces.
+   Make sure your BCCDIR variable is set [e.g add
+   set BCCDIR=c:\progra~1\borland\bcc
+   to your autoexec.bat file], and that it points to the root directory of 
+   your Borland C++ installation, and it uses the FAT (short
+   name) form with no spaces.
+   Reboot if needed for the changes to autoexec.bat to take effect.   
+2. Change directory to src\msw. Type 'make -f makefile.b32' to
    make the wxWindows core library. Ignore the warnings about
    'XXX' not found in library.
 3. Change directory to a sample or demo such as samples\minimal, and type
@@ -255,16 +266,13 @@ you will therefore need to set wxUSE_LIBJPEG to 0 in setup.h and remove
 the jpeg target from src\msw\makefile.b32, and remove jpeg from
 src\makeprog.b32.
 
-Note (6): If using C++Builder 4 and above (BC++ 5.4 and above), change LINK=tlink32 to
-LINK=ilink32 in src\makeb32.env. You may also need to disable
-wxUSE_LIBJPEG because there is a conflict in the BC++ headers
-(actually this problem seems to have gone away with 5.5 and SP1).
+Note (6): [obsolete]
 
 Note (7): If you wish debug messages to be sent to the console in
 debug mode, edit src\makeb32.env and change /aa to /Tpe in
 LINK_FLAGS.
 
-Compiling using the IDE files:
+Compiling using the IDE files: [Borland C++ 5.0, not Cbuilder]
 
 1. Load src\bc32.ide (Release settings)
 2. Go to Options|Project... and specify the correct BC++ include and lib path for
@@ -293,78 +301,6 @@ release version is around 5 MB.
 See also the file docs/tech/tn0007.txt for further instructions and details
 of how to create your own project files.
 
-Borland C++ 5.5 compilation
----------------------------
-
-Before compiling wxWindows with Borland C++ 5.5, there are a few 
-issues concerning the compiler installation: 
-
-1. The compiler must be installed to a path that does not contain 
-   spaces, such as c:\Borland\Bcc55 (in particular, do not install 
-   it below "C:\Program Files").
-
-2. Make sure that you downloaded and installed the service pack 1 
-   for Borland C++ 5.5.  This SP1 can be downloaded from:
-   http://www.borland.com/devsupport/bcppbuilder/patches/#freecompiler55
-
-   IMPORTANT:
-   When installing SP1, make sure that you extract (UnZip) the files 
-   to the directory where you installed Borland C++ 5.5 (e.g., 
-   c:\Borland\Bcc55) with the option "use folder names" selected. 
-   This is necessary, to ensure that the files (mostly include files) 
-   are extracted to the right directory.
-
-3. Create the following two files in the same directory where you 
-   installed Borland C++ 5.5 (e.g., c:\Borland\Bcc55):
-
-   a. bcc32.cfg
-      text file containing the following two lines:
-      -I"c:\Borland\Bcc55\include"
-      -L"c:\Borland\Bcc55\lib"
-
-   b. ilink32.cfg
-      text file containing the following line:
-      -L"c:\Borland\Bcc55\lib"
-
-   (replace c:\Borland\Bcc55 with the actual path where you installed 
-   Borland C++ 5.5)
-
-4. Add the borland BIN directory to your path (e.g., c:\Borland\Bcc55\bin), 
-   and define the environment variable BCCDIR=<Borland C++ 5.5 path>
-   (e.g., set BCCDIR=c:\Borland\Bcc55)
-
-Compiling wxWindows:
-
-Once the compiler and its service pack are properly installed, you build 
-wxWindows using the provided makefile.b32 in the src/msw directory:
-
-a. To build wxWindows in DEBUG mode:
-
-    cd c:\wx2\src\msw
-    make -f makefile.b32
-
-    (replace c:\wx2 with the actual path where you installed wxWindows)
-
-b. To build wxWindows in RELEASE mode:
-
-    cd c:\wx2\src\msw
-    make -f makefile.b32 FINAL=1   
-
-    (if you had previously built wxWindows, you need to clean all of
-    the object and intermediate files.  Before the above make command, 
-    run: 'make -f makefile.b32 CLEANALL')
-
-IMPORTANT:
-The Service Pack 1 for Borland C++ 5.5 must be installed before wxWindows 
-is compiled.  If you compiled wxWindows before, it is advised that you 
-re-compile it following the next steps:
-
-    cd c:\wx2\src\msw
-    make -f makefile.b32 CLEANALL
-    make -f makefile.b32   (or make -f makefile.b32 FINAL=1)
-
-    (replace c:\wx2 with the actual path where you installed wxWindows)
-
 ** REMEMBER **
 
 In all of your wxWindows applications, your source code should include 
@@ -377,7 +313,7 @@ the following preprocessor directive:
 (check the samples -- e.g., \wx2\samples\minimal\minimal.cpp -- for 
 more details) 
 
-Borland C++Builder compilation
+Borland C++Builder IDE compilation
 ------------------------------
 
 1. Build the wxWindows libraries using the Borland make utility as
@@ -388,15 +324,19 @@ Borland C++Builder compilation
 2. You can build samples using the makefiles as per the
    instructions for BC++ above, or you can follow the instructions
    in docs/tech/tn0004.htm or http://biolpc22.york.ac.uk/wx/bc/ide.html.
+   You can use the process_sample_bcb.bat command which is in
+   wxwindows\distrib\msw to generate a .mak or .bpr file for most of the
+   samples [mak for Cbuilder 1-3; bpr for v4]. Execute this in the sample
+   directory, passing the name of the cpp files on the command line.
 
 Watcom C++ 10.6/11 compilation
 ---------------------------
 
 1. Make sure your WXWIN variable is set, and uses the DOS short
    name form.
-2. Change directory to wx\src\msw. Type 'wmake -f makefile.wat' to
+2. Change directory to wx\src\msw. Type 'wmake -f makefile.wat all' to
    make the wxWindows core library.
-3. Change directory to wx\samples\minimal and type 'wmake -f makefile.wat'
+3. Change directory to wx\samples\minimal and type 'wmake -f makefile.wat all'
    to make this sample. Repeat for other samples of interest.
 
 Note (1): makewat.env uses the odbc32.lib supplied in wxWindows' lib\watcom
@@ -470,12 +410,15 @@ releases, and Mingw32.
 Thanks are due to Keith Garry Boyce (garp@opustel.com), Cygnus
 and others for making it all possible.
 
-Both Cygwin and Mingw32 (the minimal distribution of Cygwin) can be used
-with the same makefiles.
+Both Cygwin and MinGW can be used with the same makefiles.
+
+NOTE: some notes specific to old Cygwin ( < 1.1.x )
+      and MinGW ( < 1.0 ) are at the end of this section
+      ( see OLD VERSIONS )
 
 Here are the steps required:
 
-- Retrieve and install the latest beta of Cygwin, or Mingw32, as per the
+- Retrieve and install the latest version of Cygwin, or Mingw32, as per the
   instructions with either of these packages.
 
 - If using Mingw32, you need some extra files to use the wxWindows
@@ -487,49 +430,49 @@ Here are the steps required:
   These should be extracted to the Mingw32 directory. If you have 
   already downloaded rm, cp, mv from elsewhere, you won't need this.
 
-  If using Mingw32 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
-  and above contain the fixes already.
-
-- Modify the file wx/src/cygnus.bat (or mingw32.bat or mingegcs.bat)
-  to set up appropriate variables, if necessary mounting drives.
-  Run it before compiling.
-
-- For Cygwin, make sure there's a \tmp directory on your
-  Windows drive or bison will crash (actually you don't need
-  bison for ordinary wxWindows compilation: a pre-generated .c file is
-  supplied).
-
-- Edit wx/src/makeg95.env and set the MINGW32 variable at the top of
-  the file to either 1 (you have Mingw32 or Cygwin 1.x releases) or 0
-  (if you have Cygwin betas). If using Mingw32, also set the
-  MINGW32VERSION variable appropriately.
-
 - Set your WXWIN variable to where wxWindows is installed.
   *** IMPORTANT: For Cygwin/Mingw32, use forward slashes in the path, not
   backslashes.
 
 - Use the makefile.g95 files for compiling wxWindows and samples,
-  e.g.:
+  e.g. to compile a debugging version of wxWindows:
   > cd c:\wx\src\msw
   > make -f makefile.g95
   > cd c:\wx\samples\minimal
   > make -f makefile.g95
 
+  to compile with optimizations:
+  > cd c:\wx\src\msw
+  > make -f makefile.g95 FINAL=1
+  > cd c:\wx\samples\minimal
+  > make -f makefile.g95 FINAL=1
+
+  to compile a DLL:
+  > cd c:\wx\src\msw
+  > make -f makefile.g95 WXMAKINGDLL=1
+  > cd c:\wx\samples\minimal
+  > make -f makefile.g95 WXUSINGDLL=1
+
+  to compile the Unicode version:
+  > cd c:\wx\src\msw
+  > make -f makefile.g95 UNICODE=1
+  > cd c:\wx\samples\minimal
+  > make -f makefile.g95 UNICODE=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.
 
 - With Cygwin, you can invoke gdb --nw myfile.exe to
   debug an executable. If there are memory leaks, they will be
-  flagged when the program quits.
-
-- If using GnuWin32 b18, you will need to copy windres.exe
-  from e.g. the Mingw32 distribution, to a directory in your path.
+  flagged when the program quits. You can use Cygwin gdb
+  to debug MinGW executables.
 
 All targets have 'clean' targets to allow removal of object files
-and other intermediate compiler files.
+and other intermediate compiler files and 'cleanall' targets to
+allow removal of all object files and library files.
 
 Notes:
 
@@ -571,10 +514,34 @@ Notes:
 
    and similarly for glu[32].def.
 
+OLD VERSIONS:
+
+- If using Mingw32 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
+  and above contain the fixes already.
+
+- Modify the file wx/src/cygnus.bat (or mingw32.bat or mingegcs.bat)
+  to set up appropriate variables, if necessary mounting drives.
+  Run it before compiling.
+
+- For Cygwin, make sure there's a \tmp directory on your
+  Windows drive or bison will crash (actually you don't need
+  bison for ordinary wxWindows compilation: a pre-generated .c file is
+  supplied).
+
+- Edit wx/src/makeg95.env and set the MINGW32 variable at the top of
+  the file to either 1 (you have Mingw32 or Cygwin 1.x releases) or 0
+  (if you have Cygwin betas). If using Mingw32, also set the
+  MINGW32VERSION variable appropriately.
+
+- If using GnuWin32 b18, you will need to copy windres.exe
+  from e.g. the Mingw32 distribution, to a directory in your path.
+
 References:
 
  - The Cygwin site is at
-     http://sourceware.cygnus.com
+     http://sources.redhat.com/cygwin
  - Mingw32 is available at:
      ftp://www.mingw.org