(metux) gitignore update
[mirror-ossqm-expat.git] / win32 / README.txt
blob77a94bc73dee5ef3754982c0d207a14e4ceda0ce
2 Expat can be built on Windows in three ways: 
3   using MS Visual C++ (6.0 or .NET), Borland C++ Builder 5 or Cygwin.
5 * Cygwin:
6   This follows the Unix build procedures.
8 * C++ Builder 5:
9   Possible with make files in the BCB5 subdirectory.
10   Details can be found in the ReadMe file located there.
12 * MS Visual C++ 6:
13   Based on the workspace file expat.dsw. The related project
14   files (.dsp) are located in the lib subdirectory.
16 * MS Visual Studio .NET 2002, 2003, 2005:
17   The VC++ 6 workspace file (expat.dsw) and project files (.dsp)
18   can be opened and imported in VS.NET without problems.
20 * All MS C/C++ compilers:
21   The output for all projects will be generated in the win32\bin
22   directory, intermediate files will be located in project-specific
23   subdirectories of win32\tmp.
24   
25 * Creating MinGW dynamic libraries from MS VC++ DLLs:
26   
27   On the command line, execute these steps:
28   pexports libexpat.dll > expat.def
29   pexports libexpatw.dll > expatw.def
30   dlltool -d expat.def -l libexpat.a
31   dlltool -d expatw.def -l libexpatw.a
32   
33   The *.a files are mingw libraries.
35 * Special note about MS VC++ and runtime libraries:
37   There are three possible configurations: using the
38   single threaded or multithreaded run-time library,
39   or using the multi-threaded run-time Dll. That is, 
40   one can build three different Expat libraries depending
41   on the needs of the application.
43   Dynamic Linking:
45   By default the Expat Dlls are built to link statically
46   with the multi-threaded run-time library. 
47   The libraries are named
48   - libexpat(w).dll 
49   - libexpat(w).lib (import library)
50   The "w" indicates the UTF-16 version of the library.
52   One rarely uses other versions of the Dll, but they can
53   be built easily by specifying a different RTL linkage in
54   the IDE on the C/C++ tab under the category Code Generation.
56   Static Linking:
58   The libraries should be named like this:
59   Single-theaded:     libexpat(w)ML.lib
60   Multi-threaded:     libexpat(w)MT.lib
61   Multi-threaded Dll: libexpat(w)MD.lib
62   The suffixes conform to the compiler switch settings
63   /ML, /MT and /MD for MS VC++.
64   
65   Note: In Visual Studio 2005 (Visual C++ 8.0) and later, the
66   single-threaded runtime library is not supported anymore.
68   By default, the expat-static and expatw-static projects are set up
69   to link statically against the multithreaded run-time library,
70   so they will build libexpatMT.lib or libexpatwMT.lib files.
72   To build the other versions of the static library, 
73   go to Project - Settings:
74   - specify a different RTL linkage on the C/C++ tab
75     under the category Code Generation.
76   - then, on the Library tab, change the output file name
77     accordingly, as described above
79   An application linking to the static libraries must
80   have the global macro XML_STATIC defined.