]>
Commit | Line | Data |
---|---|---|
5e9f2524 VS |
1 | |
2 | Expat, Release 1.95.6 | |
3 | ||
4 | This is Expat, a C library for parsing XML, written by James Clark. | |
5 | Expat is a stream-oriented XML parser. This means that you register | |
6 | handlers with the parser before starting the parse. These handlers | |
7 | are called when the parser discovers the associated structures in the | |
8 | document being parsed. A start tag is an example of the kind of | |
9 | structures for which you may register handlers. | |
10 | ||
11 | Windows users should use the expat_win32bin package, which includes | |
12 | both precompiled libraries and executalbes, and source code for | |
13 | developers. | |
14 | ||
15 | Expat is free software. You may copy, distribute, and modify it under | |
16 | the terms of the License contained in the file COPYING distributed | |
17 | with this package. This license is the same as the MIT/X Consortium | |
18 | license. | |
19 | ||
20 | Versions of Expat that have an odd minor version (the middle number in | |
21 | the release above), are development releases and should be considered | |
22 | as beta software. Releases with even minor version numbers are | |
23 | intended to be production grade software. | |
24 | ||
25 | If you are building Expat from a check-out from the CVS repository, | |
26 | you need to run a script that generates the configure script using the | |
27 | GNU autoconf and libtool tools. To do this, you need to have | |
28 | autoconf 2.52 or newer and libtool 1.4 or newer. Run the script like | |
29 | this: | |
30 | ||
31 | ./buildconf.sh | |
32 | ||
33 | Once this has been done, follow the same instructions as for building | |
34 | from a source distribution. | |
35 | ||
36 | To build Expat from a source distribution, you first run the | |
37 | configuration shell script in the top level distribution directory: | |
38 | ||
39 | ./configure | |
40 | ||
41 | There are many options which you may provide to configure (which you | |
42 | can discover by running configure with the --help option). But the | |
43 | one of most interest is the one that sets the installation directory. | |
44 | By default, the configure script will set things up to install | |
45 | libexpat into /usr/local/lib, expat.h into /usr/local/include, and | |
46 | xmlwf into /usr/local/bin. If, for example, you'd prefer to install | |
47 | into /home/me/mystuff/lib, /home/me/mystuff/include, and | |
48 | /home/me/mystuff/bin, you can tell configure about that with: | |
49 | ||
50 | ./configure --prefix=/home/me/mystuff | |
51 | ||
52 | After running the configure script, the "make" command will build | |
53 | things and "make install" will install things into their proper | |
54 | location. Note that you need to have write permission into the | |
55 | directories into which things will be installed. | |
56 | ||
57 | If you are interested in building Expat to provide document | |
58 | information in UTF-16 rather than the default UTF-8, following these | |
59 | instructions: | |
60 | ||
61 | 1. For UTF-16 output as unsigned short (and version/error | |
62 | strings as char), run: | |
63 | ||
64 | ./configure CPPFLAGS=-DXML_UNICODE | |
65 | ||
66 | For UTF-16 output as wchar_t (incl. version/error strings), | |
67 | run: | |
68 | ||
69 | ./configure CFLAGS="-g -O2 -fshort-wchar" \ | |
70 | CPPFLAGS=-DXML_UNICODE_WCHAR_T | |
71 | ||
72 | 2. Edit the MakeFile, changing: | |
73 | ||
74 | LIBRARY = libexpat.la | |
75 | ||
76 | to: | |
77 | ||
78 | LIBRARY = libexpatw.la | |
79 | ||
80 | (Note the additional "w" in the library name.) | |
81 | ||
82 | 3. Run "make buildlib" (which builds the library only). | |
83 | ||
84 | 4. Run "make installlib" (which installs the library only). | |
85 | ||
86 | Note for Solaris users: The "ar" command is usually located in | |
87 | "/usr/ccs/bin", which is not in the default PATH. You will need to | |
88 | add this to your path for the "make" command, and probably also switch | |
89 | to GNU make (the "make" found in /usr/ccs/bin does not seem to work | |
90 | properly -- appearantly it does not understand .PHONY directives). If | |
91 | you're using ksh or bash, use this command to build: | |
92 | ||
93 | PATH=/usr/ccs/bin:$PATH make | |
94 | ||
95 | When using Expat with a project using autoconf for configuration, you | |
96 | can use the probing macro in conftools/expat.m4 to determine how to | |
97 | include Expat. See the comments at the top of that file for more | |
98 | information. | |
99 | ||
100 | A reference manual is available in the file doc/reference.html in this | |
101 | distribution. | |
102 | ||
103 | The homepage for this project is http://www.libexpat.org/. There | |
104 | are links there to connect you to the bug reports page. If you need | |
105 | to report a bug when you don't have access to a browser, you may also | |
106 | send a bug report by email to expat-bugs@mail.libexpat.org. | |
107 | ||
108 | Discussion related to the direction of future expat development takes | |
109 | place on expat-discuss@mail.libexpat.org. Archives of this list and | |
110 | other Expat-related lists may be found at: | |
111 | ||
112 | http://mail.libexpat.org/mailman-21/listinfo/ |