xmlreaderimpl/support/expat-2.0.1/README
changeset 300 b6d834208d33
parent 299 f06c5eba524d
child 301 1bfe4ecc6c10
equal deleted inserted replaced
299:f06c5eba524d 300:b6d834208d33
     1 
       
     2                         Expat, Release 2.0.1
       
     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 executables, 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 (1.5 or newer preferred).
       
    29 Run the script like 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 Another interesting option is to enable 64-bit integer support for
       
    53 line and column numbers and the over-all byte index:
       
    54 
       
    55         ./configure CPPFLAGS=-DXML_LARGE_SIZE
       
    56         
       
    57 However, such a modification would be a breaking change to the ABI
       
    58 and is therefore not recommended for general use - e.g. as part of
       
    59 a Linux distribution - but rather for builds with special requirements.
       
    60 
       
    61 After running the configure script, the "make" command will build
       
    62 things and "make install" will install things into their proper
       
    63 location.  Have a look at the "Makefile" to learn about additional
       
    64 "make" options.  Note that you need to have write permission into
       
    65 the directories into which things will be installed.
       
    66 
       
    67 If you are interested in building Expat to provide document
       
    68 information in UTF-16 rather than the default UTF-8, follow these
       
    69 instructions (after having run "make distclean"):
       
    70 
       
    71         1. For UTF-16 output as unsigned short (and version/error
       
    72            strings as char), run:
       
    73 
       
    74                ./configure CPPFLAGS=-DXML_UNICODE
       
    75 
       
    76            For UTF-16 output as wchar_t (incl. version/error strings),
       
    77            run:
       
    78 
       
    79                ./configure CFLAGS="-g -O2 -fshort-wchar" \
       
    80                            CPPFLAGS=-DXML_UNICODE_WCHAR_T
       
    81 
       
    82         2. Edit the MakeFile, changing:
       
    83 
       
    84                LIBRARY = libexpat.la
       
    85 
       
    86            to:
       
    87 
       
    88                LIBRARY = libexpatw.la
       
    89 
       
    90            (Note the additional "w" in the library name.)
       
    91 
       
    92         3. Run "make buildlib" (which builds the library only).
       
    93            Or, to save step 2, run "make buildlib LIBRARY=libexpatw.la".
       
    94 
       
    95         4. Run "make installlib" (which installs the library only).
       
    96            Or, if step 2 was omitted, run "make installlib LIBRARY=libexpatw.la".
       
    97            
       
    98 Using DESTDIR or INSTALL_ROOT is enabled, with INSTALL_ROOT being the default
       
    99 value for DESTDIR, and the rest of the make file using only DESTDIR.
       
   100 It works as follows:
       
   101    $ make install DESTDIR=/path/to/image
       
   102 overrides the in-makefile set DESTDIR, while both
       
   103    $ INSTALL_ROOT=/path/to/image make install
       
   104    $ make install INSTALL_ROOT=/path/to/image
       
   105 use DESTDIR=$(INSTALL_ROOT), even if DESTDIR eventually is defined in the
       
   106 environment, because variable-setting priority is
       
   107 1) commandline
       
   108 2) in-makefile
       
   109 3) environment           
       
   110 
       
   111 Note for Solaris users:  The "ar" command is usually located in
       
   112 "/usr/ccs/bin", which is not in the default PATH.  You will need to
       
   113 add this to your path for the "make" command, and probably also switch
       
   114 to GNU make (the "make" found in /usr/ccs/bin does not seem to work
       
   115 properly -- appearantly it does not understand .PHONY directives).  If
       
   116 you're using ksh or bash, use this command to build:
       
   117 
       
   118         PATH=/usr/ccs/bin:$PATH make
       
   119 
       
   120 When using Expat with a project using autoconf for configuration, you
       
   121 can use the probing macro in conftools/expat.m4 to determine how to
       
   122 include Expat.  See the comments at the top of that file for more
       
   123 information.
       
   124 
       
   125 A reference manual is available in the file doc/reference.html in this
       
   126 distribution.
       
   127 
       
   128 The homepage for this project is http://www.libexpat.org/.  There
       
   129 are links there to connect you to the bug reports page.  If you need
       
   130 to report a bug when you don't have access to a browser, you may also
       
   131 send a bug report by email to expat-bugs@mail.libexpat.org.
       
   132 
       
   133 Discussion related to the direction of future expat development takes
       
   134 place on expat-discuss@mail.libexpat.org.  Archives of this list and
       
   135 other Expat-related lists may be found at:
       
   136 
       
   137         http://mail.libexpat.org/mailman/listinfo/